summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Transforms
diff options
context:
space:
mode:
authorDevang Patel <dpatel@apple.com>2011-05-26 22:43:14 +0000
committerDevang Patel <dpatel@apple.com>2011-05-26 22:43:14 +0000
commit252f0079a9ba21bf0a7f0add955d4cd146de9d38 (patch)
tree89ed3d055b81a8ab63ddbadbfa4c43171092f0c7 /llvm/lib/Transforms
parentf5801f8d111bc7979bfa9239153c2c7e47c1a615 (diff)
downloadbcm5719-llvm-252f0079a9ba21bf0a7f0add955d4cd146de9d38.tar.gz
bcm5719-llvm-252f0079a9ba21bf0a7f0add955d4cd146de9d38.zip
Do not move DBG_VALUE in middle of PHI nodes.
llvm-svn: 132161
Diffstat (limited to 'llvm/lib/Transforms')
-rw-r--r--llvm/lib/Transforms/Scalar/CodeGenPrepare.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/llvm/lib/Transforms/Scalar/CodeGenPrepare.cpp b/llvm/lib/Transforms/Scalar/CodeGenPrepare.cpp
index 7ba92ba2565..da6bf316f31 100644
--- a/llvm/lib/Transforms/Scalar/CodeGenPrepare.cpp
+++ b/llvm/lib/Transforms/Scalar/CodeGenPrepare.cpp
@@ -557,7 +557,10 @@ bool CodeGenPrepare::OptimizeCallInst(CallInst *CI) {
if (DVI->getParent() != VI->getParent() || DT->dominates(DVI, VI)) {
DEBUG(dbgs() << "Moving Debug Value before :\n" << *DVI << ' ' << *VI);
DVI->removeFromParent();
- DVI->insertAfter(VI);
+ if (isa<PHINode>(VI))
+ DVI->insertBefore(VI->getParent()->getFirstNonPHI());
+ else
+ DVI->insertAfter(VI);
return true;
}
OpenPOWER on IntegriCloud