mirror of
https://github.com/RPCSX/llvm.git
synced 2025-05-13 19:06:05 +00:00
When converting dbg.declare to dbg.value, attach promoted store's debug metadata to dbg.value
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94634 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
2c9ad13b14
commit
b7ae53f035
@ -883,7 +883,10 @@ void PromoteMem2Reg::ConvertDebugDeclareToDebugValue(DbgDeclareInst *DDI,
|
|||||||
|
|
||||||
if (!DIF)
|
if (!DIF)
|
||||||
DIF = new DIFactory(*SI->getParent()->getParent()->getParent());
|
DIF = new DIFactory(*SI->getParent()->getParent()->getParent());
|
||||||
DIF->InsertDbgValueIntrinsic(SI->getOperand(0), Offset, DIVar, SI);
|
Instruction *DbgVal = DIF->InsertDbgValueIntrinsic(SI->getOperand(0), Offset,
|
||||||
|
DIVar, SI);
|
||||||
|
if (MDNode *SIMD = SI->getMetadata("dbg"))
|
||||||
|
DbgVal->setMetadata("dbg", SIMD);
|
||||||
}
|
}
|
||||||
|
|
||||||
// QueuePhiNode - queues a phi-node to be added to a basic-block for a specific
|
// QueuePhiNode - queues a phi-node to be added to a basic-block for a specific
|
||||||
|
@ -9,8 +9,8 @@ define double @testfunc(i32 %i, double %j) {
|
|||||||
call void @llvm.dbg.declare(metadata !{double* %J}, metadata !1)
|
call void @llvm.dbg.declare(metadata !{double* %J}, metadata !1)
|
||||||
; CHECK: call void @llvm.dbg.value(metadata !{i32 %i}, i64 0, metadata !0)
|
; CHECK: call void @llvm.dbg.value(metadata !{i32 %i}, i64 0, metadata !0)
|
||||||
store i32 %i, i32* %I
|
store i32 %i, i32* %I
|
||||||
; CHECK: call void @llvm.dbg.value(metadata !{double %j}, i64 0, metadata !1)
|
; CHECK: call void @llvm.dbg.value(metadata !{double %j}, i64 0, metadata !1), !dbg !3
|
||||||
store double %j, double* %J
|
store double %j, double* %J, !dbg !3
|
||||||
%t1 = load i32* %I ; <i32> [#uses=1]
|
%t1 = load i32* %I ; <i32> [#uses=1]
|
||||||
%t2 = add i32 %t1, 1 ; <i32> [#uses=1]
|
%t2 = add i32 %t1, 1 ; <i32> [#uses=1]
|
||||||
store i32 %t2, i32* %I
|
store i32 %t2, i32* %I
|
||||||
@ -29,3 +29,4 @@ declare void @llvm.dbg.declare(metadata, metadata) nounwind readnone
|
|||||||
!0 = metadata !{i32 459008, metadata !1, metadata !"foo", metadata !2, i32 5, metadata !"foo"} ; [ DW_TAG_auto_variable ]
|
!0 = metadata !{i32 459008, metadata !1, metadata !"foo", metadata !2, i32 5, metadata !"foo"} ; [ DW_TAG_auto_variable ]
|
||||||
!1 = metadata !{i32 459008, metadata !1, metadata !"foo", metadata !0, i32 5, metadata !1} ; [ DW_TAG_auto_variable ]
|
!1 = metadata !{i32 459008, metadata !1, metadata !"foo", metadata !0, i32 5, metadata !1} ; [ DW_TAG_auto_variable ]
|
||||||
!2 = metadata !{i32 458804, i32 0, metadata !2, metadata !"foo", metadata !"bar", metadata !"bar", metadata !2, i32 3, metadata !0, i1 false, i1 true} ; [ DW_TAG_variable ]
|
!2 = metadata !{i32 458804, i32 0, metadata !2, metadata !"foo", metadata !"bar", metadata !"bar", metadata !2, i32 3, metadata !0, i1 false, i1 true} ; [ DW_TAG_variable ]
|
||||||
|
!3 = metadata !{i32 4, i32 0, metadata !0, null}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user