LLVM 20.0.0git
Public Member Functions | Static Public Member Functions | Friends | List of all members
llvm::MCCVDefRangeFragment Class Reference

Fragment representing the .cv_def_range directive. More...

#include "llvm/MC/MCFragment.h"

Inheritance diagram for llvm::MCCVDefRangeFragment:
Inheritance graph
[legend]

Public Member Functions

 MCCVDefRangeFragment (ArrayRef< std::pair< const MCSymbol *, const MCSymbol * > > Ranges, StringRef FixedSizePortion)
 
ArrayRef< std::pair< const MCSymbol *, const MCSymbol * > > getRanges () const
 
StringRef getFixedSizePortion () const
 
- Public Member Functions inherited from llvm::MCEncodedFragmentWithFixups< 32, 4 >
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 MCSubtargetInfogetSubtargetInfo () 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
 
MCFragmentoperator= (const MCFragment &)=delete
 
void destroy ()
 Destroys the current fragment.
 
MCFragmentgetNext () const
 
FragmentType getKind () const
 
MCSectiongetParent () const
 
void setParent (MCSection *Value)
 
const MCSymbolgetAtom () 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::MCEncodedFragmentWithFixups< 32, 4 >
static bool classof (const MCFragment *F)
 
- Static Public Member Functions inherited from llvm::MCEncodedFragment
static bool classof (const MCFragment *F)
 

Friends

class CodeViewContext
 CodeViewContext has the real knowledge about this format, so let it access our members.
 

Additional Inherited Members

- Public Types inherited from llvm::MCEncodedFragmentWithFixups< 32, 4 >
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
}
 
- Protected Member Functions inherited from llvm::MCEncodedFragmentWithFixups< 32, 4 >
 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)
 
- Protected Attributes inherited from llvm::MCEncodedFragment
const MCSubtargetInfoSTI = 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.
 

Detailed Description

Fragment representing the .cv_def_range directive.

Definition at line 503 of file MCFragment.h.

Constructor & Destructor Documentation

◆ MCCVDefRangeFragment()

llvm::MCCVDefRangeFragment::MCCVDefRangeFragment ( ArrayRef< std::pair< const MCSymbol *, const MCSymbol * > >  Ranges,
StringRef  FixedSizePortion 
)
inline

Definition at line 512 of file MCFragment.h.

Member Function Documentation

◆ classof()

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

Definition at line 524 of file MCFragment.h.

References F, and llvm::MCFragment::FT_CVDefRange.

◆ getFixedSizePortion()

StringRef llvm::MCCVDefRangeFragment::getFixedSizePortion ( ) const
inline

◆ getRanges()

ArrayRef< std::pair< const MCSymbol *, const MCSymbol * > > llvm::MCCVDefRangeFragment::getRanges ( ) const
inline

Definition at line 518 of file MCFragment.h.

Referenced by llvm::CodeViewContext::encodeDefRange().

Friends And Related Function Documentation

◆ CodeViewContext

friend class CodeViewContext
friend

CodeViewContext has the real knowledge about this format, so let it access our members.

Definition at line 509 of file MCFragment.h.


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