mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-10-19 11:02:59 +02:00
[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. llvm-svn: 325308
This commit is contained in:
parent
1dd9b6daac
commit
5e4130dee0
@ -2321,7 +2321,6 @@ bool GVN::performScalarPRE(Instruction *CurInst) {
|
||||
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);
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user