From: Devang Patel Date: Thu, 26 May 2011 23:16:48 +0000 (+0000) Subject: Do not insert anything after terminator. X-Git-Url: http://plrg.eecs.uci.edu/git/?a=commitdiff_plain;h=77ba0164fe631e573aec216dd44ea18a1cd76df4;p=oota-llvm.git Do not insert anything after terminator. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132164 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Transforms/Scalar/CodeGenPrepare.cpp b/lib/Transforms/Scalar/CodeGenPrepare.cpp index da6bf316f31..dbf0e08607c 100644 --- a/lib/Transforms/Scalar/CodeGenPrepare.cpp +++ b/lib/Transforms/Scalar/CodeGenPrepare.cpp @@ -554,7 +554,8 @@ bool CodeGenPrepare::OptimizeCallInst(CallInst *CI) { // find a node corresponding to the value. if (DbgValueInst *DVI = dyn_cast(CI)) if (Instruction *VI = dyn_cast_or_null(DVI->getValue())) - if (DVI->getParent() != VI->getParent() || DT->dominates(DVI, VI)) { + if (!VI->isTerminator() && + DVI->getParent() != VI->getParent() || DT->dominates(DVI, VI)) { DEBUG(dbgs() << "Moving Debug Value before :\n" << *DVI << ' ' << *VI); DVI->removeFromParent(); if (isa(VI))