LLVM API Documentation
#include <MCAssembler.h>
Public Types | |
typedef SmallVectorImpl < MCFixup >::const_iterator | const_fixup_iterator |
typedef SmallVectorImpl < MCFixup >::iterator | fixup_iterator |
![]() | |
enum | FragmentType { FT_Align, FT_Data, FT_CompactEncodedInst, FT_Fill, FT_Relaxable, FT_Org, FT_Dwarf, FT_DwarfFrame, FT_LEB } |
Public Member Functions | |
MCEncodedFragmentWithFixups (MCFragment::FragmentType FType, MCSectionData *SD=0) | |
virtual | ~MCEncodedFragmentWithFixups () |
virtual SmallVectorImpl < MCFixup > & | getFixups ()=0 |
virtual const SmallVectorImpl < MCFixup > & | getFixups () const =0 |
virtual fixup_iterator | fixup_begin ()=0 |
virtual const_fixup_iterator | fixup_begin () const =0 |
virtual fixup_iterator | fixup_end ()=0 |
virtual const_fixup_iterator | fixup_end () const =0 |
![]() | |
MCEncodedFragment (MCFragment::FragmentType FType, MCSectionData *SD=0) | |
virtual | ~MCEncodedFragment () |
virtual SmallVectorImpl< char > & | getContents ()=0 |
virtual const SmallVectorImpl < char > & | getContents () const =0 |
virtual uint8_t | getBundlePadding () const |
Get the padding size that must be inserted before this fragment. Used for bundling. By default, no padding is inserted. Note that padding size is restricted to 8 bits. This is an optimization to reduce the amount of space used for each fragment. In practice, larger padding should never be required. More... | |
virtual void | setBundlePadding (uint8_t N) |
Set the padding size for this fragment. By default it's a no-op, and only some fragments have a meaningful implementation. More... | |
![]() | |
MCFragment () | |
virtual | ~MCFragment () |
FragmentType | getKind () const |
MCSectionData * | getParent () const |
void | setParent (MCSectionData *Value) |
MCSymbolData * | getAtom () const |
void | setAtom (MCSymbolData *Value) |
unsigned | getLayoutOrder () const |
void | setLayoutOrder (unsigned Value) |
virtual 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. More... | |
virtual bool | alignToBundleEnd () const |
Should this fragment be placed at the end of an aligned bundle? More... | |
virtual void | setAlignToBundleEnd (bool V) |
void | dump () |
![]() | |
MCFragment * | getPrevNode () |
Get the previous node, or 0 for the list head. More... | |
const MCFragment * | getPrevNode () const |
Get the previous node, or 0 for the list head. More... | |
MCFragment * | getNextNode () |
Get the next node, or 0 for the list tail. More... | |
const MCFragment * | getNextNode () const |
Get the next node, or 0 for the list tail. More... | |
Static Public Member Functions | |
static bool | classof (const MCFragment *F) |
![]() | |
static bool | classof (const MCFragment *F) |
Additional Inherited Members | |
![]() | |
MCFragment (FragmentType _Kind, MCSectionData *_Parent=0) | |
![]() | |
ilist_node () | |
Interface implemented by fragments that contain encoded instructions and/or data and also have fixups registered.
Definition at line 170 of file MCAssembler.h.
typedef SmallVectorImpl<MCFixup>::const_iterator llvm::MCEncodedFragmentWithFixups::const_fixup_iterator |
Definition at line 182 of file MCAssembler.h.
typedef SmallVectorImpl<MCFixup>::iterator llvm::MCEncodedFragmentWithFixups::fixup_iterator |
Definition at line 183 of file MCAssembler.h.
|
inline |
Definition at line 174 of file MCAssembler.h.
|
virtual |
Definition at line 228 of file MCAssembler.cpp.
|
inlinestatic |
Definition at line 193 of file MCAssembler.h.
References llvm::MCFragment::FT_Data, llvm::MCFragment::FT_Relaxable, and llvm::MCFragment::getKind().
|
pure virtual |
Implemented in llvm::MCRelaxableFragment, and llvm::MCDataFragment.
Referenced by llvm::MCAssembler::Finish().
|
pure virtual |
Implemented in llvm::MCRelaxableFragment, and llvm::MCDataFragment.
|
pure virtual |
Implemented in llvm::MCRelaxableFragment, and llvm::MCDataFragment.
Referenced by llvm::MCAssembler::Finish().
|
pure virtual |
Implemented in llvm::MCRelaxableFragment, and llvm::MCDataFragment.
|
pure virtual |
Implemented in llvm::MCRelaxableFragment, and llvm::MCDataFragment.
|
pure virtual |
Implemented in llvm::MCRelaxableFragment, and llvm::MCDataFragment.