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 da6bf31..dbf0e08 100644
--- a/lib/Transforms/Scalar/CodeGenPrepare.cpp
+++ b/lib/Transforms/Scalar/CodeGenPrepare.cpp
@@ -554,7 +554,8 @@
   // find a node corresponding to the value.
   if (DbgValueInst *DVI = dyn_cast<DbgValueInst>(CI))
     if (Instruction *VI = dyn_cast_or_null<Instruction>(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<PHINode>(VI))