LLVM API Documentation

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Static Public Member Functions | List of all members
llvm::MCRelaxableFragment Class Reference

#include <MCAssembler.h>

Inheritance diagram for llvm::MCRelaxableFragment:
Inheritance graph
[legend]
Collaboration diagram for llvm::MCRelaxableFragment:
Collaboration graph
[legend]

Public Member Functions

 MCRelaxableFragment (const MCInst &_Inst, MCSectionData *SD=0)
 
virtual SmallVectorImpl< char > & getContents ()
 
virtual const SmallVectorImpl
< char > & 
getContents () const
 
const MCInstgetInst () const
 
void setInst (const MCInst &Value)
 
SmallVectorImpl< MCFixup > & getFixups ()
 
const SmallVectorImpl< MCFixup > & getFixups () const
 
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...
 
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::MCEncodedFragmentWithFixups
 MCEncodedFragmentWithFixups (MCFragment::FragmentType FType, MCSectionData *SD=0)
 
virtual ~MCEncodedFragmentWithFixups ()
 
- Public Member Functions inherited from llvm::MCEncodedFragment
 MCEncodedFragment (MCFragment::FragmentType FType, MCSectionData *SD=0)
 
virtual ~MCEncodedFragment ()
 
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...
 
- Public Member Functions inherited from llvm::MCFragment
 MCFragment ()
 
virtual ~MCFragment ()
 
FragmentType getKind () const
 
MCSectionDatagetParent () const
 
void setParent (MCSectionData *Value)
 
MCSymbolDatagetAtom () const
 
void setAtom (MCSymbolData *Value)
 
unsigned getLayoutOrder () const
 
void setLayoutOrder (unsigned Value)
 
virtual bool alignToBundleEnd () const
 Should this fragment be placed at the end of an aligned bundle? More...
 
virtual void setAlignToBundleEnd (bool V)
 
void dump ()
 
- Public Member Functions inherited from llvm::ilist_node< MCFragment >
MCFragmentgetPrevNode ()
 Get the previous node, or 0 for the list head. More...
 
const MCFragmentgetPrevNode () const
 Get the previous node, or 0 for the list head. More...
 
MCFragmentgetNextNode ()
 Get the next node, or 0 for the list tail. More...
 
const MCFragmentgetNextNode () const
 Get the next node, or 0 for the list tail. More...
 

Static Public Member Functions

static bool classof (const MCFragment *F)
 
- Static Public Member Functions inherited from llvm::MCEncodedFragmentWithFixups
static bool classof (const MCFragment *F)
 
- Static Public Member Functions inherited from llvm::MCEncodedFragment
static bool classof (const MCFragment *F)
 

Additional Inherited Members

- Public Types inherited from llvm::MCEncodedFragmentWithFixups
typedef SmallVectorImpl
< MCFixup >::const_iterator 
const_fixup_iterator
 
typedef SmallVectorImpl
< MCFixup >::iterator 
fixup_iterator
 
- Public Types inherited from llvm::MCFragment
enum  FragmentType {
  FT_Align, FT_Data, FT_CompactEncodedInst, FT_Fill,
  FT_Relaxable, FT_Org, FT_Dwarf, FT_DwarfFrame,
  FT_LEB
}
 
- Protected Member Functions inherited from llvm::MCFragment
 MCFragment (FragmentType _Kind, MCSectionData *_Parent=0)
 
- Protected Member Functions inherited from llvm::ilist_node< MCFragment >
 ilist_node ()
 

Detailed Description

A relaxable fragment holds on to its MCInst, since it may need to be relaxed during the assembler layout and relaxation stage.

Definition at line 285 of file MCAssembler.h.

Constructor & Destructor Documentation

llvm::MCRelaxableFragment::MCRelaxableFragment ( const MCInst _Inst,
MCSectionData SD = 0 
)
inline

Definition at line 298 of file MCAssembler.h.

Member Function Documentation

static bool llvm::MCRelaxableFragment::classof ( const MCFragment F)
inlinestatic

Definition at line 324 of file MCAssembler.h.

References llvm::MCFragment::FT_Relaxable, and llvm::MCFragment::getKind().

fixup_iterator llvm::MCRelaxableFragment::fixup_begin ( )
inlinevirtual

Implements llvm::MCEncodedFragmentWithFixups.

Definition at line 318 of file MCAssembler.h.

const_fixup_iterator llvm::MCRelaxableFragment::fixup_begin ( ) const
inlinevirtual

Implements llvm::MCEncodedFragmentWithFixups.

Definition at line 319 of file MCAssembler.h.

fixup_iterator llvm::MCRelaxableFragment::fixup_end ( )
inlinevirtual

Implements llvm::MCEncodedFragmentWithFixups.

Definition at line 321 of file MCAssembler.h.

const_fixup_iterator llvm::MCRelaxableFragment::fixup_end ( ) const
inlinevirtual

Implements llvm::MCEncodedFragmentWithFixups.

Definition at line 322 of file MCAssembler.h.

virtual SmallVectorImpl<char>& llvm::MCRelaxableFragment::getContents ( )
inlinevirtual

Implements llvm::MCEncodedFragment.

Definition at line 302 of file MCAssembler.h.

Referenced by llvm::MCObjectStreamer::EmitInstToFragment().

virtual const SmallVectorImpl<char>& llvm::MCRelaxableFragment::getContents ( ) const
inlinevirtual

Implements llvm::MCEncodedFragment.

Definition at line 303 of file MCAssembler.h.

SmallVectorImpl<MCFixup>& llvm::MCRelaxableFragment::getFixups ( )
inlinevirtual
const SmallVectorImpl<MCFixup>& llvm::MCRelaxableFragment::getFixups ( ) const
inlinevirtual

Implements llvm::MCEncodedFragmentWithFixups.

Definition at line 312 of file MCAssembler.h.

const MCInst& llvm::MCRelaxableFragment::getInst ( ) const
inline

Definition at line 305 of file MCAssembler.h.

Referenced by llvm::MCFragment::dump().

virtual bool llvm::MCRelaxableFragment::hasInstructions ( ) const
inlinevirtual

Does this fragment have instructions emitted into it? By default this is false, but specific fragment types may set it to true.

Reimplemented from llvm::MCFragment.

Definition at line 316 of file MCAssembler.h.

void llvm::MCRelaxableFragment::setInst ( const MCInst Value)
inline

Definition at line 306 of file MCAssembler.h.


The documentation for this class was generated from the following files: