LLVM: llvm::MCSectionELF Class Reference (original) (raw)

This represents a section on linux, lots of unix variants and some bare metal systems. More...

#include "[llvm/MC/MCSectionELF.h](MCSectionELF%5F8h%5Fsource.html)"

Public Member Functions
bool shouldOmitSectionDirective (StringRef Name, const MCAsmInfo &MAI) const
Decides whether a '.section' directive should be printed before the section name.
unsigned getType () const
unsigned getFlags () const
unsigned getEntrySize () const
void setFlags (unsigned F)
const MCSymbolELF * getGroup () const
bool isComdat () const
void printSwitchToSection (const MCAsmInfo &MAI, const Triple &T, raw_ostream &OS, uint32_t Subsection) const override
bool useCodeAlign () const override
Return true if a .align directive should use "optimized nops" to fill instead of 0s.
StringRef getVirtualSectionKind () const override
bool isUnique () const
unsigned getUniqueID () const
const MCSection * getLinkedToSection () const
const MCSymbol * getLinkedToSymbol () const
void setOffsets (uint64_t Start, uint64_t End)
std::pair< uint64_t, uint64_t > getOffsets () const
- Public Member Functions inherited from llvm::MCSection
MCSection (const MCSection &)=delete
MCSection & operator= (const MCSection &)=delete
StringRef getName () const
bool isText () const
SectionVariant getVariant () const
MCSymbol * getBeginSymbol ()
const MCSymbol * getBeginSymbol () const
void setBeginSymbol (MCSymbol *Sym)
MCSymbol * getEndSymbol (MCContext &Ctx)
bool hasEnded () const
Align getAlign () const
void setAlignment (Align Value)
void ensureMinAlignment (Align MinAlignment)
Makes sure that Alignment is at least MinAlignment.
unsigned getOrdinal () const
void setOrdinal (unsigned Value)
BundleLockStateType getBundleLockState () const
void setBundleLockState (BundleLockStateType NewState)
bool isBundleLocked () const
bool isBundleGroupBeforeFirstInst () const
void setBundleGroupBeforeFirstInst (bool IsFirst)
bool hasInstructions () const
void setHasInstructions (bool Value)
bool hasLayout () const
void setHasLayout (bool Value)
bool isRegistered () const
void setIsRegistered (bool Value)
const MCDummyFragment & getDummyFragment () const
MCDummyFragment & getDummyFragment ()
FragList * curFragList () const
iterator begin () const
iterator end () const
void dump () const
virtual void printSwitchToSection (const MCAsmInfo &MAI, const Triple &T, raw_ostream &OS, uint32_t Subsection) const =0
virtual bool useCodeAlign () const =0
Return true if a .align directive should use "optimized nops" to fill instead of 0s.
bool isVirtualSection () const
Check whether this section is "virtual", that is has no actual object file contents.
virtual StringRef getVirtualSectionKind () const
Additional Inherited Members
- Public Types inherited from llvm::MCSection
enum SectionVariant { SV_COFF = 0 , SV_ELF, SV_GOFF, SV_MachO, SV_Wasm, SV_XCOFF, SV_SPIRV, SV_DXContainer }
enum BundleLockStateType { NotBundleLocked, BundleLocked, BundleLockedAlignToEnd }
Express the state of bundle locked groups while emitting code. More...
- Public Attributes inherited from llvm::MCSection
friend MCAssembler
friend MCObjectStreamer
- Static Public Attributes inherited from llvm::MCSection
static constexpr unsigned NonUniqueID = ~0U
- Protected Member Functions inherited from llvm::MCSection
MCSection (SectionVariant V, StringRef Name, bool IsText, bool IsVirtual, MCSymbol *Begin)
~MCSection ()
- Protected Attributes inherited from llvm::MCSection
StringRef Name
SectionVariant Variant

This represents a section on linux, lots of unix variants and some bare metal systems.

Definition at line 27 of file MCSectionELF.h.

classof()

getEntrySize()

unsigned llvm::MCSectionELF::getEntrySize ( ) const inline

getFlags()

unsigned llvm::MCSectionELF::getFlags ( ) const inline

getGroup()

getLinkedToSection()

const MCSection * llvm::MCSectionELF::getLinkedToSection ( ) const inline

getLinkedToSymbol()

const MCSymbol * llvm::MCSectionELF::getLinkedToSymbol ( ) const inline

getOffsets()

getType()

unsigned llvm::MCSectionELF::getType ( ) const inline

getUniqueID()

unsigned llvm::MCSectionELF::getUniqueID ( ) const inline

getVirtualSectionKind()

StringRef MCSectionELF::getVirtualSectionKind ( ) const overridevirtual

isComdat()

bool llvm::MCSectionELF::isComdat ( ) const inline

isUnique()

bool llvm::MCSectionELF::isUnique ( ) const inline

printSwitchToSection()

Implements llvm::MCSection.

Definition at line 53 of file MCSectionELF.cpp.

References assert(), llvm::MCAsmInfo::getCommentString(), llvm::MCSection::getName(), llvm::MCSymbol::getName(), llvm::Triple::hexagon, isComdat(), isUnique(), OS, printName(), llvm::ELF::SHF_ALLOC, llvm::ELF::SHF_ARM_PURECODE, llvm::ELF::SHF_EXCLUDE, llvm::ELF::SHF_EXECINSTR, llvm::ELF::SHF_GNU_RETAIN, llvm::ELF::SHF_GROUP, llvm::ELF::SHF_HEX_GPREL, llvm::ELF::SHF_LINK_ORDER, llvm::ELF::SHF_MERGE, llvm::ELF::SHF_STRINGS, llvm::ELF::SHF_SUNW_NODISCARD, llvm::ELF::SHF_TLS, llvm::ELF::SHF_WRITE, llvm::ELF::SHF_X86_64_LARGE, shouldOmitSectionDirective(), llvm::ELF::SHT_FINI_ARRAY, llvm::ELF::SHT_INIT_ARRAY, llvm::ELF::SHT_LLVM_BB_ADDR_MAP, llvm::ELF::SHT_LLVM_BB_ADDR_MAP_V0, llvm::ELF::SHT_LLVM_CALL_GRAPH_PROFILE, llvm::ELF::SHT_LLVM_DEPENDENT_LIBRARIES, llvm::ELF::SHT_LLVM_JT_SIZES, llvm::ELF::SHT_LLVM_LINKER_OPTIONS, llvm::ELF::SHT_LLVM_LTO, llvm::ELF::SHT_LLVM_ODRTAB, llvm::ELF::SHT_LLVM_OFFLOADING, llvm::ELF::SHT_LLVM_SYMPART, llvm::ELF::SHT_MIPS_DWARF, llvm::ELF::SHT_NOBITS, llvm::ELF::SHT_NOTE, llvm::ELF::SHT_PREINIT_ARRAY, llvm::ELF::SHT_PROGBITS, llvm::ELF::SHT_X86_64_UNWIND, llvm::MCAsmInfo::usesSunStyleELFSectionSwitchSyntax(), llvm::Twine::utohexstr(), llvm::Triple::x86_64, llvm::Triple::xcore, llvm::ELF::XCORE_SHF_CP_SECTION, and llvm::ELF::XCORE_SHF_DP_SECTION.

setFlags()

void llvm::MCSectionELF::setFlags ( unsigned F) inline

setOffsets()

shouldOmitSectionDirective()

useCodeAlign()

bool MCSectionELF::useCodeAlign ( ) const overridevirtual

MCContext


The documentation for this class was generated from the following files: