|
LLVM 23.0.0git
|
#include "llvm/MC/MCSection.h"
Public Types | |
| enum | FragmentType : uint8_t { FT_Data , FT_Relaxable , FT_Align , FT_PrefAlign , FT_Fill , FT_LEB , FT_Nops , FT_Org , FT_Dwarf , FT_DwarfFrame , FT_SFrame , FT_BoundaryAlign , FT_SymbolId , FT_CVInlineLines , FT_CVDefRange } |
Protected Attributes | |
| const MCSubtargetInfo * | STI = nullptr |
Friends | |
| class | MCAssembler |
| class | MCStreamer |
| class | MCObjectStreamer |
| class | MCSection |
Definition at line 45 of file MCSection.h.
| Enumerator | |
|---|---|
| FT_Data | |
| FT_Relaxable | |
| FT_Align | |
| FT_PrefAlign | |
| FT_Fill | |
| FT_LEB | |
| FT_Nops | |
| FT_Org | |
| FT_Dwarf | |
| FT_DwarfFrame | |
| FT_SFrame | |
| FT_BoundaryAlign | |
| FT_SymbolId | |
| FT_CVInlineLines | |
| FT_CVDefRange | |
Definition at line 52 of file MCSection.h.
| MCFragment::MCFragment | ( | FragmentType | Kind = MCFragment::FT_Data, |
| bool | HasInstructions = false ) |
Definition at line 30 of file MCFragment.cpp.
Referenced by llvm::MCBoundaryAlignFragment::classof(), llvm::MCCVDefRangeFragment::classof(), llvm::MCCVInlineLineTableFragment::classof(), llvm::MCFillFragment::classof(), llvm::MCNopsFragment::classof(), llvm::MCOrgFragment::classof(), llvm::MCSymbolIdFragment::classof(), llvm::MCBoundaryAlignFragment::getLastFragment(), getNext(), getSFrameFDE(), llvm::MCBoundaryAlignFragment::MCBoundaryAlignFragment(), llvm::MCCVDefRangeFragment::MCCVDefRangeFragment(), llvm::MCCVInlineLineTableFragment::MCCVInlineLineTableFragment(), llvm::MCFillFragment::MCFillFragment(), MCFragment(), llvm::MCNopsFragment::MCNopsFragment(), llvm::MCOrgFragment::MCOrgFragment(), llvm::MCSymbolIdFragment::MCSymbolIdFragment(), operator=(), llvm::MCBoundaryAlignFragment::setLastFragment(), and setSFrameFDE().
|
delete |
References MCFragment().
| void MCFragment::addFixup | ( | MCFixup | Fixup | ) |
Definition at line 71 of file MCSection.cpp.
References appendFixups(), and Fixup.
Definition at line 73 of file MCSection.cpp.
References getParent(), I, LLVM_UNLIKELY, and Size.
Referenced by addFixup().
|
inline |
Definition at line 231 of file MCSection.h.
|
inline |
Definition at line 219 of file MCSection.h.
References setVarContents().
|
inline |
Definition at line 240 of file MCSection.h.
References setVarFixups().
| LLVM_DUMP_METHOD void MCFragment::dump | ( | ) | const |
Definition at line 42 of file MCFragment.cpp.
References llvm::cast(), llvm::MCInst::dump_pretty(), llvm::enumerate(), llvm::errs(), F, llvm::Fixed, llvm::format(), FT_Align, FT_BoundaryAlign, FT_CVDefRange, FT_CVInlineLines, FT_Data, FT_Dwarf, FT_DwarfFrame, FT_Fill, FT_LEB, FT_Nops, FT_Org, FT_PrefAlign, FT_Relaxable, FT_SFrame, FT_SymbolId, getAlignFill(), getAlignFillLen(), getAlignMaxBytesToEmit(), getAlignment(), getContents(), getDwarfAddrDelta(), getDwarfLineDelta(), getFixups(), getInst(), getKind(), getLEBValue(), llvm::MCSymbol::getName(), getPrefAlignComputed(), getPrefAlignEnd(), getPrefAlignPreferred(), getVarContents(), getVarFixups(), hasAlignEmitNops(), I, isLEBSigned(), isLinkerRelaxable(), LLVM_DUMP_METHOD, llvm_unreachable, and llvm::Align::value().
|
inline |
Definition at line 268 of file MCSection.h.
References assert(), and FT_Align.
Referenced by dump().
|
inline |
Definition at line 272 of file MCSection.h.
References assert(), and FT_Align.
Referenced by dump().
|
inline |
Definition at line 276 of file MCSection.h.
References assert(), and FT_Align.
Referenced by dump().
|
inline |
Definition at line 264 of file MCSection.h.
References assert(), and FT_Align.
Referenced by dump().
|
inline |
Definition at line 209 of file MCSection.h.
Definition at line 37 of file MCFragment.cpp.
References getAtom().
Referenced by llvm::MachObjectWriter::getAtom(), getAtom(), and llvm::MachObjectWriter::isSymbolRefDifferenceFullyResolvedImpl().
|
inline |
Definition at line 689 of file MCSection.h.
Referenced by dump().
Definition at line 692 of file MCSection.h.
Definition at line 345 of file MCSection.h.
References assert(), FT_Dwarf, and FT_DwarfFrame.
Referenced by dump().
|
inline |
Definition at line 353 of file MCSection.h.
References assert(), and FT_Dwarf.
Referenced by dump().
|
inline |
Definition at line 223 of file MCSection.h.
Referenced by llvm::AsmPrinter::emitFunctionBody(), and setVarFixups().
|
inline |
Definition at line 707 of file MCSection.h.
References getParent(), llvm::MutableArrayRef(), and llvm::MutableArrayRef< T >::slice().
Referenced by dump().
Definition at line 711 of file MCSection.h.
References llvm::ArrayRef(), getParent(), and llvm::ArrayRef< T >::slice().
|
inline |
Definition at line 730 of file MCSection.h.
References llvm::ArrayRef(), assert(), FT_Relaxable, getParent(), llvm::MCInst::setFlags(), llvm::MCInst::setOpcode(), and llvm::MCInst::setOperands().
Referenced by dump().
|
inline |
Definition at line 179 of file MCSection.h.
Referenced by dump().
|
inline |
Definition at line 186 of file MCSection.h.
Referenced by attemptToFoldSymbolOffsetDifference().
Definition at line 331 of file MCSection.h.
References assert(), and FT_LEB.
Referenced by dump(), and llvm::RISCVAsmBackend::relaxLEB128().
|
inline |
Definition at line 177 of file MCSection.h.
References MCFragment().
Referenced by llvm::AsmPrinter::emitFunctionBody(), llvm::isRangeRelaxable(), and llvm::MCAssembler::layout().
|
inline |
Definition at line 245 of file MCSection.h.
References assert(), and FT_Relaxable.
Definition at line 725 of file MCSection.h.
References assert(), FT_Relaxable, getParent(), and llvm::MutableArrayRef().
|
inline |
Definition at line 181 of file MCSection.h.
References MCSection.
Referenced by appendFixups(), attemptToFoldSymbolOffsetDifference(), llvm::RISCVAsmBackend::evaluateFixup(), llvm::MachObjectWriter::getAtom(), getFixups(), getFixups(), getInst(), getOperands(), llvm::MCSymbol::getSection(), llvm::MachObjectWriter::getSymbolAddress(), getVarContents(), getVarContents(), getVarFixups(), getVarFixups(), llvm::ELFObjectWriter::isSymbolRefDifferenceFullyResolvedImpl(), llvm::MachObjectWriter::isSymbolRefDifferenceFullyResolvedImpl(), llvm::MCObjectWriter::isSymbolRefDifferenceFullyResolvedImpl(), llvm::WinCOFFObjectWriter::isSymbolRefDifferenceFullyResolvedImpl(), setInst(), llvm::MCBoundaryAlignFragment::setLastFragment(), setVarContents(), and setVarFixups().
|
inline |
Definition at line 307 of file MCSection.h.
References assert(), and FT_PrefAlign.
Referenced by dump().
|
inline |
Definition at line 315 of file MCSection.h.
References assert(), and FT_PrefAlign.
Definition at line 299 of file MCSection.h.
References assert(), and FT_PrefAlign.
Referenced by dump().
|
inline |
Definition at line 319 of file MCSection.h.
References assert(), and FT_PrefAlign.
|
inline |
Definition at line 303 of file MCSection.h.
References assert(), and FT_PrefAlign.
Referenced by dump().
Definition at line 363 of file MCSection.h.
|
inline |
Definition at line 371 of file MCSection.h.
References assert(), FT_SFrame, and MCFragment().
|
inline |
Definition at line 225 of file MCSection.h.
|
inline |
Retrieve the MCSubTargetInfo in effect when the instruction was encoded.
Guaranteed to be non-null if hasInstructions() == true
Definition at line 197 of file MCSection.h.
References STI.
Referenced by writeFragment().
|
inline |
Definition at line 696 of file MCSection.h.
References getParent(), llvm::MutableArrayRef(), and llvm::MutableArrayRef< T >::slice().
Referenced by dump(), llvm::MCSFrameEmitter::encodeFuncOffset(), and llvm::MachObjectWriter::writeObject().
Definition at line 700 of file MCSection.h.
References llvm::ArrayRef(), getParent(), and llvm::MutableArrayRef< T >::slice().
|
inline |
Definition at line 716 of file MCSection.h.
References getParent(), llvm::MutableArrayRef(), and llvm::MutableArrayRef< T >::slice().
Referenced by dump().
Definition at line 720 of file MCSection.h.
References llvm::ArrayRef(), getParent(), and llvm::ArrayRef< T >::slice().
|
inline |
Definition at line 224 of file MCSection.h.
|
inline |
Definition at line 280 of file MCSection.h.
References assert(), and FT_Align.
Referenced by dump().
|
inline |
Does this fragment have instructions emitted into it?
By default this is false, but specific fragment types may set it to true.
Definition at line 191 of file MCSection.h.
|
inline |
Definition at line 339 of file MCSection.h.
References assert(), and FT_LEB.
Referenced by dump(), and llvm::RISCVAsmBackend::relaxLEB128().
|
inline |
Definition at line 206 of file MCSection.h.
Referenced by dump().
|
inline |
Definition at line 254 of file MCSection.h.
References FT_Align.
Definition at line 325 of file MCSection.h.
|
inline |
Definition at line 290 of file MCSection.h.
References FT_PrefAlign.
|
delete |
References MCFragment().
|
inline |
Definition at line 210 of file MCSection.h.
Definition at line 349 of file MCSection.h.
References assert(), E(), FT_Dwarf, and FT_DwarfFrame.
|
inline |
Definition at line 357 of file MCSection.h.
|
inline |
Record that the fragment contains instructions with the MCSubtargetInfo in effect when the instruction was encoded.
Definition at line 201 of file MCSection.h.
References STI.
Definition at line 739 of file MCSection.h.
References assert(), llvm::MCInst::begin(), llvm::copy(), FT_Relaxable, llvm::MCInst::getFlags(), llvm::MCInst::getNumOperands(), llvm::MCInst::getOpcode(), and getParent().
|
inline |
Definition at line 187 of file MCSection.h.
Definition at line 335 of file MCSection.h.
|
inline |
Definition at line 207 of file MCSection.h.
|
inline |
Definition at line 182 of file MCSection.h.
References MCSection.
|
inline |
Definition at line 311 of file MCSection.h.
References A(), assert(), and FT_PrefAlign.
Definition at line 367 of file MCSection.h.
|
inline |
Definition at line 375 of file MCSection.h.
References assert(), F, FT_SFrame, and MCFragment().
Definition at line 61 of file MCSection.cpp.
References llvm::ArrayRef< T >::begin(), llvm::copy(), getParent(), and llvm::ArrayRef< T >::size().
Referenced by clearVarContents(), llvm::CodeViewContext::encodeDefRange(), and llvm::CodeViewContext::encodeInlineLineTable().
Definition at line 87 of file MCSection.cpp.
References assert(), F, llvm::Fixed, getFixedSize(), and getParent().
Referenced by clearVarFixups(), llvm::CodeViewContext::encodeDefRange(), and llvm::RISCVAsmBackend::relaxLEB128().
|
friend |
|
friend |
Definition at line 48 of file MCSection.h.
References MCObjectStreamer.
Referenced by MCObjectStreamer.
|
friend |
Definition at line 49 of file MCSection.h.
References MCSection.
Referenced by getParent(), MCSection, and setParent().
|
friend |
|
protected |
Definition at line 112 of file MCSection.h.
Referenced by getSubtargetInfo(), llvm::MCBoundaryAlignFragment::MCBoundaryAlignFragment(), llvm::MCNopsFragment::MCNopsFragment(), and setHasInstructions().