|
LLVM 23.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 569 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=().
References MCSection().
|
inline |
Definition at line 678 of file MCSection.h.
|
inline |
Definition at line 677 of file MCSection.h.
Referenced by llvm::MCSectionMachO::allocAtoms(), llvm::MCAssembler::getSectionAddressSize(), 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(), LLVM_DUMP_METHOD, and MCFragment.
Referenced by llvm::MCAssembler::dump().
|
inline |
Definition at line 679 of file MCSection.h.
|
inline |
Makes sure that Alignment is at least MinAlignment.
Definition at line 657 of file MCSection.h.
Referenced by llvm::MCWinCOFFStreamer::emitCOFFSafeSEH(), llvm::MCWinCOFFStreamer::emitCOFFSymbolIndex(), llvm::AMDGPUAsmPrinter::emitFunctionBodyEnd(), and llvm::MipsTargetELFStreamer::finish().
|
inline |
Definition at line 671 of file MCSection.h.
Referenced by dump().
|
inline |
Definition at line 653 of file MCSection.h.
Referenced by addData(), getAlignment(), llvm::MachObjectWriter::getPaddingSize(), and llvm::MachObjectWriter::writeSection().
|
inline |
Definition at line 642 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::SystemZAsmPrinter::emitXXStructorList(), 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().
Definition at line 643 of file MCSection.h.
References getBeginSymbol(), and MCSection().
|
inline |
Definition at line 675 of file MCSection.h.
References MCFragment.
Referenced by llvm::MCStreamer::changeSection().
Definition at line 27 of file MCSection.cpp.
|
inline |
Definition at line 639 of file MCSection.h.
References Name.
Referenced by addData(), llvm::LoongArchAsmBackend::addReloc(), llvm::BTFDebug::beginFunctionImpl(), canUseLocalRelocation(), canUseLocalRelocation(), dump(), llvm::SystemZHLASMAsmStreamer::emitLabel(), emitXATTR(), emitXATTR(), llvm::MCContext::getAssociativeCOFFSection(), llvm::TargetLoweringObjectFileGOFF::getModuleMetadata(), isDwoSection(), llvm::MCAsmInfoDarwin::isSectionAtomizableBySymbols(), llvm::XtensaTargetELFStreamer::startLiteralSection(), llvm::WinCOFFWriter::writeObject(), and llvm::MachObjectWriter::writeSection().
|
inline |
Definition at line 662 of file MCSection.h.
| bool MCSection::hasEnded | ( | ) | const |
Definition at line 33 of file MCSection.cpp.
|
inline |
Definition at line 665 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 686 of file MCSection.h.
Referenced by llvm::AsmPrinter::emitGlobalVariable(), llvm::MachObjectWriter::getPaddingSize(), llvm::MCAssembler::getSectionFileSize(), llvm::MCSectionGOFF::getTextStyle(), llvm::MachObjectWriter::writeSection(), and llvm::MCAssembler::writeSectionData().
|
inline |
Definition at line 672 of file MCSection.h.
Referenced by llvm::LoongArchAsmBackend::addReloc(), attemptToFoldSymbolOffsetDifference(), and dump().
|
inline |
Definition at line 668 of file MCSection.h.
Referenced by llvm::AArch64TargetStreamer::emitNoteSection().
|
inline |
Definition at line 640 of file MCSection.h.
Referenced by llvm::MCSectionWasm::MCAsmInfoWasm, llvm::MCSectionXCOFF::MCAsmInfoXCOFF, llvm::MCSectionDXContainer::MCContext, llvm::MCSectionGOFF::MCSymbolGOFF, and llvm::MCAsmInfoXCOFF::useCodeAlign().
References MCSection().
|
inline |
Definition at line 654 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 646 of file MCSection.h.
References assert().
Referenced by llvm::TargetLoweringObjectFileGOFF::getModuleMetadata().
|
inline |
Definition at line 673 of file MCSection.h.
|
inline |
Definition at line 666 of file MCSection.h.
Referenced by llvm::MCObjectStreamer::emitInstruction().
|
inline |
Definition at line 669 of file MCSection.h.
|
inline |
Definition at line 663 of file MCSection.h.
Referenced by llvm::MCAssembler::layout().
|
friend |
Definition at line 573 of file MCSection.h.
References MCFragment.
Referenced by dump(), getDummyFragment(), llvm::MCSection::iterator::iterator(), MCFragment, and llvm::MCSection::iterator::operator*().
| friend llvm::MCSection::MCAssembler |
Definition at line 571 of file MCSection.h.
| friend llvm::MCSection::MCObjectStreamer |
Definition at line 572 of file MCSection.h.
|
protected |
Definition at line 631 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::setExternalName(), llvm::MCSectionGOFF::setName(), and llvm::MCSectionCOFF::shouldOmitSectionDirective().
|
staticconstexpr |
Definition at line 574 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().