[llvm] r325308 - [GVN] Partially revert debug info salvage change (r325063)
Vedant Kumar via llvm-commits
llvm-commits at lists.llvm.org
Thu Feb 15 17:15:20 PST 2018
Author: vedantk
Date: Thu Feb 15 17:15:20 2018
New Revision: 325308
URL: http://llvm.org/viewvc/llvm-project?rev=325308&view=rev
Log:
[GVN] Partially revert debug info salvage change (r325063)
In r325063, we salvaged debug values from dying instructions in
GVN::processBlock() and GVN::performScalarPRE().
The change in performScalarPRE(), while correct, is unhelpful. It
introduced a call to salvageDebugInfo() which was immediately followed
by a RAUW, meaning it prevented the RAUW from efficiently updating
dbg.value intrinsics. This commit reverts the mistake and tightens up
the affected test case.
Modified:
llvm/trunk/lib/Transforms/Scalar/GVN.cpp
llvm/trunk/test/Transforms/GVN/PRE/phi-translate-2.ll
Modified: llvm/trunk/lib/Transforms/Scalar/GVN.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/Scalar/GVN.cpp?rev=325308&r1=325307&r2=325308&view=diff
==============================================================================
--- llvm/trunk/lib/Transforms/Scalar/GVN.cpp (original)
+++ llvm/trunk/lib/Transforms/Scalar/GVN.cpp Thu Feb 15 17:15:20 2018
@@ -2321,7 +2321,6 @@ bool GVN::performScalarPRE(Instruction *
VN.eraseTranslateCacheEntry(ValNo, *CurrentBlock);
addToLeaderTable(ValNo, Phi, CurrentBlock);
Phi->setDebugLoc(CurInst->getDebugLoc());
- salvageDebugInfo(*CurInst);
CurInst->replaceAllUsesWith(Phi);
if (MD && Phi->getType()->isPtrOrPtrVectorTy())
MD->invalidateCachedPointerInfo(Phi);
Modified: llvm/trunk/test/Transforms/GVN/PRE/phi-translate-2.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Transforms/GVN/PRE/phi-translate-2.ll?rev=325308&r1=325307&r2=325308&view=diff
==============================================================================
--- llvm/trunk/test/Transforms/GVN/PRE/phi-translate-2.ll (original)
+++ llvm/trunk/test/Transforms/GVN/PRE/phi-translate-2.ll Thu Feb 15 17:15:20 2018
@@ -143,7 +143,7 @@ critedge.loopexit:
; CHECK: %[[PREPHI:.*]] = phi i64 [ %sub.ptr.sub, %if.else ], [ %[[SUB]], %if.then2 ], [ %sub.ptr.sub, %entry ]
; CHECK: %[[DIV:.*]] = ashr exact i64 %[[PREPHI]], 2
; CHECK: call void @llvm.dbg.value(metadata i32* %p.0, metadata [[var_p0:![0-9]+]], metadata !DIExpression())
-; CHECK: call void @llvm.dbg.value(metadata i32* %p.0, metadata [[var_sub_ptr:![0-9]+]], metadata !DIExpression())
+; CHECK: call void @llvm.dbg.value(metadata i64 %sub.ptr.rhs.cast5.pre-phi, metadata [[var_sub_ptr:![0-9]+]], metadata !DIExpression())
; CHECK: ret i64 %[[DIV]]
declare void @bar(...) local_unnamed_addr #1
More information about the llvm-commits
mailing list