summaryrefslogtreecommitdiff
path: root/lib/Target/Sparc/SparcMachineFunctionInfo.h
diff options
context:
space:
mode:
authorVenkatraman Govindaraju <venkatra@cs.wisc.edu>2013-05-29 04:46:31 +0000
committerVenkatraman Govindaraju <venkatra@cs.wisc.edu>2013-05-29 04:46:31 +0000
commit530086925695f074b0e1e38a0d88ee6a4c91c54c (patch)
tree3f0208636976c50c5a15795252265ff6a59225e6 /lib/Target/Sparc/SparcMachineFunctionInfo.h
parent0cf4adbcef584cb56254e253b47315b4c3d073ec (diff)
downloadllvm-530086925695f074b0e1e38a0d88ee6a4c91c54c.tar.gz
llvm-530086925695f074b0e1e38a0d88ee6a4c91c54c.tar.bz2
llvm-530086925695f074b0e1e38a0d88ee6a4c91c54c.tar.xz
[Sparc] Add support for leaf functions in sparc backend.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@182822 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/Sparc/SparcMachineFunctionInfo.h')
-rw-r--r--lib/Target/Sparc/SparcMachineFunctionInfo.h12
1 files changed, 10 insertions, 2 deletions
diff --git a/lib/Target/Sparc/SparcMachineFunctionInfo.h b/lib/Target/Sparc/SparcMachineFunctionInfo.h
index 90c27a4459..3783c16d99 100644
--- a/lib/Target/Sparc/SparcMachineFunctionInfo.h
+++ b/lib/Target/Sparc/SparcMachineFunctionInfo.h
@@ -28,11 +28,16 @@ namespace llvm {
/// SRetReturnReg - Holds the virtual register into which the sret
/// argument is passed.
unsigned SRetReturnReg;
+
+ /// IsLeafProc - True if the function is a leaf procedure.
+ bool IsLeafProc;
public:
SparcMachineFunctionInfo()
- : GlobalBaseReg(0), VarArgsFrameOffset(0), SRetReturnReg(0) {}
+ : GlobalBaseReg(0), VarArgsFrameOffset(0), SRetReturnReg(0),
+ IsLeafProc(false) {}
explicit SparcMachineFunctionInfo(MachineFunction &MF)
- : GlobalBaseReg(0), VarArgsFrameOffset(0), SRetReturnReg(0) {}
+ : GlobalBaseReg(0), VarArgsFrameOffset(0), SRetReturnReg(0),
+ IsLeafProc(false) {}
unsigned getGlobalBaseReg() const { return GlobalBaseReg; }
void setGlobalBaseReg(unsigned Reg) { GlobalBaseReg = Reg; }
@@ -42,6 +47,9 @@ namespace llvm {
unsigned getSRetReturnReg() const { return SRetReturnReg; }
void setSRetReturnReg(unsigned Reg) { SRetReturnReg = Reg; }
+
+ void setLeafProc(bool rhs) { IsLeafProc = rhs; }
+ bool isLeafProc() const { return IsLeafProc; }
};
}