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() const
Description
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() const
Description
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()
const
Description
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