struct MachineFrameInfo::StackObject
Declaration
struct MachineFrameInfo::StackObject { /* full declaration omitted */ };
Declared at: llvm/include/llvm/CodeGen/MachineFrameInfo.h:123
Member Variables
- public int64_t SPOffset
- public uint64_t Size
- public llvm::Align Alignment
- public bool isImmutable
- public bool isSpillSlot
- public bool isStatepointSpillSlot = false
- If true, this stack slot is used to spill a value (could be deopt and/or GC related) over a statepoint. We know that the address of the slot can't alias any LLVM IR value. This is very similar to a Spill Slot, but is created by statepoint lowering is SelectionDAG, not the register allocator.
- public uint8_t StackID
- It is assumed a target uses consecutive, increasing stack IDs starting from 1.
- public const llvm::AllocaInst* Alloca
- If this stack object is originated from an Alloca instruction this value saves the original IR allocation. Can be NULL.
- public bool PreAllocated = false
- public bool isAliased
- public bool isZExt = false
- If true, the object has been zero-extended.
- public bool isSExt = false
- If true, the object has been zero-extended.
- public uint8_t SSPLayout
Method Overview
- public StackObject(uint64_t Size, llvm::Align Alignment, int64_t SPOffset, bool IsImmutable, bool IsSpillSlot, const llvm::AllocaInst * Alloca, bool IsAliased, uint8_t StackID = 0)
Methods
ΒΆStackObject(uint64_t Size,
llvm::Align Alignment,
int64_t SPOffset,
bool IsImmutable,
bool IsSpillSlot,
const llvm::AllocaInst* Alloca,
bool IsAliased,
uint8_t StackID = 0)
StackObject(uint64_t Size,
llvm::Align Alignment,
int64_t SPOffset,
bool IsImmutable,
bool IsSpillSlot,
const llvm::AllocaInst* Alloca,
bool IsAliased,
uint8_t StackID = 0)
Declared at: llvm/include/llvm/CodeGen/MachineFrameInfo.h:184
Parameters
- uint64_t Size
- llvm::Align Alignment
- int64_t SPOffset
- bool IsImmutable
- bool IsSpillSlot
- const llvm::AllocaInst* Alloca
- bool IsAliased
- uint8_t StackID = 0