aboutsummaryrefslogtreecommitdiff
path: root/lib/Target/ARM/ARMMachineFunctionInfo.h
diff options
context:
space:
mode:
authorEvan Cheng <evan.cheng@apple.com>2007-01-29 22:22:24 +0000
committerEvan Cheng <evan.cheng@apple.com>2007-01-29 22:22:24 +0000
commit78268b943669cd0c0e1e874e2a329fcf200bd59b (patch)
tree7a213f94fc0d4062364a45291be9312b0f9379c0 /lib/Target/ARM/ARMMachineFunctionInfo.h
parent1620f1ad914bc6039f5d6c04ef4234f5bef30d20 (diff)
Remember if LR register has been spilled in this function.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33632 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/ARM/ARMMachineFunctionInfo.h')
-rw-r--r--lib/Target/ARM/ARMMachineFunctionInfo.h16
1 files changed, 12 insertions, 4 deletions
diff --git a/lib/Target/ARM/ARMMachineFunctionInfo.h b/lib/Target/ARM/ARMMachineFunctionInfo.h
index 05dc0dccde..6ce4d532ff 100644
--- a/lib/Target/ARM/ARMMachineFunctionInfo.h
+++ b/lib/Target/ARM/ARMMachineFunctionInfo.h
@@ -36,6 +36,10 @@ class ARMFunctionInfo : public MachineFunctionInfo {
/// processFunctionBeforeCalleeSavedScan().
bool HasStackFrame;
+ /// LRSpilled - True if the LR register has been spilled.
+ ///
+ bool LRSpilled;
+
/// FramePtrSpillOffset - If HasStackFrame, this records the frame pointer
/// spill stack offset.
unsigned FramePtrSpillOffset;
@@ -71,14 +75,14 @@ class ARMFunctionInfo : public MachineFunctionInfo {
public:
ARMFunctionInfo() :
isThumb(false),
- VarArgsRegSaveSize(0), HasStackFrame(false), FramePtrSpillOffset(0),
- GPRCS1Offset(0), GPRCS2Offset(0), DPRCSOffset(0),
+ VarArgsRegSaveSize(0), HasStackFrame(false), LRSpilled(false),
+ FramePtrSpillOffset(0), GPRCS1Offset(0), GPRCS2Offset(0), DPRCSOffset(0),
GPRCS1Size(0), GPRCS2Size(0), DPRCSSize(0), JumpTableUId(0) {}
ARMFunctionInfo(MachineFunction &MF) :
isThumb(MF.getTarget().getSubtarget<ARMSubtarget>().isThumb()),
- VarArgsRegSaveSize(0), HasStackFrame(false), FramePtrSpillOffset(0),
- GPRCS1Offset(0), GPRCS2Offset(0), DPRCSOffset(0),
+ VarArgsRegSaveSize(0), HasStackFrame(false), LRSpilled(false),
+ FramePtrSpillOffset(0), GPRCS1Offset(0), GPRCS2Offset(0), DPRCSOffset(0),
GPRCS1Size(0), GPRCS2Size(0), DPRCSSize(0), JumpTableUId(0) {}
bool isThumbFunction() const { return isThumb; }
@@ -88,6 +92,10 @@ public:
bool hasStackFrame() const { return HasStackFrame; }
void setHasStackFrame(bool s) { HasStackFrame = s; }
+
+ bool isLRSpilled() const { return LRSpilled; }
+ void setLRIsSpilled(bool s) { LRSpilled = s; }
+
unsigned getFramePtrSpillOffset() const { return FramePtrSpillOffset; }
void setFramePtrSpillOffset(unsigned o) { FramePtrSpillOffset = o; }