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 } |
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 215 of file MCSection.h.
|
inline |
Definition at line 203 of file MCSection.h.
References setVarContents().
|
inline |
Definition at line 224 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 252 of file MCSection.h.
References assert(), and FT_Align.
Referenced by dump().
|
inline |
Definition at line 256 of file MCSection.h.
References assert(), and FT_Align.
Referenced by dump().
|
inline |
Definition at line 260 of file MCSection.h.
References assert(), and FT_Align.
Referenced by dump().
|
inline |
Definition at line 248 of file MCSection.h.
References assert(), and FT_Align.
Referenced by dump().
|
inline |
Definition at line 193 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 640 of file MCSection.h.
Referenced by dump().
Definition at line 643 of file MCSection.h.
Definition at line 290 of file MCSection.h.
References assert(), FT_Dwarf, and FT_DwarfFrame.
Referenced by dump().
|
inline |
Definition at line 298 of file MCSection.h.
References assert(), and FT_Dwarf.
Referenced by dump().
|
inline |
Definition at line 207 of file MCSection.h.
Referenced by setVarFixups().
|
inline |
Definition at line 658 of file MCSection.h.
References getParent(), llvm::MutableArrayRef(), and llvm::MutableArrayRef< T >::slice().
Referenced by dump().
Definition at line 662 of file MCSection.h.
References llvm::ArrayRef(), getParent(), and llvm::ArrayRef< T >::slice().
|
inline |
Definition at line 681 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 163 of file MCSection.h.
Referenced by dump().
|
inline |
Definition at line 170 of file MCSection.h.
Referenced by attemptToFoldSymbolOffsetDifference().
Definition at line 276 of file MCSection.h.
References assert(), and FT_LEB.
Referenced by dump(), and llvm::RISCVAsmBackend::relaxLEB128().
|
inline |
Definition at line 161 of file MCSection.h.
References MCFragment().
Referenced by llvm::MCAssembler::layout().
|
inline |
Definition at line 229 of file MCSection.h.
References assert(), and FT_Relaxable.
Definition at line 676 of file MCSection.h.
References assert(), FT_Relaxable, getParent(), and llvm::MutableArrayRef().
|
inline |
Definition at line 165 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 308 of file MCSection.h.
|
inline |
Definition at line 316 of file MCSection.h.
References assert(), FT_SFrame, and MCFragment().
|
inline |
Definition at line 209 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 181 of file MCSection.h.
|
inline |
Definition at line 647 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 651 of file MCSection.h.
References llvm::ArrayRef(), getParent(), and llvm::MutableArrayRef< T >::slice().
|
inline |
Definition at line 667 of file MCSection.h.
References getParent(), llvm::MutableArrayRef(), and llvm::MutableArrayRef< T >::slice().
Referenced by dump().
Definition at line 671 of file MCSection.h.
References llvm::ArrayRef(), getParent(), and llvm::ArrayRef< T >::slice().
|
inline |
Definition at line 208 of file MCSection.h.
|
inline |
Definition at line 264 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 175 of file MCSection.h.
|
inline |
Definition at line 284 of file MCSection.h.
References assert(), and FT_LEB.
Referenced by dump(), and llvm::RISCVAsmBackend::relaxLEB128().
|
inline |
Definition at line 190 of file MCSection.h.
Referenced by dump().
|
inline |
Definition at line 238 of file MCSection.h.
References FT_Align.
Definition at line 270 of file MCSection.h.
|
delete |
References MCFragment().
|
inline |
Definition at line 194 of file MCSection.h.
Definition at line 294 of file MCSection.h.
References assert(), E(), FT_Dwarf, and FT_DwarfFrame.
|
inline |
Definition at line 302 of file MCSection.h.
|
inline |
Record that the fragment contains instructions with the MCSubtargetInfo in effect when the instruction was encoded.
Definition at line 185 of file MCSection.h.
Definition at line 690 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 171 of file MCSection.h.
Definition at line 280 of file MCSection.h.
|
inline |
Definition at line 191 of file MCSection.h.
|
inline |
Definition at line 166 of file MCSection.h.
References MCSection.
Definition at line 312 of file MCSection.h.
|
inline |
Definition at line 320 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 |