summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAnton Korobeynikov <asl@math.spbu.ru>2009-07-16 14:11:40 +0000
committerAnton Korobeynikov <asl@math.spbu.ru>2009-07-16 14:11:40 +0000
commit20237e5071e11debf64d8bd16413b959f0879c00 (patch)
treecaa1ae083e5d9f06131ff3ea164409b50dac6550
parent427dce8678d735638cb45e13239df4003dfacb0d (diff)
downloadbcm5719-llvm-20237e5071e11debf64d8bd16413b959f0879c00.tar.gz
bcm5719-llvm-20237e5071e11debf64d8bd16413b959f0879c00.zip
Do not forget to save R15 when we allocate stack frame
llvm-svn: 75995
-rw-r--r--llvm/lib/Target/SystemZ/SystemZRegisterInfo.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/llvm/lib/Target/SystemZ/SystemZRegisterInfo.cpp b/llvm/lib/Target/SystemZ/SystemZRegisterInfo.cpp
index dc1561fb1a9..6e8982d94a9 100644
--- a/llvm/lib/Target/SystemZ/SystemZRegisterInfo.cpp
+++ b/llvm/lib/Target/SystemZ/SystemZRegisterInfo.cpp
@@ -149,7 +149,8 @@ SystemZRegisterInfo::processFunctionBeforeCalleeSavedScan(MachineFunction &MF,
/* FIXME: function calls eh_return */)
MF.getRegInfo().setPhysRegUsed(SystemZ::R14D);
- if (FFI->getObjectIndexEnd() != 0 || // Contains automatic variables
+ if (FFI->hasCalls() ||
+ FFI->getObjectIndexEnd() != 0 || // Contains automatic variables
FFI->hasVarSizedObjects() // Function calls dynamic alloca's
/* FIXME: function is varargs */)
MF.getRegInfo().setPhysRegUsed(SystemZ::R15D);
OpenPOWER on IntegriCloud