LLVM 18.0.0git
|
This represents a section on linux, lots of unix variants and some bare metal systems. More...
#include "llvm/MC/MCSectionELF.h"
Static Public Member Functions | |
static bool | classof (const MCSection *S) |
![]() | |
static FragmentListType MCSection::* | getSublistAccess (MCFragment *) |
Support for MCFragment::getNextNode(). | |
Friends | |
class | MCContext |
Additional Inherited Members | |
![]() | |
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... | |
using | FragmentListType = iplist< MCFragment > |
using | const_iterator = FragmentListType::const_iterator |
using | iterator = FragmentListType::iterator |
using | const_reverse_iterator = FragmentListType::const_reverse_iterator |
using | reverse_iterator = FragmentListType::reverse_iterator |
![]() | |
static constexpr unsigned | NonUniqueID = ~0U |
![]() | |
MCSection (SectionVariant V, StringRef Name, SectionKind K, MCSymbol *Begin) | |
~MCSection () | |
![]() | |
StringRef | Name |
SectionVariant | Variant |
SectionKind | Kind |
This represents a section on linux, lots of unix variants and some bare metal systems.
Definition at line 26 of file MCSectionELF.h.
Definition at line 94 of file MCSectionELF.h.
References llvm::MCSection::getVariant(), and llvm::MCSection::SV_ELF.
|
inline |
Definition at line 74 of file MCSectionELF.h.
|
inline |
Definition at line 73 of file MCSectionELF.h.
Referenced by useCodeAlign().
|
inline |
Definition at line 76 of file MCSectionELF.h.
References llvm::PointerIntPair< PointerTy, IntBits, IntType, PtrTraits, Info >::getPointer().
Referenced by llvm::MCObjectFileInfo::getBBAddrMapSection(), llvm::MCObjectFileInfo::getKCFITrapSection(), and llvm::MCObjectFileInfo::getStackSizesSection().
Definition at line 89 of file MCSectionELF.h.
References llvm::MCSymbol::getSection().
Definition at line 92 of file MCSectionELF.h.
|
inline |
|
inline |
Definition at line 87 of file MCSectionELF.h.
Referenced by llvm::MCObjectFileInfo::getBBAddrMapSection(), llvm::MCObjectFileInfo::getKCFITrapSection(), and llvm::MCObjectFileInfo::getStackSizesSection().
|
overridevirtual |
Reimplemented from llvm::MCSection.
Definition at line 218 of file MCSectionELF.cpp.
|
inline |
Definition at line 77 of file MCSectionELF.h.
References llvm::PointerIntPair< PointerTy, IntBits, IntType, PtrTraits, Info >::getInt().
Referenced by printSwitchToSection().
|
inline |
Definition at line 86 of file MCSectionELF.h.
References llvm::MCSection::NonUniqueID.
Referenced by printSwitchToSection(), and shouldOmitSectionDirective().
|
overridevirtual |
Check whether this section is "virtual", that is has no actual object file contents.
Implements llvm::MCSection.
Definition at line 214 of file MCSectionELF.cpp.
References getType(), and llvm::ELF::SHT_NOBITS.
|
overridevirtual |
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, llvm::MCExpr::print(), printName(), llvm::report_fatal_error(), 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, 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_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::xcore, llvm::ELF::XCORE_SHF_CP_SECTION, and llvm::ELF::XCORE_SHF_DP_SECTION.
|
inline |
Definition at line 75 of file MCSectionELF.h.
References F.
Decides whether a '.section' directive should be printed before the section name.
Definition at line 22 of file MCSectionELF.cpp.
References isUnique(), llvm::MCSection::Name, and llvm::MCAsmInfo::shouldOmitSectionDirective().
Referenced by printSwitchToSection().
|
overridevirtual |
Return true if a .align directive should use "optimized nops" to fill instead of 0s.
Implements llvm::MCSection.
Definition at line 210 of file MCSectionELF.cpp.
References getFlags(), and llvm::ELF::SHF_EXECINSTR.
|
friend |
Definition at line 49 of file MCSectionELF.h.