|
LLVM 22.0.0git
|
#include "llvm/MC/MCSection.h"
Public Types | |
| enum | FragmentType : uint8_t { FT_Data , FT_Relaxable , FT_Align , 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_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 217 of file MCSection.h.
|
inline |
Definition at line 205 of file MCSection.h.
References setVarContents().
|
inline |
Definition at line 226 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_Relaxable, FT_SFrame, FT_SymbolId, getAlignFill(), getAlignFillLen(), getAlignMaxBytesToEmit(), getAlignment(), getContents(), getDwarfAddrDelta(), getDwarfLineDelta(), getFixups(), getInst(), getKind(), getLEBValue(), getVarContents(), getVarFixups(), hasAlignEmitNops(), I, isLEBSigned(), isLinkerRelaxable(), LLVM_DUMP_METHOD, llvm_unreachable, and llvm::Align::value().
|
inline |
Definition at line 254 of file MCSection.h.
References assert(), and FT_Align.
Referenced by dump().
|
inline |
Definition at line 258 of file MCSection.h.
References assert(), and FT_Align.
Referenced by dump().
|
inline |
Definition at line 262 of file MCSection.h.
References assert(), and FT_Align.
Referenced by dump().
|
inline |
Definition at line 250 of file MCSection.h.
References assert(), and FT_Align.
Referenced by dump().
|
inline |
Definition at line 195 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 636 of file MCSection.h.
Referenced by dump().
Definition at line 639 of file MCSection.h.
Definition at line 292 of file MCSection.h.
References assert(), FT_Dwarf, and FT_DwarfFrame.
Referenced by dump().
|
inline |
Definition at line 300 of file MCSection.h.
References assert(), and FT_Dwarf.
Referenced by dump().
|
inline |
Definition at line 209 of file MCSection.h.
Referenced by setVarFixups().
|
inline |
Definition at line 654 of file MCSection.h.
References getParent(), llvm::MutableArrayRef(), and llvm::MutableArrayRef< T >::slice().
Referenced by dump().
Definition at line 658 of file MCSection.h.
References llvm::ArrayRef(), getParent(), and llvm::ArrayRef< T >::slice().
|
inline |
Definition at line 677 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 165 of file MCSection.h.
Referenced by dump().
|
inline |
Definition at line 172 of file MCSection.h.
Referenced by attemptToFoldSymbolOffsetDifference().
Definition at line 278 of file MCSection.h.
References assert(), and FT_LEB.
Referenced by dump(), and llvm::RISCVAsmBackend::relaxLEB128().
|
inline |
Definition at line 163 of file MCSection.h.
References MCFragment().
Referenced by llvm::MCAssembler::layout().
|
inline |
Definition at line 231 of file MCSection.h.
References assert(), and FT_Relaxable.
Definition at line 672 of file MCSection.h.
References assert(), FT_Relaxable, getParent(), and llvm::MutableArrayRef().
|
inline |
Definition at line 167 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().
Definition at line 310 of file MCSection.h.
|
inline |
Definition at line 318 of file MCSection.h.
References assert(), FT_SFrame, and MCFragment().
|
inline |
Definition at line 211 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 183 of file MCSection.h.
References STI.
Referenced by writeFragment().
|
inline |
Definition at line 643 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 647 of file MCSection.h.
References llvm::ArrayRef(), getParent(), and llvm::MutableArrayRef< T >::slice().
|
inline |
Definition at line 663 of file MCSection.h.
References getParent(), llvm::MutableArrayRef(), and llvm::MutableArrayRef< T >::slice().
Referenced by dump().
Definition at line 667 of file MCSection.h.
References llvm::ArrayRef(), getParent(), and llvm::ArrayRef< T >::slice().
|
inline |
Definition at line 210 of file MCSection.h.
|
inline |
Definition at line 266 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 177 of file MCSection.h.
|
inline |
Definition at line 286 of file MCSection.h.
References assert(), and FT_LEB.
Referenced by dump(), and llvm::RISCVAsmBackend::relaxLEB128().
|
inline |
Definition at line 192 of file MCSection.h.
Referenced by dump().
|
inline |
Definition at line 240 of file MCSection.h.
References FT_Align.
Definition at line 272 of file MCSection.h.
|
delete |
References MCFragment().
|
inline |
Definition at line 196 of file MCSection.h.
Definition at line 296 of file MCSection.h.
References assert(), E(), FT_Dwarf, and FT_DwarfFrame.
|
inline |
Definition at line 304 of file MCSection.h.
|
inline |
Record that the fragment contains instructions with the MCSubtargetInfo in effect when the instruction was encoded.
Definition at line 187 of file MCSection.h.
References STI.
Definition at line 686 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 173 of file MCSection.h.
Definition at line 282 of file MCSection.h.
|
inline |
Definition at line 193 of file MCSection.h.
|
inline |
Definition at line 168 of file MCSection.h.
References MCSection.
Definition at line 314 of file MCSection.h.
|
inline |
Definition at line 322 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 111 of file MCSection.h.
Referenced by getSubtargetInfo(), llvm::MCBoundaryAlignFragment::MCBoundaryAlignFragment(), llvm::MCNopsFragment::MCNopsFragment(), and setHasInstructions().