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::MCEncodedFragment Class Referenceabstract

#include <MCAssembler.h>

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

Public Member Functions

 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...
 
- 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 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 ()
 
- 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)
 

Additional Inherited Members

- 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

Interface implemented by fragments that contain encoded instructions and/or data.

Definition at line 132 of file MCAssembler.h.

Constructor & Destructor Documentation

llvm::MCEncodedFragment::MCEncodedFragment ( MCFragment::FragmentType  FType,
MCSectionData SD = 0 
)
inline

Definition at line 137 of file MCAssembler.h.

MCEncodedFragment::~MCEncodedFragment ( )
virtual

Definition at line 223 of file MCAssembler.cpp.

Member Function Documentation

static bool llvm::MCEncodedFragment::classof ( const MCFragment F)
inlinestatic
virtual uint8_t llvm::MCEncodedFragment::getBundlePadding ( ) const
inlinevirtual

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.

Reimplemented from llvm::MCFragment.

Definition at line 146 of file MCAssembler.h.

virtual SmallVectorImpl<char>& llvm::MCEncodedFragment::getContents ( )
pure virtual
virtual const SmallVectorImpl<char>& llvm::MCEncodedFragment::getContents ( ) const
pure virtual
virtual void llvm::MCEncodedFragment::setBundlePadding ( uint8_t  N)
inlinevirtual

Set the padding size for this fragment. By default it's a no-op, and only some fragments have a meaningful implementation.

Reimplemented from llvm::MCFragment.

Definition at line 150 of file MCAssembler.h.

References N.


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