|
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 573 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 682 of file MCSection.h.
|
inline |
Definition at line 681 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 683 of file MCSection.h.
|
inline |
Makes sure that Alignment is at least MinAlignment.
Definition at line 661 of file MCSection.h.
Referenced by llvm::MCWinCOFFStreamer::emitCOFFSafeSEH(), llvm::MCWinCOFFStreamer::emitCOFFSymbolIndex(), llvm::AMDGPUAsmPrinter::endFunction(), and llvm::MipsTargetELFStreamer::finish().
|
inline |
Definition at line 675 of file MCSection.h.
Referenced by dump().
|
inline |
Definition at line 657 of file MCSection.h.
Referenced by addData(), getAlignment(), llvm::MachObjectWriter::getPaddingSize(), and llvm::MachObjectWriter::writeSection().
|
inline |
Definition at line 646 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 647 of file MCSection.h.
References getBeginSymbol(), and MCSection().
|
inline |
Definition at line 679 of file MCSection.h.
References MCFragment.
Referenced by llvm::MCStreamer::changeSection().
Definition at line 27 of file MCSection.cpp.
|
inline |
Definition at line 643 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 666 of file MCSection.h.
| bool MCSection::hasEnded | ( | ) | const |
Definition at line 33 of file MCSection.cpp.
|
inline |
Definition at line 669 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 690 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 676 of file MCSection.h.
Referenced by llvm::LoongArchAsmBackend::addReloc(), attemptToFoldSymbolOffsetDifference(), and dump().
|
inline |
Definition at line 672 of file MCSection.h.
Referenced by llvm::AArch64TargetStreamer::emitNoteSection().
|
inline |
Definition at line 644 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 658 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 650 of file MCSection.h.
References assert().
Referenced by llvm::TargetLoweringObjectFileGOFF::getModuleMetadata().
|
inline |
Definition at line 677 of file MCSection.h.
|
inline |
Definition at line 670 of file MCSection.h.
Referenced by llvm::MCObjectStreamer::emitInstruction().
|
inline |
Definition at line 673 of file MCSection.h.
|
inline |
Definition at line 667 of file MCSection.h.
Referenced by llvm::MCAssembler::layout().
|
friend |
Definition at line 577 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 575 of file MCSection.h.
| friend llvm::MCSection::MCObjectStreamer |
Definition at line 576 of file MCSection.h.
|
protected |
Definition at line 635 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 578 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().