summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/PowerPC/PPCRegisterInfo.cpp
diff options
context:
space:
mode:
authorJim Laskey <jlaskey@mac.com>2006-11-17 16:09:31 +0000
committerJim Laskey <jlaskey@mac.com>2006-11-17 16:09:31 +0000
commit1823346b3ee7eb1034687d527399df56336f93de (patch)
treefe4e6146096a3a7e7ea3f0c40acaebd61656cd4b /llvm/lib/Target/PowerPC/PPCRegisterInfo.cpp
parent91542a4f2d32c7ba74fe08840bebba615103d441 (diff)
downloadbcm5719-llvm-1823346b3ee7eb1034687d527399df56336f93de.tar.gz
bcm5719-llvm-1823346b3ee7eb1034687d527399df56336f93de.zip
1. Ignore the -disable-fp-elim when the routine is a leaf.
2. Offsets on 64-bit stores are still in bytes. llvm-svn: 31824
Diffstat (limited to 'llvm/lib/Target/PowerPC/PPCRegisterInfo.cpp')
-rw-r--r--llvm/lib/Target/PowerPC/PPCRegisterInfo.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/llvm/lib/Target/PowerPC/PPCRegisterInfo.cpp b/llvm/lib/Target/PowerPC/PPCRegisterInfo.cpp
index b9a4455aca9..5edf051924c 100644
--- a/llvm/lib/Target/PowerPC/PPCRegisterInfo.cpp
+++ b/llvm/lib/Target/PowerPC/PPCRegisterInfo.cpp
@@ -704,7 +704,7 @@ void PPCRegisterInfo::determineFrameLayout(MachineFunction &MF) const {
// don't have a frame pointer, calls, or dynamic alloca then we do not need
// to adjust the stack pointer (we fit in the Red Zone).
if (FrameSize <= 224 && // Fits in red zone.
- !needsFP(MF) && // Frame pointer can be eliminated.
+ !MFI->hasVarSizedObjects() && // No dynamic alloca.
!MFI->hasCalls() && // No calls.
MaxAlign <= TargetAlign) { // No special alignment.
// No need for frame
@@ -818,7 +818,7 @@ void PPCRegisterInfo::emitPrologue(MachineFunction &MF) const {
.addImm(NegFrameSize);
BuildMI(MBB, MBBI, PPC::STDUX, 3)
.addReg(PPC::X1).addReg(PPC::X1).addReg(PPC::X0);
- } else if (isInt16(NegFrameSize/4)) {
+ } else if (isInt16(NegFrameSize)) {
BuildMI(MBB, MBBI, PPC::STDU, 3, PPC::X1)
.addReg(PPC::X1).addImm(NegFrameSize/4).addReg(PPC::X1);
} else {
OpenPOWER on IntegriCloud