LLVM  6.0.0svn
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | List of all members
llvm::MCEncodedFragmentWithFixups< ContentsSize, FixupsSize > Class Template Reference

Interface implemented by fragments that contain encoded instructions and/or data and also have fixups registered. More...

#include "llvm/MC/MCFragment.h"

Inheritance diagram for llvm::MCEncodedFragmentWithFixups< ContentsSize, FixupsSize >:
Inheritance graph
[legend]
Collaboration diagram for llvm::MCEncodedFragmentWithFixups< ContentsSize, FixupsSize >:
Collaboration graph
[legend]

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_CompactEncodedInst, FT_Fill,
  FT_Relaxable, FT_Org, FT_Dwarf, FT_DwarfFrame,
  FT_LEB, FT_Padding, FT_SymbolId, FT_CVInlineLines,
  FT_CVDefRange, FT_Dummy
}
 

Public Member Functions

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::MCEncodedFragmentWithContents< ContentsSize >
SmallVectorImpl< char > & getContents ()
 
const SmallVectorImpl< char > & getContents () const
 
- Public Member Functions inherited from llvm::MCFragment
 MCFragment ()=delete
 
 MCFragment (const MCFragment &)=delete
 
MCFragmentoperator= (const MCFragment &)=delete
 
void destroy ()
 Destroys the current fragment. More...
 
FragmentType getKind () const
 
MCSectiongetParent () const
 
void setParent (MCSection *Value)
 
const MCSymbolgetAtom () const
 
void setAtom (const MCSymbol *Value)
 
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. More...
 
bool alignToBundleEnd () const
 Should this fragment be placed at the end of an aligned bundle? More...
 
void setAlignToBundleEnd (bool V)
 
uint8_t getBundlePadding () const
 Get the padding size that must be inserted before this fragment. More...
 
void setBundlePadding (uint8_t N)
 Set the padding size for this fragment. More...
 
bool isDummy () const
 Return true if given frgment has FT_Dummy type. More...
 
void dump () const
 
- Public Member Functions inherited from llvm::ilist_node_with_parent< MCFragment, MCSection >
MCFragmentgetPrevNode ()
 
const MCFragmentgetPrevNode () const
 Get the previous node, or nullptr for the list head. More...
 
MCFragmentgetNextNode ()
 Get the next node, or nullptr for the list tail. More...
 
const MCFragmentgetNextNode () const
 Get the next node, or nullptr for the list tail. More...
 
- Public Member Functions inherited from llvm::ilist_node_impl< ilist_detail::compute_node_options< MCFragment, Options... >::type >
self_iterator getIterator ()
 
const_self_iterator getIterator () const
 
reverse_self_iterator getReverseIterator ()
 
const_reverse_self_iterator getReverseIterator () const
 
bool isSentinel () const
 Check whether this is the sentinel node. More...
 

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, MCSection *Sec)
 
- Protected Member Functions inherited from llvm::MCEncodedFragmentWithContents< ContentsSize >
 MCEncodedFragmentWithContents (MCFragment::FragmentType FType, bool HasInstructions, MCSection *Sec)
 
- Protected Member Functions inherited from llvm::MCEncodedFragment
 MCEncodedFragment (MCFragment::FragmentType FType, bool HasInstructions, MCSection *Sec)
 
- Protected Member Functions inherited from llvm::MCFragment
 MCFragment (FragmentType Kind, bool HasInstructions, uint8_t BundlePadding, MCSection *Parent=nullptr)
 
 ~MCFragment ()
 
- Protected Member Functions inherited from llvm::ilist_node_with_parent< MCFragment, MCSection >
 ilist_node_with_parent ()=default
 
- Protected Member Functions inherited from llvm::ilist_node_impl< ilist_detail::compute_node_options< MCFragment, Options... >::type >
 ilist_node_impl ()=default
 

Additional Inherited Members

- Protected Types inherited from llvm::ilist_node_impl< ilist_detail::compute_node_options< MCFragment, Options... >::type >
using self_iterator = ilist_iterator< ilist_detail::compute_node_options< MCFragment, Options... >::type, false, false >
 
using const_self_iterator = ilist_iterator< ilist_detail::compute_node_options< MCFragment, Options... >::type, false, true >
 
using reverse_self_iterator = ilist_iterator< ilist_detail::compute_node_options< MCFragment, Options... >::type, true, false >
 
using const_reverse_self_iterator = ilist_iterator< ilist_detail::compute_node_options< MCFragment, Options... >::type, true, true >
 
- Protected Attributes inherited from llvm::MCFragment
bool HasInstructions
 

Detailed Description

template<unsigned ContentsSize, unsigned FixupsSize>
class llvm::MCEncodedFragmentWithFixups< ContentsSize, FixupsSize >

Interface implemented by fragments that contain encoded instructions and/or data and also have fixups registered.

Definition at line 191 of file MCFragment.h.

Member Typedef Documentation

◆ const_fixup_iterator

template<unsigned ContentsSize, unsigned FixupsSize>
using llvm::MCEncodedFragmentWithFixups< ContentsSize, FixupsSize >::const_fixup_iterator = SmallVectorImpl<MCFixup>::const_iterator

Definition at line 205 of file MCFragment.h.

◆ fixup_iterator

template<unsigned ContentsSize, unsigned FixupsSize>
using llvm::MCEncodedFragmentWithFixups< ContentsSize, FixupsSize >::fixup_iterator = SmallVectorImpl<MCFixup>::iterator

Definition at line 206 of file MCFragment.h.

Constructor & Destructor Documentation

◆ MCEncodedFragmentWithFixups()

template<unsigned ContentsSize, unsigned FixupsSize>
llvm::MCEncodedFragmentWithFixups< ContentsSize, FixupsSize >::MCEncodedFragmentWithFixups ( MCFragment::FragmentType  FType,
bool  HasInstructions,
MCSection Sec 
)
inlineprotected

Definition at line 198 of file MCFragment.h.

Member Function Documentation

◆ classof()

template<unsigned ContentsSize, unsigned FixupsSize>
static bool llvm::MCEncodedFragmentWithFixups< ContentsSize, FixupsSize >::classof ( const MCFragment F)
inlinestatic

Definition at line 217 of file MCFragment.h.

◆ fixup_begin() [1/2]

template<unsigned ContentsSize, unsigned FixupsSize>
fixup_iterator llvm::MCEncodedFragmentWithFixups< ContentsSize, FixupsSize >::fixup_begin ( )
inline

Definition at line 211 of file MCFragment.h.

Referenced by llvm::MCFragment::dump(), and llvm::MCAssembler::writeSectionData().

◆ fixup_begin() [2/2]

template<unsigned ContentsSize, unsigned FixupsSize>
const_fixup_iterator llvm::MCEncodedFragmentWithFixups< ContentsSize, FixupsSize >::fixup_begin ( ) const
inline

Definition at line 212 of file MCFragment.h.

◆ fixup_end() [1/2]

template<unsigned ContentsSize, unsigned FixupsSize>
fixup_iterator llvm::MCEncodedFragmentWithFixups< ContentsSize, FixupsSize >::fixup_end ( )
inline

Definition at line 214 of file MCFragment.h.

Referenced by llvm::MCFragment::dump(), and llvm::MCAssembler::writeSectionData().

◆ fixup_end() [2/2]

template<unsigned ContentsSize, unsigned FixupsSize>
const_fixup_iterator llvm::MCEncodedFragmentWithFixups< ContentsSize, FixupsSize >::fixup_end ( ) const
inline

Definition at line 215 of file MCFragment.h.

◆ getFixups() [1/2]

template<unsigned ContentsSize, unsigned FixupsSize>
SmallVectorImpl<MCFixup>& llvm::MCEncodedFragmentWithFixups< ContentsSize, FixupsSize >::getFixups ( )
inline

◆ getFixups() [2/2]

template<unsigned ContentsSize, unsigned FixupsSize>
const SmallVectorImpl<MCFixup>& llvm::MCEncodedFragmentWithFixups< ContentsSize, FixupsSize >::getFixups ( ) const
inline

Definition at line 209 of file MCFragment.h.


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