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

Instances of this class represent a uniqued identifier for a section in the current translation unit. More...

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

Public Member Functions
MCSection (const MCSection &)=delete
MCSection & operator= (const MCSection &)=delete
StringRef getName () const
bool isText () 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)
bool hasInstructions () const
void setHasInstructions (bool Value)
bool isRegistered () const
void setIsRegistered (bool Value)
unsigned firstLinkerRelaxable () const
bool isLinkerRelaxable () const
void setFirstLinkerRelaxable (unsigned Order)
MCFragment & getDummyFragment ()
FragList * curFragList () const
iterator begin () const
iterator end () const
void dump (DenseMap< const MCFragment *, SmallVector< const MCSymbol *, 0 > > *FragToSyms=nullptr) const
bool isBssSection () const
Check whether this section is "virtual", that is has no actual object file contents.
Public Attributes
friend MCAssembler
friend MCObjectStreamer
Static Public Attributes
static constexpr unsigned NonUniqueID = ~0U

Instances of this class represent a uniqued identifier for a section in the current translation unit.

The MCContext class uniques and creates these.

Definition at line 517 of file MCSection.h.

Definition at line 21 of file MCSection.cpp.

References Name.

Referenced by getBeginSymbol(), llvm::MCSectionELF::getLinkedToSection(), llvm::MCSectionCOFF::MCAsmInfoCOFF, llvm::MCSectionELF::MCAsmInfoELF, llvm::MCSectionWasm::MCAsmInfoWasm, llvm::MCSectionXCOFF::MCAsmInfoXCOFF, llvm::MCSectionDXContainer::MCContext, llvm::MCSectionSPIRV::MCContext, MCSection(), llvm::MCSectionGOFF::MCSymbolGOFF, and operator=().

MCSection() [2/2]

begin()

iterator llvm::MCSection::begin ( ) const inline

curFragList()

FragList * llvm::MCSection::curFragList ( ) const inline

dump()

end()

iterator llvm::MCSection::end ( ) const inline

ensureMinAlignment()

void llvm::MCSection::ensureMinAlignment ( Align MinAlignment) inline

firstLinkerRelaxable()

unsigned llvm::MCSection::firstLinkerRelaxable ( ) const inline

getAlign()

Align llvm::MCSection::getAlign ( ) const inline

getBeginSymbol() [1/2]

MCSymbol * llvm::MCSection::getBeginSymbol ( ) inline

Definition at line 589 of file MCSection.h.

Referenced by llvm::DwarfCompileUnit::addAddrTableBase(), llvm::DwarfUnit::addRnglistsBase(), llvm::DwarfCompileUnit::addScopeRangeList(), llvm::DwarfUnit::addStringOffsetsStart(), llvm::DwarfCompileUnit::applyStmtList(), llvm::MCStreamer::changeSection(), llvm::MCContext::createELFRelSection(), llvm::DwarfUnit::emitCommonHeader(), llvm::BPFAsmPrinter::emitJumpTableInfo(), llvm::MCObjectStreamer::emitRelocDirective(), llvm::ELFObjectWriter::executePostLayoutBinding(), llvm::MCObjectFileInfo::getBBAddrMapSection(), getBeginSymbol(), llvm::MCObjectFileInfo::getCallGraphSection(), llvm::MCObjectFileInfo::getKCFITrapSection(), llvm::MCObjectFileInfo::getPCSection(), llvm::MCObjectFileInfo::getPseudoProbeSection(), llvm::MCObjectFileInfo::getStackSizesSection(), llvm::DwarfCompileUnit::initStmtList(), llvm::MCDwarfLineStr::MCDwarfLineStr(), llvm::ELFObjectWriter::recordRelocation(), and llvm::LoongArchAsmBackend::relaxAlign().

getBeginSymbol() [2/2]

const MCSymbol * llvm::MCSection::getBeginSymbol ( ) const inline

getDummyFragment()

MCFragment & llvm::MCSection::getDummyFragment ( ) inline

getEndSymbol()

getName()

StringRef llvm::MCSection::getName ( ) const inline

Definition at line 586 of file MCSection.h.

References Name.

Referenced by addData(), llvm::BTFDebug::beginFunctionImpl(), canUseLocalRelocation(), dump(), llvm::MCContext::getAssociativeCOFFSection(), llvm::TargetLoweringObjectFileGOFF::getModuleMetadata(), isDwoSection(), llvm::MCAsmInfoDarwin::isSectionAtomizableBySymbols(), llvm::XtensaTargetELFStreamer::startLiteralSection(), llvm::WinCOFFWriter::writeObject(), and llvm::MachObjectWriter::writeSection().

getOrdinal()

unsigned llvm::MCSection::getOrdinal ( ) const inline

hasEnded()

bool MCSection::hasEnded ( ) const

hasInstructions()

bool llvm::MCSection::hasInstructions ( ) const inline

isBssSection()

bool llvm::MCSection::isBssSection ( ) const inline

isLinkerRelaxable()

bool llvm::MCSection::isLinkerRelaxable ( ) const inline

isRegistered()

bool llvm::MCSection::isRegistered ( ) const inline

isText()

bool llvm::MCSection::isText ( ) const inline

operator=()

setAlignment()

void llvm::MCSection::setAlignment ( Align Value) inline

setBeginSymbol()

void llvm::MCSection::setBeginSymbol ( MCSymbol * Sym) inline

setFirstLinkerRelaxable()

void llvm::MCSection::setFirstLinkerRelaxable ( unsigned Order) inline

setHasInstructions()

void llvm::MCSection::setHasInstructions ( bool Value) inline

setIsRegistered()

void llvm::MCSection::setIsRegistered ( bool Value) inline

setOrdinal()

void llvm::MCSection::setOrdinal ( unsigned Value) inline

MCFragment

MCAssembler

friend llvm::MCSection::MCAssembler

MCObjectStreamer

friend llvm::MCSection::MCObjectStreamer

Name

Definition at line 578 of file MCSection.h.

Referenced by getName(), llvm::MCSectionCOFF::isImplicitlyDiscardable(), llvm::MCSectionCOFF::MCAsmInfoCOFF, llvm::MCSectionELF::MCAsmInfoELF, llvm::MCSectionWasm::MCAsmInfoWasm, llvm::MCSectionXCOFF::MCAsmInfoXCOFF, llvm::MCSectionDXContainer::MCContext, MCSection(), llvm::MCSectionGOFF::MCSymbolGOFF, llvm::MCSectionGOFF::setName(), and llvm::MCSectionCOFF::shouldOmitSectionDirective().

NonUniqueID

unsigned llvm::MCSection::NonUniqueID = ~0U staticconstexpr

Definition at line 522 of file MCSection.h.

Referenced by calcUniqueIDUpdateFlagsAndSize(), llvm::MCContext::createELFGroupSection(), llvm::AsmPrinter::emitPatchableFunctionEntries(), llvm::AsmPrinter::emitXRayTable(), llvm::MCContext::getAssociativeCOFFSection(), llvm::MCContext::getCOFFSection(), llvm::MCContext::getELFSection(), llvm::MCContext::getELFSection(), llvm::MCContext::getELFSection(), llvm::TargetLoweringObjectFileWasm::getExplicitSectionGlobal(), llvm::TargetLoweringObjectFileELF::getSectionForLSDA(), llvm::TargetLoweringObjectFileELF::getSectionForMachineBasicBlock(), llvm::MCSectionCOFF::isUnique(), llvm::MCSectionELF::isUnique(), llvm::MCContext::recordELFMergeableSectionInfo(), selectELFSectionForGlobal(), llvm::TargetLoweringObjectFileCOFF::SelectSectionForGlobal(), and selectWasmSectionForGlobal().


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