|
LLVM
4.0.0
|
Instances of this class represent a uniqued identifier for a section in the current translation unit. More...
#include <MCSection.h>
Public Types | |
| enum | SectionVariant { SV_COFF = 0, SV_ELF, SV_MachO } |
| enum | BundleLockStateType { NotBundleLocked, BundleLocked, BundleLockedAlignToEnd } |
| Express the state of bundle locked groups while emitting code. More... | |
| typedef iplist< MCFragment > | FragmentListType |
| typedef FragmentListType::const_iterator | const_iterator |
| typedef FragmentListType::iterator | iterator |
| typedef FragmentListType::const_reverse_iterator | const_reverse_iterator |
| typedef FragmentListType::reverse_iterator | reverse_iterator |
Static Public Member Functions | |
| static FragmentListType MCSection::* | getSublistAccess (MCFragment *) |
| Support for MCFragment::getNextNode(). More... | |
Protected Member Functions | |
| MCSection (SectionVariant V, SectionKind K, MCSymbol *Begin) | |
| ~MCSection () | |
Protected Attributes | |
| SectionVariant | Variant |
| SectionKind | Kind |
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 40 of file MCSection.h.
Definition at line 53 of file MCSection.h.
Definition at line 56 of file MCSection.h.
Definition at line 51 of file MCSection.h.
Definition at line 54 of file MCSection.h.
Definition at line 57 of file MCSection.h.
Express the state of bundle locked groups while emitting code.
| Enumerator | |
|---|---|
| NotBundleLocked | |
| BundleLocked | |
| BundleLockedAlignToEnd | |
Definition at line 45 of file MCSection.h.
| Enumerator | |
|---|---|
| SV_COFF | |
| SV_ELF | |
| SV_MachO | |
Definition at line 42 of file MCSection.h.
|
protected |
Definition at line 22 of file MCSection.cpp.
|
protected |
Definition at line 34 of file MCSection.cpp.
|
inline |
Definition at line 156 of file MCSection.h.
Referenced by dump().
|
inline |
Definition at line 157 of file MCSection.h.
| LLVM_DUMP_METHOD void MCSection::dump | ( | ) |
Definition at line 88 of file MCSection.cpp.
References begin(), end(), and llvm::errs().
|
inline |
Definition at line 159 of file MCSection.h.
Referenced by dump(), and getSubsectionInsertionPoint().
|
inline |
Definition at line 160 of file MCSection.h.
|
inline |
Definition at line 117 of file MCSection.h.
Referenced by llvm::MCWinCOFFStreamer::EmitCOFFSafeSEH(), llvm::MCELFStreamer::EmitCommonSymbol(), llvm::MCObjectStreamer::EmitValueToAlignment(), llvm::MipsTargetELFStreamer::finish(), llvm::MachObjectWriter::getPaddingSize(), setSectionAlignmentForBundling(), and llvm::MachObjectWriter::writeSection().
|
inline |
Definition at line 106 of file MCSection.h.
Referenced by llvm::DwarfCompileUnit::addScopeRangeList(), llvm::MCELFStreamer::ChangeSection(), llvm::AsmPrinter::emitDwarfSymbolReference(), llvm::DwarfUnit::emitHeader(), llvm::DIEEntry::EmitValue(), getBeginSymbol(), llvm::DwarfCompileUnit::initStmtList(), and llvm::MCStreamer::SwitchSection().
Definition at line 107 of file MCSection.h.
References getBeginSymbol().
|
inline |
Definition at line 126 of file MCSection.h.
Referenced by llvm::MCELFStreamer::EmitBundleUnlock().
|
inline |
Definition at line 153 of file MCSection.h.
|
inline |
Definition at line 154 of file MCSection.h.
Definition at line 26 of file MCSection.cpp.
References llvm::MCContext::createTempSymbol(), and llvm::WebAssembly::End.
Referenced by llvm::MCStreamer::endSection().
|
inline |
Definition at line 143 of file MCSection.h.
Referenced by llvm::MCObjectStreamer::flushPendingLabels(), getFragmentList(), llvm::MCAsmLayout::getSectionAddressSize(), getSubsectionInsertionPoint(), llvm::MCObjectStreamer::insert(), llvm::MCAssembler::layout(), and llvm::MCFragment::MCFragment().
|
inline |
Definition at line 144 of file MCSection.h.
References getFragmentList().
|
inline |
Definition at line 102 of file MCSection.h.
References Kind.
Referenced by llvm::MCContext::getAssociativeCOFFSection(), and llvm::MCSectionCOFF::UseCodeAlign().
|
inline |
Definition at line 123 of file MCSection.h.
Referenced by llvm::MachObjectWriter::getPaddingSize().
|
inline |
Definition at line 120 of file MCSection.h.
|
inlinestatic |
Support for MCFragment::getNextNode().
Definition at line 149 of file MCSection.h.
| MCSection::iterator MCSection::getSubsectionInsertionPoint | ( | unsigned | Subsection | ) |
Definition at line 57 of file MCSection.cpp.
References end(), F, getFragmentList(), llvm::iplist_impl< IntrusiveListT, TraitsT >::insert(), MI, and llvm::MCFragment::setParent().
Referenced by llvm::MCObjectStreamer::changeSectionImpl().
|
inline |
Definition at line 104 of file MCSection.h.
References Variant.
Referenced by llvm::MCSectionMachO::classof(), llvm::MCSectionCOFF::classof(), and llvm::MCSectionELF::classof().
| bool MCSection::hasEnded | ( | ) | const |
Definition at line 32 of file MCSection.cpp.
References llvm::WebAssembly::End.
Referenced by llvm::MCStreamer::SwitchSection().
|
inline |
Definition at line 137 of file MCSection.h.
Referenced by llvm::MCObjectStreamer::mayHaveInstructions(), and setSectionAlignmentForBundling().
|
inline |
Definition at line 130 of file MCSection.h.
Referenced by llvm::MCELFStreamer::EmitBundleUnlock().
|
inline |
Definition at line 128 of file MCSection.h.
References NotBundleLocked.
Referenced by llvm::MCObjectStreamer::EmitInstruction().
|
inline |
Definition at line 140 of file MCSection.h.
Referenced by llvm::MCAssembler::registerSection().
|
pure virtual |
Check whether this section is "virtual", that is has no actual object file contents.
Implemented in llvm::MCSectionELF, llvm::MCSectionMachO, llvm::MCSectionCOFF, and llvm::NVPTXSection.
Referenced by llvm::AsmPrinter::EmitGlobalVariable(), llvm::MachObjectWriter::getPaddingSize(), llvm::MCAsmLayout::getSectionFileSize(), and llvm::MCAssembler::writeSectionData().
|
pure virtual |
Implemented in llvm::MCSectionELF, llvm::MCSectionMachO, llvm::MCSectionCOFF, and llvm::NVPTXSection.
|
inline |
Definition at line 162 of file MCSection.h.
|
inline |
Definition at line 163 of file MCSection.h.
|
inline |
Definition at line 165 of file MCSection.h.
|
inline |
Definition at line 166 of file MCSection.h.
|
inline |
Definition at line 118 of file MCSection.h.
Referenced by llvm::MCWinCOFFStreamer::EmitCOFFSafeSEH(), llvm::MCELFStreamer::EmitCommonSymbol(), llvm::MipsTargetELFStreamer::emitDirectiveEnd(), llvm::MipsTargetELFStreamer::emitMipsAbiFlags(), llvm::MipsRegInfoRecord::EmitMipsOptionRecord(), llvm::MCObjectStreamer::EmitValueToAlignment(), llvm::MipsTargetELFStreamer::finish(), and setSectionAlignmentForBundling().
|
inline |
Definition at line 110 of file MCSection.h.
References assert().
Referenced by llvm::MCELFStreamer::ChangeSection().
|
inline |
Definition at line 133 of file MCSection.h.
Referenced by llvm::MCELFStreamer::EmitBundleLock().
| void MCSection::setBundleLockState | ( | BundleLockStateType | NewState | ) |
Definition at line 37 of file MCSection.cpp.
References BundleLockedAlignToEnd, NotBundleLocked, and llvm::report_fatal_error().
Referenced by llvm::MCELFStreamer::EmitBundleLock(), and llvm::MCELFStreamer::EmitBundleUnlock().
|
inline |
Definition at line 138 of file MCSection.h.
Referenced by llvm::MCObjectStreamer::EmitInstruction().
|
inline |
Definition at line 141 of file MCSection.h.
Referenced by llvm::MCAssembler::registerSection().
|
inline |
Definition at line 124 of file MCSection.h.
Referenced by llvm::MCAssembler::layout().
|
inline |
Definition at line 121 of file MCSection.h.
Referenced by llvm::MCAssembler::layout().
|
pure virtual |
Return true if a .align directive should use "optimized nops" to fill instead of 0s.
Implemented in llvm::MCSectionELF, llvm::MCSectionMachO, llvm::MCSectionCOFF, and llvm::NVPTXSection.
|
protected |
Definition at line 98 of file MCSection.h.
Referenced by getKind().
|
protected |
Definition at line 97 of file MCSection.h.
Referenced by getVariant().
1.8.6