From ab55698349cd87aabc2f2af16f58e2408362f6ea Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Tue, 4 Oct 2005 00:44:01 +0000 Subject: [PATCH] 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 --- lib/Transforms/Utils/DemoteRegToStack.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/Transforms/Utils/DemoteRegToStack.cpp b/lib/Transforms/Utils/DemoteRegToStack.cpp index bbf998d790c..3eadfa7694a 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(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(InsertPt); ++InsertPt) + for (; isa(InsertPt); ++InsertPt) /* empty */; // Don't insert before any PHI nodes. new StoreInst(&I, Slot, InsertPt);