class MachineInstr::ExtraInfo
Declaration
class MachineInstr::ExtraInfo : private TrailingObjects { /* full declaration omitted */ };
Description
Internal implementation detail class that provides out-of-line storage for extra info used by the machine instruction when this info cannot be stored in-line within the instruction itself. This has to be defined eagerly due to the implementation constraints of `PointerSumType` where it is used.
Declared at: llvm/include/llvm/CodeGen/MachineInstr.h:147
Inherits from: TrailingObjects
Member Variables
- private const int NumMMOs
- private const bool HasPreInstrSymbol
- private const bool HasPostInstrSymbol
- private const bool HasHeapAllocMarker
Method Overview
- private ExtraInfo(int NumMMOs, bool HasPreInstrSymbol, bool HasPostInstrSymbol, bool HasHeapAllocMarker)
- public static llvm::MachineInstr::ExtraInfo * create(llvm::BumpPtrAllocator & Allocator, ArrayRef<llvm::MachineMemOperand *> MMOs, llvm::MCSymbol * PreInstrSymbol = nullptr, llvm::MCSymbol * PostInstrSymbol = nullptr, llvm::MDNode * HeapAllocMarker = nullptr)
- public llvm::MDNode * getHeapAllocMarker() const
- public ArrayRef<llvm::MachineMemOperand *> getMMOs() const
- public llvm::MCSymbol * getPostInstrSymbol() const
- public llvm::MCSymbol * getPreInstrSymbol() const
- private size_t numTrailingObjects(OverloadToken<llvm::MachineMemOperand *>) const
- private size_t numTrailingObjects(OverloadToken<llvm::MCSymbol *>) const
- private size_t numTrailingObjects(OverloadToken<llvm::MDNode *>) const
Methods
¶ExtraInfo(int NumMMOs,
bool HasPreInstrSymbol,
bool HasPostInstrSymbol,
bool HasHeapAllocMarker)
ExtraInfo(int NumMMOs,
bool HasPreInstrSymbol,
bool HasPostInstrSymbol,
bool HasHeapAllocMarker)
Declared at: llvm/include/llvm/CodeGen/MachineInstr.h:225
Parameters
- int NumMMOs
- bool HasPreInstrSymbol
- bool HasPostInstrSymbol
- bool HasHeapAllocMarker
¶static llvm::MachineInstr::ExtraInfo* create(
llvm::BumpPtrAllocator& Allocator,
ArrayRef<llvm::MachineMemOperand*> MMOs,
llvm::MCSymbol* PreInstrSymbol = nullptr,
llvm::MCSymbol* PostInstrSymbol = nullptr,
llvm::MDNode* HeapAllocMarker = nullptr)
static llvm::MachineInstr::ExtraInfo* create(
llvm::BumpPtrAllocator& Allocator,
ArrayRef<llvm::MachineMemOperand*> MMOs,
llvm::MCSymbol* PreInstrSymbol = nullptr,
llvm::MCSymbol* PostInstrSymbol = nullptr,
llvm::MDNode* HeapAllocMarker = nullptr)
Declared at: llvm/include/llvm/CodeGen/MachineInstr.h:150
Parameters
- llvm::BumpPtrAllocator& Allocator
- ArrayRef<llvm::MachineMemOperand*> MMOs
- llvm::MCSymbol* PreInstrSymbol = nullptr
- llvm::MCSymbol* PostInstrSymbol = nullptr
- llvm::MDNode* HeapAllocMarker = nullptr
¶llvm::MDNode* getHeapAllocMarker() const
llvm::MDNode* getHeapAllocMarker() const
Declared at: llvm/include/llvm/CodeGen/MachineInstr.h:195
¶ArrayRef<llvm::MachineMemOperand*> getMMOs() const
ArrayRef<llvm::MachineMemOperand*> getMMOs() const
Declared at: llvm/include/llvm/CodeGen/MachineInstr.h:181
¶llvm::MCSymbol* getPostInstrSymbol() const
llvm::MCSymbol* getPostInstrSymbol() const
Declared at: llvm/include/llvm/CodeGen/MachineInstr.h:189
¶llvm::MCSymbol* getPreInstrSymbol() const
llvm::MCSymbol* getPreInstrSymbol() const
Declared at: llvm/include/llvm/CodeGen/MachineInstr.h:185
¶size_t numTrailingObjects(
OverloadToken<llvm::MachineMemOperand*>) const
size_t numTrailingObjects(
OverloadToken<llvm::MachineMemOperand*>) const
Declared at: llvm/include/llvm/CodeGen/MachineInstr.h:213
Parameters
- OverloadToken<llvm::MachineMemOperand*>
¶size_t numTrailingObjects(
OverloadToken<llvm::MCSymbol*>) const
size_t numTrailingObjects(
OverloadToken<llvm::MCSymbol*>) const
Declared at: llvm/include/llvm/CodeGen/MachineInstr.h:216
Parameters
- OverloadToken<llvm::MCSymbol*>
¶size_t numTrailingObjects(
OverloadToken<llvm::MDNode*>) const
size_t numTrailingObjects(
OverloadToken<llvm::MDNode*>) const
Declared at: llvm/include/llvm/CodeGen/MachineInstr.h:219
Parameters
- OverloadToken<llvm::MDNode*>