mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2026-04-26 12:20:42 +00:00
Re-apply 56683 with fixes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56748 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -118,6 +118,10 @@ class MachineFrameInfo {
|
||||
///
|
||||
bool HasVarSizedObjects;
|
||||
|
||||
/// FrameAddressTaken - This boolean keeps track of whether there is a call
|
||||
/// to builtin @llvm.frameaddress.
|
||||
bool FrameAddressTaken;
|
||||
|
||||
/// StackSize - The prolog/epilog code inserter calculates the final stack
|
||||
/// offsets for all of the fixed size objects, updating the Objects list
|
||||
/// above. It then updates StackSize to contain the number of bytes that need
|
||||
@@ -174,6 +178,7 @@ public:
|
||||
MachineFrameInfo(const TargetFrameInfo &tfi) : TFI(tfi) {
|
||||
StackSize = NumFixedObjects = OffsetAdjustment = MaxAlignment = 0;
|
||||
HasVarSizedObjects = false;
|
||||
FrameAddressTaken = false;
|
||||
HasCalls = false;
|
||||
MaxCallFrameSize = 0;
|
||||
MMI = 0;
|
||||
@@ -190,6 +195,12 @@ public:
|
||||
///
|
||||
bool hasVarSizedObjects() const { return HasVarSizedObjects; }
|
||||
|
||||
/// isFrameAddressTaken - This method may be called any time after instruction
|
||||
/// selection is complete to determine if there is a call to
|
||||
/// @llvm.frameaddress in this function.
|
||||
bool isFrameAddressTaken() const { return FrameAddressTaken; }
|
||||
void setFrameAddressIsTaken(bool T) { FrameAddressTaken = T; }
|
||||
|
||||
/// getObjectIndexBegin - Return the minimum frame object index...
|
||||
///
|
||||
int getObjectIndexBegin() const { return -NumFixedObjects; }
|
||||
|
||||
Reference in New Issue
Block a user