class MCEncodedFragment
Declaration
class MCEncodedFragment : public MCFragment { /* full declaration omitted */ };Description
Interface implemented by fragments that contain encoded instructions and/or data.
Declared at: llvm/include/llvm/MC/MCFragment.h:113
Inherits from: MCFragment
Member Variables
- protected const llvm::MCSubtargetInfo* STI = nullptr
- The MCSubtargetInfo in effect when the instruction was encoded. It must be non-null for instructions.
Inherited from MCFragment:
Method Overview
- protected MCEncodedFragment(MCFragment::FragmentType FType, bool HasInstructions, llvm::MCSection * Sec)
- public bool alignToBundleEnd() const
- public static bool classof(const llvm::MCFragment * F)
- public uint8_t getBundlePadding() const
- public const llvm::MCSubtargetInfo * getSubtargetInfo() const
- public void setAlignToBundleEnd(bool V)
- public void setBundlePadding(uint8_t N)
- public void setHasInstructions(const llvm::MCSubtargetInfo & STI)
Inherited from MCFragment:
- public destroy
- public dump
- public getAtom
- public getKind
- public getLayoutOrder
- public getParent
- public hasInstructions
- public setAtom
- public setLayoutOrder
- public setParent
Methods
¶MCEncodedFragment(MCFragment::FragmentType FType,
bool HasInstructions,
llvm::MCSection* Sec)
MCEncodedFragment(MCFragment::FragmentType FType,
bool HasInstructions,
llvm::MCSection* Sec)Declared at: llvm/include/llvm/MC/MCFragment.h:120
Parameters
- MCFragment::FragmentType FType
- bool HasInstructions
- llvm::MCSection* Sec
¶bool alignToBundleEnd() const
bool alignToBundleEnd() constDescription
Should this fragment be placed at the end of an aligned bundle?
Declared at: llvm/include/llvm/MC/MCFragment.h:144
¶static bool classof(const llvm::MCFragment* F)
static bool classof(const llvm::MCFragment* F)Declared at: llvm/include/llvm/MC/MCFragment.h:129
Parameters
- const llvm::MCFragment* F
¶uint8_t getBundlePadding() const
uint8_t getBundlePadding() constDescription
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.
Declared at: llvm/include/llvm/MC/MCFragment.h:152
¶const llvm::MCSubtargetInfo* getSubtargetInfo()
const
const llvm::MCSubtargetInfo* getSubtargetInfo()
constDescription
Retrieve the MCSubTargetInfo in effect when the instruction was encoded. Guaranteed to be non-null if hasInstructions() == true
Declared at: llvm/include/llvm/MC/MCFragment.h:160
¶void setAlignToBundleEnd(bool V)
void setAlignToBundleEnd(bool V)Declared at: llvm/include/llvm/MC/MCFragment.h:145
Parameters
- bool V
¶void setBundlePadding(uint8_t N)
void setBundlePadding(uint8_t N)Description
Set the padding size for this fragment. By default it's a no-op, and only some fragments have a meaningful implementation.
Declared at: llvm/include/llvm/MC/MCFragment.h:156
Parameters
- uint8_t N
¶void setHasInstructions(
const llvm::MCSubtargetInfo& STI)
void setHasInstructions(
const llvm::MCSubtargetInfo& STI)Description
Record that the fragment contains instructions with the MCSubtargetInfo in effect when the instruction was encoded.
Declared at: llvm/include/llvm/MC/MCFragment.h:164
Parameters
- const llvm::MCSubtargetInfo& STI