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: