LLVM 22.0.0git
llvm::MCBoundaryAlignFragment Class Reference

Represents required padding such that a particular other set of fragments does not cross a particular power-of-two boundary. More...

#include "llvm/MC/MCSection.h"

Inheritance diagram for llvm::MCBoundaryAlignFragment:
[legend]

Public Member Functions

 MCBoundaryAlignFragment (Align AlignBoundary, const MCSubtargetInfo &STI)
uint64_t getSize () const
void setSize (uint64_t Value)
Align getAlignment () const
void setAlignment (Align Value)
const MCFragmentgetLastFragment () const
void setLastFragment (const MCFragment *F)
const MCSubtargetInfogetSubtargetInfo () const
Public Member Functions inherited from llvm::MCFragment
LLVM_ABI MCFragment (FragmentType Kind=MCFragment::FT_Data, bool HasInstructions=false)
 MCFragment (const MCFragment &)=delete
MCFragmentoperator= (const MCFragment &)=delete
MCFragmentgetNext () const
FragmentType getKind () const
MCSectiongetParent () const
void setParent (MCSection *Value)
LLVM_ABI const MCSymbolgetAtom () const
unsigned getLayoutOrder () const
void setLayoutOrder (unsigned Value)
bool hasInstructions () const
 Does this fragment have instructions emitted into it?
LLVM_ABI void dump () const
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.
bool isLinkerRelaxable () const
void setLinkerRelaxable ()
bool getAllowAutoPadding () const
void setAllowAutoPadding (bool V)
MutableArrayRef< chargetContents ()
ArrayRef< chargetContents () const
LLVM_ABI void setVarContents (ArrayRef< char > Contents)
void clearVarContents ()
MutableArrayRef< chargetVarContents ()
ArrayRef< chargetVarContents () const
size_t getFixedSize () const
size_t getVarSize () const
size_t getSize () const
void clearFixups ()
LLVM_ABI void addFixup (MCFixup Fixup)
LLVM_ABI void appendFixups (ArrayRef< MCFixup > Fixups)
MutableArrayRef< MCFixupgetFixups ()
ArrayRef< MCFixupgetFixups () const
LLVM_ABI void setVarFixups (ArrayRef< MCFixup > Fixups)
void clearVarFixups ()
MutableArrayRef< MCFixupgetVarFixups ()
ArrayRef< MCFixupgetVarFixups () const
unsigned getOpcode () const
ArrayRef< MCOperandgetOperands () const
MCInst getInst () const
void setInst (const MCInst &Inst)
void makeAlign (Align Alignment, int64_t Fill, uint8_t FillLen, unsigned MaxBytesToEmit)
Align getAlignment () const
int64_t getAlignFill () const
uint8_t getAlignFillLen () const
unsigned getAlignMaxBytesToEmit () const
bool hasAlignEmitNops () const
void makeLEB (bool IsSigned, const MCExpr *Value)
const MCExprgetLEBValue () const
void setLEBValue (const MCExpr *Expr)
bool isLEBSigned () const
const MCExprgetDwarfAddrDelta () const
void setDwarfAddrDelta (const MCExpr *E)
int64_t getDwarfLineDelta () const
void setDwarfLineDelta (int64_t LineDelta)
const MCExprgetSFrameAddrDelta () const
void setSFrameAddrDelta (const MCExpr *E)
MCFragmentgetSFrameFDE () const
void setSFrameFDE (MCFragment *F)

Static Public Member Functions

static bool classof (const MCFragment *F)

Additional Inherited Members

Public Types inherited from llvm::MCFragment
enum  FragmentType : uint8_t {
  FT_Data , FT_Relaxable , FT_Align , FT_Fill ,
  FT_LEB , FT_Nops , FT_Org , FT_Dwarf ,
  FT_DwarfFrame , FT_SFrame , FT_BoundaryAlign , FT_SymbolId ,
  FT_CVInlineLines , FT_CVDefRange
}

Detailed Description

Represents required padding such that a particular other set of fragments does not cross a particular power-of-two boundary.

The other fragments must follow this one within the same section.

Definition at line 484 of file MCSection.h.

Constructor & Destructor Documentation

◆ MCBoundaryAlignFragment()

llvm::MCBoundaryAlignFragment::MCBoundaryAlignFragment ( Align AlignBoundary,
const MCSubtargetInfo & STI )
inline

Member Function Documentation

◆ classof()

bool llvm::MCBoundaryAlignFragment::classof ( const MCFragment * F)
inlinestatic

◆ getAlignment()

Align llvm::MCBoundaryAlignFragment::getAlignment ( ) const
inline

Definition at line 503 of file MCSection.h.

◆ getLastFragment()

const MCFragment * llvm::MCBoundaryAlignFragment::getLastFragment ( ) const
inline

Definition at line 506 of file MCSection.h.

References llvm::MCFragment::MCFragment().

◆ getSize()

uint64_t llvm::MCBoundaryAlignFragment::getSize ( ) const
inline

Definition at line 500 of file MCSection.h.

◆ getSubtargetInfo()

const MCSubtargetInfo * llvm::MCBoundaryAlignFragment::getSubtargetInfo ( ) const
inline

Definition at line 512 of file MCSection.h.

Referenced by writeFragment().

◆ setAlignment()

void llvm::MCBoundaryAlignFragment::setAlignment ( Align Value)
inline

Definition at line 504 of file MCSection.h.

◆ setLastFragment()

void llvm::MCBoundaryAlignFragment::setLastFragment ( const MCFragment * F)
inline

◆ setSize()

void llvm::MCBoundaryAlignFragment::setSize ( uint64_t Value)
inline

Definition at line 501 of file MCSection.h.


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