LLVM: lib/Target/AMDGPU/R600FrameLowering.cpp Source File (original) (raw)
1
2
3
4
5
6
7
8
12
13using namespace llvm;
14
16
17
24
25
27
28
29
30
31 unsigned OffsetBytes = 2 * (getStackWidth(MF) * 4);
32 int UpperBound = FI == -1 ? MFI.getNumObjects() : FI;
33
37
38
40 }
41
42 if (FI != -1)
44
46}
AMDGPU R600 specific subclass of TargetSubtarget.
unsigned getStackWidth(const MachineFunction &MF) const
The MachineFrameInfo class represents an abstract stack frame until prolog/epilog code is inserted.
Align getObjectAlign(int ObjectIdx) const
Return the alignment of the specified stack object.
int64_t getObjectSize(int ObjectIdx) const
Return the size of the specified object.
unsigned getNumObjects() const
Return the number of objects.
int getObjectIndexBegin() const
Return the minimum frame object index.
const TargetSubtargetInfo & getSubtarget() const
getSubtarget - Return the subtarget for which this machine code is being compiled.
MachineFrameInfo & getFrameInfo()
getFrameInfo - Return the frame info object for the current function.
~R600FrameLowering() override
StackOffset getFrameIndexReference(const MachineFunction &MF, int FI, Register &FrameReg) const override
Definition R600FrameLowering.cpp:19
Wrapper class representing virtual and physical registers.
StackOffset holds a fixed and a scalable offset in bytes.
int64_t getFixed() const
Returns the fixed component of the stack.
This is an optimization pass for GlobalISel generic memory operations.
uint64_t alignTo(uint64_t Size, Align A)
Returns a multiple of A needed to store Size bytes.
This struct is a compact representation of a valid (non-zero power of two) alignment.
Register getFrameRegister(const MachineFunction &MF) const override