diff options
author | Chris Lattner <sabre@nondot.org> | 2005-10-04 00:44:01 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2005-10-04 00:44:01 +0000 |
commit | ab55698349cd87aabc2f2af16f58e2408362f6ea (patch) | |
tree | 74647e670d7a687adb77890990097642a41ec1c8 /lib/Transforms/Utils/DemoteRegToStack.cpp | |
parent | 27d404ccd1e86b7fffaf8037bf6b6dfb0b9d683b (diff) |
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.cpp | 3 |
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); |