@@ -29,8 +29,8 @@ sw.bb: ; preds = %entry
2929 %direct = load i32 , ptr %x.addr , align 4 , !dbg !14
3030 %gep = getelementptr inbounds [16 x i8 ], ptr undef , i32 %direct , !dbg !14
3131 call void @llvm.dbg.declare (metadata ptr %gep , metadata !27 , metadata !13 ), !dbg !14
32- call void @llvm.dbg.declare (metadata i32 %conv , metadata !26 , metadata !13 ), !dbg !14
33- call void @llvm.dbg.declare (metadata i32 %direct , metadata !25 , metadata !13 ), !dbg !14
32+ call void @llvm.dbg.value (metadata i32 %conv , metadata !26 , metadata !13 ), !dbg !14
33+ call void @llvm.dbg.value (metadata i32 %direct , metadata !25 , metadata !13 ), !dbg !14
3434 call void @llvm.dbg.declare (metadata ptr %x.addr , metadata !12 , metadata !13 ), !dbg !14
3535 call void @llvm.dbg.declare (metadata ptr %coro_hdl , metadata !15 , metadata !13 ), !dbg !16
3636 call void @llvm.dbg.declare (metadata ptr %late_local , metadata !29 , metadata !13 ), !dbg !16
@@ -66,7 +66,7 @@ coro_Cleanup: ; preds = %sw.epilog, %sw.bb1
6666 %5 = load ptr , ptr %coro_hdl , align 8 , !dbg !24
6767 %6 = call ptr @llvm.coro.free (token %0 , ptr %5 ), !dbg !24
6868 call void @free (ptr %6 ), !dbg !24
69- call void @llvm.dbg.declare (metadata i32 %asm_res , metadata !32 , metadata !13 ), !dbg !16
69+ call void @llvm.dbg.value (metadata i32 %asm_res , metadata !32 , metadata !13 ), !dbg !16
7070 br label %coro_Suspend , !dbg !24
7171
7272coro_Suspend: ; preds = %coro_Cleanup, %sw.default
@@ -176,14 +176,14 @@ attributes #7 = { noduplicate }
176176; CHECK: %[[DBG_PTR:.*]] = alloca ptr
177177; CHECK: #dbg_declare(ptr %[[DBG_PTR]], ![[RESUME_COROHDL:[0-9]+]], !DIExpression(DW_OP_deref, DW_OP_plus_uconst,
178178; CHECK: #dbg_declare(ptr %[[DBG_PTR]], ![[RESUME_X:[0-9]+]], !DIExpression(DW_OP_deref, DW_OP_plus_uconst, [[EXPR_TAIL:.*]])
179- ; CHECK: #dbg_declare(ptr %[[DBG_PTR]], ![[RESUME_DIRECT:[0-9]+]], !DIExpression(DW_OP_deref, DW_OP_plus_uconst, [[EXPR_TAIL]])
180179; CHECK: store ptr {{.*}}, ptr %[[DBG_PTR]]
181180; CHECK-NOT: alloca ptr
182- ; CHECK: #dbg_declare(i8 0, ![[RESUME_CONST:[0-9]+]], !DIExpression(DW_OP_LLVM_convert, 8, DW_ATE_signed, DW_OP_LLVM_convert, 32, DW_ATE_signed),
181+ ; CHECK: call void @coro.devirt.trigger(ptr null)
182+ ; CHECK: #dbg_value(i8 0, ![[RESUME_CONST:[0-9]+]], !DIExpression(DW_OP_LLVM_convert, 8, DW_ATE_signed, DW_OP_LLVM_convert, 32, DW_ATE_signed),
183+ ; CHECK: #dbg_value(ptr %[[DBG_PTR]], ![[RESUME_DIRECT:[0-9]+]], !DIExpression(DW_OP_deref, DW_OP_plus_uconst, {{[0-9]+}}, DW_OP_deref),
183184; Note that keeping the undef value here could be acceptable, too.
184185; CHECK-NOT: #dbg_declare(ptr undef, !{{[0-9]+}}, !DIExpression(),
185- ; CHECK: call void @coro.devirt.trigger(ptr null)
186- ; CHECK: #dbg_value(ptr {{.*}}, ![[RESUME_DIRECT_VALUE:[0-9]+]], !DIExpression(DW_OP_deref, DW_OP_plus_uconst, {{[0-9]+}}, DW_OP_deref),
186+ ; CHECK: #dbg_value(ptr %[[DBG_PTR]], ![[RESUME_DIRECT_VALUE:[0-9]+]], !DIExpression(DW_OP_deref, DW_OP_plus_uconst, {{[0-9]+}}, DW_OP_deref),
187187; Check that the dbg.declare intrinsic of invoke instruction is hanled correctly.
188188; CHECK: %[[ALLOCATED_STORAGE:.+]] = invoke ptr @allocate()
189189; CHECK-NEXT: to label %[[NORMAL_DEST:.+]] unwind
@@ -193,7 +193,7 @@ attributes #7 = { noduplicate }
193193; CHECK-NEXT: to label %[[DEFAULT_DEST:.+]] [label
194194; CHECK: [[DEFAULT_DEST]]:
195195; CHECK-NOT: {{.*}}:
196- ; CHECK: #dbg_declare (i32 %[[CALLBR_RES]]
196+ ; CHECK: #dbg_value (i32 %[[CALLBR_RES]]
197197; CHECK: define internal fastcc void @f.destroy(ptr noundef nonnull align 8 dereferenceable(40) %0) #0 personality i32 0 !dbg ![[DESTROY:[0-9]+]]
198198; CHECK: define internal fastcc void @f.cleanup(ptr noundef nonnull align 8 dereferenceable(40) %0) #0 personality i32 0 !dbg ![[CLEANUP:[0-9]+]]
199199
@@ -202,8 +202,8 @@ attributes #7 = { noduplicate }
202202; CHECK: ![[RESUME]] = distinct !DISubprogram(name: "f", linkageName: "flink"
203203; CHECK: ![[RESUME_COROHDL]] = !DILocalVariable(name: "coro_hdl", scope: ![[RESUME]]
204204; CHECK: ![[RESUME_X]] = !DILocalVariable(name: "x", arg: 1, scope: ![[RESUME]]
205- ; CHECK: ![[RESUME_DIRECT]] = !DILocalVariable(name: "direct_mem", scope: ![[RESUME]]
206205; CHECK: ![[RESUME_CONST]] = !DILocalVariable(name: "direct_const", scope: ![[RESUME]]
206+ ; CHECK: ![[RESUME_DIRECT]] = !DILocalVariable(name: "direct_mem", scope: ![[RESUME]]
207207; CHECK: ![[RESUME_DIRECT_VALUE]] = !DILocalVariable(name: "direct_value", scope: ![[RESUME]]
208208
209209; CHECK: ![[DESTROY]] = distinct !DISubprogram(name: "f", linkageName: "flink"
0 commit comments