summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen
diff options
context:
space:
mode:
authorBob Wilson <bob.wilson@apple.com>2010-02-19 18:59:53 +0000
committerBob Wilson <bob.wilson@apple.com>2010-02-19 18:59:53 +0000
commitfbc9d8d424b9acd14e2fd5127313c100660b700f (patch)
tree87d14b89b32d9d87e165b2dec62d3523964baa91 /llvm/lib/CodeGen
parentcf9c64e6e375e28c12222375c0192492709d7c1f (diff)
downloadbcm5719-llvm-fbc9d8d424b9acd14e2fd5127313c100660b700f.tar.gz
bcm5719-llvm-fbc9d8d424b9acd14e2fd5127313c100660b700f.zip
Revert 96634. It causes assertion failures for 126.gcc and 176.gcc in
the armv6 nightly tests. llvm-svn: 96691
Diffstat (limited to 'llvm/lib/CodeGen')
-rw-r--r--llvm/lib/CodeGen/PrologEpilogInserter.cpp7
1 files changed, 3 insertions, 4 deletions
diff --git a/llvm/lib/CodeGen/PrologEpilogInserter.cpp b/llvm/lib/CodeGen/PrologEpilogInserter.cpp
index 138e7110306..040259e15c5 100644
--- a/llvm/lib/CodeGen/PrologEpilogInserter.cpp
+++ b/llvm/lib/CodeGen/PrologEpilogInserter.cpp
@@ -175,10 +175,9 @@ void PEI::calculateCallsInformation(MachineFunction &Fn) {
MachineBasicBlock::iterator I = *i;
// If call frames are not being included as part of the stack frame, and
- // the target doesn't indicate otherwise, remove the call frame pseudos
- // here. The sub/add sp instruction pairs are still inserted, but we don't
- // need to track the SP adjustment for frame index elimination.
- if (RegInfo->canSimplifyCallFramePseudos(Fn))
+ // there is no dynamic allocation (therefore referencing frame slots off
+ // sp), leave the pseudo ops alone. We'll eliminate them later.
+ if (RegInfo->hasReservedCallFrame(Fn) || RegInfo->hasFP(Fn))
RegInfo->eliminateCallFramePseudoInstr(Fn, *I->getParent(), I);
}
}
OpenPOWER on IntegriCloud