@@ -266,12 +266,12 @@ exit:
266
266
}
267
267
268
268
// CHECK-LABEL: sil [ossa] @availability_boundary_2_after_loop : {{.*}} {
269
- // CHECK: [[REGISTER_1 :%[^,]+]] = move_value [lexical]
269
+ // CHECK: [[LEXICAL :%[^,]+]] = move_value [lexical]
270
270
// CHECK: br [[CONDITION_1:bb[0-9]+]]
271
271
// CHECK: [[CONDITION_1]]:
272
272
// CHECK: cond_br undef, [[CONDITION_2:bb[0-9]+]], [[PREHEADER:bb[0-9]+]]
273
273
// CHECK: [[CONDITION_2]]:
274
- // CHECK: destroy_value [[REGISTER_1 ]]
274
+ // CHECK: destroy_value [[LEXICAL ]]
275
275
// CHECK: cond_br undef, [[EXIT:bb[0-9]+]], [[TO_DIE_2:bb[0-9]+]]
276
276
// CHECK: [[PREHEADER]]:
277
277
// CHECK: br [[HEADER:bb[0-9]+]]
@@ -282,7 +282,7 @@ exit:
282
282
// CHECK: [[BACKEDGE]]:
283
283
// CHECK: br [[HEADER]]
284
284
// CHECK: [[TO_DIE_1]]:
285
- // CHECK: destroy_value [[REGISTER_1 ]]
285
+ // CHECK: destroy_value [[LEXICAL ]]
286
286
// CHECK: br [[DIE:bb[0-9]+]]
287
287
// CHECK: [[TO_DIE_2]]:
288
288
// CHECK: br [[DIE]]
@@ -395,3 +395,22 @@ exit:
395
395
%retval = tuple ()
396
396
return %retval : $()
397
397
}
398
+
399
+ // CHECK-LABEL: sil [ossa] @project_box_deadend : {{.*}} {
400
+ // CHECK: bb0([[C:%[^,]+]] :
401
+ // CHECK: [[BOX:%[^,]+]] = alloc_box
402
+ // CHECK: [[BOX_BORROW:%[^,]+]] = begin_borrow [[BOX]]
403
+ // CHECK: [[ADDR:%[^,]+]] = project_box [[BOX_BORROW]]
404
+ // CHECK: store [[C]] to [init] [[ADDR]]
405
+ // CHECK: end_borrow [[BOX_BORROW]]
406
+ // CHECK: unreachable
407
+ // CHECK-LABEL: } // end sil function 'project_box_deadend'
408
+ sil [ossa] @project_box_deadend : $@convention(thin) (@owned C) -> () {
409
+ bb0(%0 : @owned $C):
410
+ %2 = alloc_box ${ var C }
411
+ %3 = begin_borrow %2 : ${ var C }
412
+ specify_test "ossa-lifetime-completion %3"
413
+ %4 = project_box %3 : ${ var C }, 0
414
+ store %0 to [init] %4 : $*C
415
+ unreachable
416
+ }
0 commit comments