LLVM 20.0.0git
|
Interface implemented by fragments that contain encoded instructions and/or data and also have fixups registered. More...
#include "llvm/MC/MCFragment.h"
Public Types | |
using | const_fixup_iterator = SmallVectorImpl< MCFixup >::const_iterator |
using | fixup_iterator = SmallVectorImpl< MCFixup >::iterator |
Public Types inherited from llvm::MCFragment | |
enum | FragmentType : uint8_t { FT_Align , FT_Data , FT_Fill , FT_Nops , FT_Relaxable , FT_Org , FT_Dwarf , FT_DwarfFrame , FT_LEB , FT_BoundaryAlign , FT_SymbolId , FT_CVInlineLines , FT_CVDefRange , FT_PseudoProbe , FT_Dummy } |
Public Member Functions | |
SmallVectorImpl< char > & | getContents () |
const SmallVectorImpl< char > & | getContents () const |
SmallVectorImpl< MCFixup > & | getFixups () |
const SmallVectorImpl< MCFixup > & | getFixups () const |
fixup_iterator | fixup_begin () |
const_fixup_iterator | fixup_begin () const |
fixup_iterator | fixup_end () |
const_fixup_iterator | fixup_end () const |
Public Member Functions inherited from llvm::MCEncodedFragment | |
bool | alignToBundleEnd () const |
Should this fragment be placed at the end of an aligned bundle? | |
void | setAlignToBundleEnd (bool V) |
uint8_t | getBundlePadding () const |
Get the padding size that must be inserted before this fragment. | |
void | setBundlePadding (uint8_t N) |
Set the padding size for this fragment. | |
const MCSubtargetInfo * | getSubtargetInfo () const |
Retrieve the MCSubTargetInfo in effect when the instruction was encoded. | |
void | setHasInstructions (const MCSubtargetInfo &STI) |
Record that the fragment contains instructions with the MCSubtargetInfo in effect when the instruction was encoded. | |
Public Member Functions inherited from llvm::MCFragment | |
MCFragment ()=delete | |
MCFragment (const MCFragment &)=delete | |
MCFragment & | operator= (const MCFragment &)=delete |
void | destroy () |
Destroys the current fragment. | |
MCFragment * | getNext () const |
FragmentType | getKind () const |
MCSection * | getParent () const |
void | setParent (MCSection *Value) |
const MCSymbol * | getAtom () const |
unsigned | getLayoutOrder () const |
void | setLayoutOrder (unsigned Value) |
bool | hasInstructions () const |
Does this fragment have instructions emitted into it? By default this is false, but specific fragment types may set it to true. | |
void | dump () const |
Static Public Member Functions | |
static bool | classof (const MCFragment *F) |
Static Public Member Functions inherited from llvm::MCEncodedFragment | |
static bool | classof (const MCFragment *F) |
Protected Member Functions | |
MCEncodedFragmentWithFixups (MCFragment::FragmentType FType, bool HasInstructions) | |
Protected Member Functions inherited from llvm::MCEncodedFragment | |
MCEncodedFragment (MCFragment::FragmentType FType, bool HasInstructions) | |
Protected Member Functions inherited from llvm::MCFragment | |
MCFragment (FragmentType Kind, bool HasInstructions) | |
Additional Inherited Members | |
Protected Attributes inherited from llvm::MCEncodedFragment | |
const MCSubtargetInfo * | STI = nullptr |
The MCSubtargetInfo in effect when the instruction was encoded. | |
Protected Attributes inherited from llvm::MCFragment | |
bool | HasInstructions: 1 |
Used by subclasses for better packing. | |
bool | AlignToBundleEnd: 1 |
bool | LinkerRelaxable: 1 |
MCDataFragment. | |
bool | AllowAutoPadding: 1 |
MCRelaxableFragment: x86-specific. | |
Interface implemented by fragments that contain encoded instructions and/or data and also have fixups registered.
Definition at line 181 of file MCFragment.h.
using llvm::MCEncodedFragmentWithFixups< ContentsSize, FixupsSize >::const_fixup_iterator = SmallVectorImpl<MCFixup>::const_iterator |
Definition at line 194 of file MCFragment.h.
using llvm::MCEncodedFragmentWithFixups< ContentsSize, FixupsSize >::fixup_iterator = SmallVectorImpl<MCFixup>::iterator |
Definition at line 195 of file MCFragment.h.
|
inlineprotected |
Definition at line 188 of file MCFragment.h.
|
inlinestatic |
Definition at line 209 of file MCFragment.h.
References F, llvm::MCFragment::FT_CVDefRange, llvm::MCFragment::FT_Data, llvm::MCFragment::FT_Dwarf, llvm::MCFragment::FT_DwarfFrame, and llvm::MCFragment::FT_Relaxable.
|
inline |
Definition at line 203 of file MCFragment.h.
|
inline |
Definition at line 204 of file MCFragment.h.
|
inline |
Definition at line 206 of file MCFragment.h.
|
inline |
Definition at line 207 of file MCFragment.h.
|
inline |
Definition at line 197 of file MCFragment.h.
Referenced by llvm::CodeViewContext::addToStringTable(), llvm::CodeViewContext::encodeDefRange(), llvm::MCAssembler::layout(), and writeFragment().
|
inline |
Definition at line 198 of file MCFragment.h.
|
inline |
Definition at line 200 of file MCFragment.h.
Referenced by llvm::CodeViewContext::encodeDefRange(), llvm::MCAssembler::layout(), llvm::LoongArchAsmBackend::relaxLEB128(), and llvm::RISCVAsmBackend::relaxLEB128().
|
inline |
Definition at line 201 of file MCFragment.h.