@@ -64,7 +64,7 @@ indirect.dest:
6464 br label %coro_Cleanup
6565
6666coro_Cleanup: ; preds = %sw.epilog, %sw.bb1
67- %5 = load ptr , ptr %coro_hdl , align 8 , !dbg !24
67+ %5 = load ptr , ptr %coro_hdl , align 8 , !dbg !24 ; XXX: Here %coro_hdl is used between a coro.suspend and coro.end, which seems wrong?
6868 %6 = call ptr @llvm.coro.free (token %0 , ptr %5 ), !dbg !24
6969 call void @free (ptr %6 ), !dbg !24
7070 call void @llvm.dbg.declare (metadata i32 %asm_res , metadata !32 , metadata !13 ), !dbg !16
@@ -172,14 +172,14 @@ attributes #7 = { noduplicate }
172172!32 = !DILocalVariable (name: "inline_asm" , scope: !6 , file: !7 , line: 55 , type: !11 )
173173
174174; CHECK: define ptr @f(i32 %x) #0 personality i32 0 !dbg ![[ORIG:[0-9]+]]
175- ; CHECK: define internal fastcc void @f.resume(ptr noundef nonnull align 8 dereferenceable(40 ) %0) #0 personality i32 0 !dbg ![[RESUME:[0-9]+]]
175+ ; CHECK: define internal fastcc void @f.resume(ptr noundef nonnull align 8 dereferenceable(32 ) %0) #0 personality i32 0 !dbg ![[RESUME:[0-9]+]]
176176; CHECK: entry.resume:
177177; CHECK: %[[DBG_PTR:.*]] = alloca ptr
178- ; CHECK: #dbg_declare(ptr %[[DBG_PTR]], ![[RESUME_COROHDL:[0-9]+]], !DIExpression(DW_OP_deref, DW_OP_plus_uconst,
179178; CHECK: #dbg_declare(ptr %[[DBG_PTR]], ![[RESUME_X:[0-9]+]], !DIExpression(DW_OP_deref, DW_OP_plus_uconst, [[EXPR_TAIL:.*]])
180179; CHECK: #dbg_declare(ptr %[[DBG_PTR]], ![[RESUME_DIRECT:[0-9]+]], !DIExpression(DW_OP_deref, DW_OP_plus_uconst, [[EXPR_TAIL]])
181180; CHECK: store ptr {{.*}}, ptr %[[DBG_PTR]]
182- ; CHECK-NOT: alloca ptr
181+ ; CHECK: alloca ptr
182+ ; CHECK: #dbg_declare(ptr %[[CORO_HDL:.*]], ![[RESUME_COROHDL:[0-9]+]], !DIExpression()
183183; 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),
184184; Note that keeping the undef value here could be acceptable, too.
185185; CHECK-NOT: #dbg_declare(ptr undef, !{{[0-9]+}}, !DIExpression(),
@@ -195,15 +195,15 @@ attributes #7 = { noduplicate }
195195; CHECK: [[DEFAULT_DEST]]:
196196; CHECK-NOT: {{.*}}:
197197; CHECK: #dbg_declare(i32 %[[CALLBR_RES]]
198- ; CHECK: define internal fastcc void @f.destroy(ptr noundef nonnull align 8 dereferenceable(40 ) %0) #0 personality i32 0 !dbg ![[DESTROY:[0-9]+]]
199- ; CHECK: define internal fastcc void @f.cleanup(ptr noundef nonnull align 8 dereferenceable(40 ) %0) #0 personality i32 0 !dbg ![[CLEANUP:[0-9]+]]
198+ ; CHECK: define internal fastcc void @f.destroy(ptr noundef nonnull align 8 dereferenceable(32 ) %0) #0 personality i32 0 !dbg ![[DESTROY:[0-9]+]]
199+ ; CHECK: define internal fastcc void @f.cleanup(ptr noundef nonnull align 8 dereferenceable(32 ) %0) #0 personality i32 0 !dbg ![[CLEANUP:[0-9]+]]
200200
201201; CHECK: ![[ORIG]] = distinct !DISubprogram(name: "f", linkageName: "flink"
202202
203203; CHECK: ![[RESUME]] = distinct !DISubprogram(name: "f", linkageName: "flink"
204- ; CHECK: ![[RESUME_COROHDL]] = !DILocalVariable(name: "coro_hdl", scope: ![[RESUME]]
205204; CHECK: ![[RESUME_X]] = !DILocalVariable(name: "x", arg: 1, scope: ![[RESUME]]
206205; CHECK: ![[RESUME_DIRECT]] = !DILocalVariable(name: "direct_mem", scope: ![[RESUME]]
206+ ; CHECK: ![[RESUME_COROHDL]] = !DILocalVariable(name: "coro_hdl", scope: ![[RESUME]]
207207; CHECK: ![[RESUME_CONST]] = !DILocalVariable(name: "direct_const", scope: ![[RESUME]]
208208; CHECK: ![[RESUME_DIRECT_VALUE]] = !DILocalVariable(name: "direct_value", scope: ![[RESUME]]
209209
0 commit comments