summaryrefslogtreecommitdiff
path: root/lib/Transforms/Utils/DemoteRegToStack.cpp
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2005-10-04 00:44:01 +0000
committerChris Lattner <sabre@nondot.org>2005-10-04 00:44:01 +0000
commitab55698349cd87aabc2f2af16f58e2408362f6ea (patch)
tree74647e670d7a687adb77890990097642a41ec1c8 /lib/Transforms/Utils/DemoteRegToStack.cpp
parent27d404ccd1e86b7fffaf8037bf6b6dfb0b9d683b (diff)
downloadllvm-ab55698349cd87aabc2f2af16f58e2408362f6ea.tar.gz
llvm-ab55698349cd87aabc2f2af16f58e2408362f6ea.tar.bz2
llvm-ab55698349cd87aabc2f2af16f58e2408362f6ea.tar.xz
Fix DemoteRegToStack on an invoke. This fixes PR634.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23618 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Transforms/Utils/DemoteRegToStack.cpp')
-rw-r--r--lib/Transforms/Utils/DemoteRegToStack.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/lib/Transforms/Utils/DemoteRegToStack.cpp b/lib/Transforms/Utils/DemoteRegToStack.cpp
index bbf998d790..3eadfa7694 100644
--- a/lib/Transforms/Utils/DemoteRegToStack.cpp
+++ b/lib/Transforms/Utils/DemoteRegToStack.cpp
@@ -77,6 +77,7 @@ AllocaInst* llvm::DemoteRegToStack(Instruction &I, bool VolatileLoads) {
BasicBlock::iterator InsertPt;
if (!isa<TerminatorInst>(I)) {
InsertPt = &I;
+ ++InsertPt;
} else {
// We cannot demote invoke instructions to the stack if their normal edge
// is critical.
@@ -86,7 +87,7 @@ AllocaInst* llvm::DemoteRegToStack(Instruction &I, bool VolatileLoads) {
InsertPt = II.getNormalDest()->begin();
}
- for (++InsertPt; isa<PHINode>(InsertPt); ++InsertPt)
+ for (; isa<PHINode>(InsertPt); ++InsertPt)
/* empty */; // Don't insert before any PHI nodes.
new StoreInst(&I, Slot, InsertPt);