LLVM 22.0.0git
|
Instances of this class represent a uniqued identifier for a section in the current translation unit. More...
#include "llvm/MC/MCSection.h"
Classes | |
struct | FragList |
struct | iterator |
Public Attributes | |
friend | MCAssembler |
friend | MCObjectStreamer |
Static Public Attributes | |
static constexpr unsigned | NonUniqueID = ~0U |
Protected Member Functions | |
MCSection (StringRef Name, bool IsText, bool IsBss, MCSymbol *Begin) | |
Protected Attributes | |
StringRef | Name |
Friends | |
class | MCFragment |
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 496 of file MCSection.h.
Definition at line 21 of file MCSection.cpp.
References llvm::MCFragment::setParent().
|
inline |
Definition at line 604 of file MCSection.h.
References llvm::MCSection::FragList::Head.
|
inline |
Definition at line 603 of file MCSection.h.
Referenced by llvm::MCSectionMachO::allocAtoms(), llvm::MCAssembler::getSectionAddressSize(), llvm::WinCOFFWriter::writeObject(), and llvm::MachObjectWriter::writeObject().
LLVM_DUMP_METHOD void MCSection::dump | ( | DenseMap< const MCFragment *, SmallVector< const MCSymbol *, 0 > > * | FragToSyms = nullptr | ) | const |
Definition at line 36 of file MCSection.cpp.
References llvm::errs(), F, firstLinkerRelaxable(), getName(), isLinkerRelaxable(), OS, and Sym.
Referenced by llvm::MCAssembler::dump().
|
inline |
Definition at line 605 of file MCSection.h.
|
inline |
Makes sure that Alignment is at least MinAlignment.
Definition at line 583 of file MCSection.h.
Referenced by llvm::MCWinCOFFStreamer::emitCOFFSafeSEH(), llvm::MCWinCOFFStreamer::emitCOFFSymbolIndex(), and llvm::MipsTargetELFStreamer::finish().
|
inline |
Definition at line 597 of file MCSection.h.
Referenced by dump().
|
inline |
Definition at line 579 of file MCSection.h.
Referenced by addData(), getAlignment(), llvm::MachObjectWriter::getPaddingSize(), and llvm::MachObjectWriter::writeSection().
|
inline |
Definition at line 568 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::MCObjectStreamer::emitRelocDirective(), llvm::MCObjectFileInfo::getBBAddrMapSection(), llvm::MCObjectFileInfo::getCallGraphSection(), llvm::MCObjectFileInfo::getKCFITrapSection(), llvm::MCObjectFileInfo::getPCSection(), llvm::MCObjectFileInfo::getPseudoProbeSection(), llvm::MCObjectFileInfo::getStackSizesSection(), llvm::DwarfCompileUnit::initStmtList(), llvm::MCDwarfLineStr::MCDwarfLineStr(), llvm::ELFObjectWriter::recordRelocation(), llvm::LoongArchAsmBackend::relaxAlign(), and llvm::DwarfCompileUnit::updateSubprogramScopeDIE().
Definition at line 569 of file MCSection.h.
|
inline |
Definition at line 601 of file MCSection.h.
Referenced by llvm::MCStreamer::changeSection().
Definition at line 27 of file MCSection.cpp.
References llvm::MCContext::createTempSymbol().
|
inline |
Definition at line 565 of file MCSection.h.
References Name.
Referenced by addData(), llvm::BTFDebug::beginFunctionImpl(), canUseLocalRelocation(), dump(), llvm::MCContext::getAssociativeCOFFSection(), llvm::TargetLoweringObjectFileGOFF::getModuleMetadata(), llvm::MCObjectFileInfo::getPseudoProbeSection(), llvm::TargetLoweringObjectFileELF::getSectionForMachineBasicBlock(), isDwoSection(), llvm::MCAsmInfoDarwin::isSectionAtomizableBySymbols(), llvm::XtensaTargetELFStreamer::startLiteralSection(), llvm::WinCOFFWriter::writeObject(), and llvm::MachObjectWriter::writeSection().
|
inline |
Definition at line 588 of file MCSection.h.
bool MCSection::hasEnded | ( | ) | const |
Definition at line 33 of file MCSection.cpp.
References llvm::MCSymbol::isInSection().
|
inline |
Definition at line 591 of file MCSection.h.
Referenced by llvm::AMDGPUAsmPrinter::doFinalization(), and llvm::MCObjectStreamer::mayHaveInstructions().
|
inline |
Check whether this section is "virtual", that is has no actual object file contents.
Definition at line 612 of file MCSection.h.
Referenced by llvm::AsmPrinter::emitGlobalVariable(), llvm::MachObjectWriter::getPaddingSize(), llvm::MCAssembler::getSectionFileSize(), llvm::MachObjectWriter::writeSection(), and llvm::MCAssembler::writeSectionData().
|
inline |
Definition at line 598 of file MCSection.h.
Referenced by llvm::LoongArchAsmBackend::addReloc(), attemptToFoldSymbolOffsetDifference(), and dump().
|
inline |
Definition at line 594 of file MCSection.h.
Referenced by llvm::AArch64TargetStreamer::emitNoteSection().
|
inline |
Definition at line 566 of file MCSection.h.
Referenced by llvm::MCAsmInfoXCOFF::useCodeAlign().
|
inline |
Definition at line 580 of file MCSection.h.
Referenced by llvm::MipsTargetELFStreamer::emitDirectiveEnd(), llvm::MipsTargetELFStreamer::emitMipsAbiFlags(), llvm::MipsRegInfoRecord::EmitMipsOptionRecord(), llvm::dwarf_linker::classic::DwarfStreamer::emitSwiftAST(), llvm::dwarf_linker::classic::DwarfStreamer::emitSwiftReflectionSection(), and llvm::XtensaTargetELFStreamer::startLiteralSection().
|
inline |
Definition at line 572 of file MCSection.h.
Referenced by llvm::TargetLoweringObjectFileGOFF::getModuleMetadata().
|
inline |
Definition at line 599 of file MCSection.h.
|
inline |
Definition at line 592 of file MCSection.h.
Referenced by llvm::MCObjectStreamer::emitInstruction().
|
inline |
Definition at line 595 of file MCSection.h.
|
inline |
Definition at line 589 of file MCSection.h.
Referenced by llvm::MCAssembler::layout().
|
friend |
Definition at line 500 of file MCSection.h.
friend llvm::MCSection::MCAssembler |
Definition at line 498 of file MCSection.h.
friend llvm::MCSection::MCObjectStreamer |
Definition at line 499 of file MCSection.h.
|
protected |
Definition at line 557 of file MCSection.h.
Referenced by llvm::MCSectionCOFF::isImplicitlyDiscardable(), and llvm::MCSectionCOFF::shouldOmitSectionDirective().
|
staticconstexpr |
Definition at line 501 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::TargetLoweringObjectFileWasm::getExplicitSectionGlobal(), llvm::TargetLoweringObjectFileELF::getSectionForLSDA(), llvm::TargetLoweringObjectFileELF::getSectionForMachineBasicBlock(), llvm::MCSectionCOFF::isUnique(), llvm::MCSectionELF::isUnique(), llvm::MCContext::recordELFMergeableSectionInfo(), selectELFSectionForGlobal(), llvm::TargetLoweringObjectFileCOFF::SelectSectionForGlobal(), and selectWasmSectionForGlobal().