@@ -271,11 +271,12 @@ bb0(%0 : $*T):
271
271
return %res : $()
272
272
}
273
273
274
- // CHECK: SIL memory lifetime failure in @test_store_borrow_destroy: memory is not initialized, but should be
274
+ // CHECK: SIL memory lifetime failure in @test_store_borrow_destroy: store-borrow location cannot be written
275
275
sil [ossa] @test_store_borrow_destroy : $@convention(thin) (@guaranteed T) -> () {
276
276
bb0(%0 : @guaranteed $T):
277
277
%s = alloc_stack $T
278
- store_borrow %0 to %s : $*T
278
+ %sb = store_borrow %0 to %s : $*T
279
+ end_borrow %sb : $*T
279
280
destroy_addr %s : $*T
280
281
dealloc_stack %s : $*T
281
282
%res = tuple ()
@@ -284,13 +285,14 @@ bb0(%0 : @guaranteed $T):
284
285
285
286
sil [ossa] @func_with_inout_param : $@convention(thin) (@inout T) -> ()
286
287
287
- // CHECK: SIL memory lifetime failure in @test_store_borrow_inout: store-borrow location cannot be written
288
+ // T- CHECK: SIL memory lifetime failure in @test_store_borrow_inout: store-borrow location cannot be written
288
289
sil [ossa] @test_store_borrow_inout : $@convention(thin) (@guaranteed T) -> () {
289
290
bb0(%0 : @guaranteed $T):
290
291
%s = alloc_stack $T
291
- store_borrow %0 to %s : $*T
292
+ %sb = store_borrow %0 to %s : $*T
292
293
%f = function_ref @func_with_inout_param : $@convention(thin) (@inout T) -> ()
293
- %a = apply %f(%s) : $@convention(thin) (@inout T) -> ()
294
+ %a = apply %f(%sb) : $@convention(thin) (@inout T) -> ()
295
+ end_borrow %sb : $*T
294
296
dealloc_stack %s : $*T
295
297
%res = tuple ()
296
298
return %res : $()
@@ -300,7 +302,8 @@ bb0(%0 : @guaranteed $T):
300
302
sil [ossa] @test_store_borrow_store : $@convention(thin) (@guaranteed T, @owned T) -> () {
301
303
bb0(%0 : @guaranteed $T, %1 : @owned $T):
302
304
%s = alloc_stack $T
303
- store_borrow %0 to %s : $*T
305
+ %sb = store_borrow %0 to %s : $*T
306
+ end_borrow %sb : $*T
304
307
store %1 to [assign] %s : $*T
305
308
dealloc_stack %s : $*T
306
309
%res = tuple ()
@@ -311,7 +314,8 @@ bb0(%0 : @guaranteed $T, %1 : @owned $T):
311
314
sil [ossa] @test_store_borrow_load : $@convention(thin) (@guaranteed T) -> @owned T {
312
315
bb0(%0 : @guaranteed $T):
313
316
%s = alloc_stack $T
314
- store_borrow %0 to %s : $*T
317
+ %sb = store_borrow %0 to %s : $*T
318
+ end_borrow %sb : $*T
315
319
%res = load [take] %s : $*T
316
320
dealloc_stack %s : $*T
317
321
return %res : $T
@@ -321,7 +325,8 @@ bb0(%0 : @guaranteed $T):
321
325
sil [ossa] @test_store_borrow_copy_src : $@convention(thin) (@guaranteed T) -> @out T {
322
326
bb0(%0 : $*T, %1 : @guaranteed $T):
323
327
%s = alloc_stack $T
324
- store_borrow %1 to %s : $*T
328
+ %sb = store_borrow %1 to %s : $*T
329
+ end_borrow %sb : $*T
325
330
copy_addr [take] %s to [initialization] %0 : $*T
326
331
dealloc_stack %s : $*T
327
332
%res = tuple ()
@@ -332,7 +337,8 @@ bb0(%0 : $*T, %1 : @guaranteed $T):
332
337
sil [ossa] @test_store_borrow_copy_dst : $@convention(thin) (@in_guaranteed T, @guaranteed T) -> () {
333
338
bb0(%0 : $*T, %1 : @guaranteed $T):
334
339
%s = alloc_stack $T
335
- store_borrow %1 to %s : $*T
340
+ %sb = store_borrow %1 to %s : $*T
341
+ end_borrow %sb : $*T
336
342
copy_addr %0 to %s : $*T
337
343
dealloc_stack %s : $*T
338
344
%res = tuple ()
@@ -343,7 +349,8 @@ bb0(%0 : $*T, %1 : @guaranteed $T):
343
349
sil [ossa] @test_store_borrow_init_enum : $@convention(thin) (@guaranteed Optional<T>) -> () {
344
350
bb0(%0 : @guaranteed $Optional<T>):
345
351
%s = alloc_stack $Optional<T>
346
- store_borrow %0 to %s : $*Optional<T>
352
+ %sb = store_borrow %0 to %s : $*Optional<T>
353
+ end_borrow %sb : $*Optional<T>
347
354
%ie = init_enum_data_addr %s : $*Optional<T>, #Optional.some!enumelt
348
355
dealloc_stack %s : $*Optional<T>
349
356
%res = tuple ()
@@ -354,8 +361,9 @@ bb0(%0 : @guaranteed $Optional<T>):
354
361
sil [ossa] @test_store_borrow_take_enum : $@convention(thin) (@guaranteed Optional<T>) -> () {
355
362
bb0(%0 : @guaranteed $Optional<T>):
356
363
%s = alloc_stack $Optional<T>
357
- store_borrow %0 to %s : $*Optional<T>
364
+ %sb = store_borrow %0 to %s : $*Optional<T>
358
365
%ue = unchecked_take_enum_data_addr %s : $*Optional<T>, #Optional.some!enumelt
366
+ end_borrow %sb : $*Optional<T>
359
367
dealloc_stack %s : $*Optional<T>
360
368
%res = tuple ()
361
369
return %res : $()
@@ -369,7 +377,8 @@ bb0(%0 : @guaranteed $T):
369
377
store %copy to [init] %stk : $*T
370
378
%ld = load [take] %stk : $*T
371
379
destroy_value %ld : $T
372
- store_borrow %0 to %stk : $*T
380
+ %sb = store_borrow %0 to %stk : $*T
381
+ end_borrow %sb : $*T
373
382
dealloc_stack %stk : $*T
374
383
%8 = tuple ()
375
384
return %8 : $()
@@ -385,7 +394,8 @@ bb0(%0 : @guaranteed $T):
385
394
destroy_value %ld : $T
386
395
br bb1
387
396
bb1:
388
- store_borrow %0 to %stk : $*T
397
+ %sb = store_borrow %0 to %stk : $*T
398
+ end_borrow %sb : $*T
389
399
dealloc_stack %stk : $*T
390
400
%8 = tuple ()
391
401
return %8 : $()
0 commit comments