@@ -1799,10 +1799,6 @@ public struct LoadableSubscriptReadSetTester : ~Copyable {
1799
1799
}
1800
1800
}
1801
1801
1802
- // TODO: This case causes us to emit an extra copy. We need to change how SILGen
1803
- // emits through load_expr to fix this. We need the end_apply to be around the
1804
- // entire nonMutatingFunc.
1805
- //
1806
1802
// CHECK-LABEL: sil [ossa] @$s8moveonly55testSubscriptReadSet_BaseLoadable_ResultAddressOnly_VaryyF : $@convention(thin) () -> () {
1807
1803
// CHECK: [[BOX:%.*]] = alloc_box $
1808
1804
// CHECK: [[PROJECT:%.*]] = project_box [[BOX]]
@@ -1811,15 +1807,11 @@ public struct LoadableSubscriptReadSetTester : ~Copyable {
1811
1807
// CHECK: [[ACCESS:%.*]] = begin_access [read] [unknown] [[PROJECT]]
1812
1808
// CHECK: [[MARK:%.*]] = mark_must_check [no_consume_or_assign] [[ACCESS]]
1813
1809
// CHECK: [[LOAD:%.*]] = load_borrow [[MARK]]
1814
- // Eventually, we need this end_apply to be around the nonMutatingFunc.
1815
1810
// CHECK: ([[CORO_RESULT:%.*]], [[CORO_TOKEN:%.*]]) = begin_apply {{%.*}}({{%.*}}, [[LOAD]])
1816
- // CHECK: [[TEMP:%.*]] = alloc_stack $AddressOnlyProtocol
1817
- // CHECK: copy_addr [[CORO_RESULT]] to [init] [[TEMP]]
1811
+ // CHECK: apply {{%.*}}([[CORO_RESULT]])
1818
1812
// CHECK: end_apply [[CORO_TOKEN]]
1819
1813
// CHECK: end_borrow [[LOAD]]
1820
1814
// CHECK: end_access [[ACCESS]]
1821
- // CHECK: apply {{%.*}}([[TEMP]])
1822
- // CHECK: destroy_addr [[TEMP]]
1823
1815
//
1824
1816
// The assignment:
1825
1817
// CHECK: [[TEMP:%.*]] = alloc_stack $AddressOnlyProtocol
@@ -1881,13 +1873,10 @@ public func testSubscriptReadSet_BaseLoadable_ResultAddressOnly_Let() {
1881
1873
// CHECK: [[ACCESS:%.*]] = begin_access [read] [unknown] [[MARK]]
1882
1874
// CHECK: [[LOAD_BORROW:%.*]] = load_borrow [[ACCESS]]
1883
1875
// CHECK: ([[CORO_RESULT:%.*]], [[CORO_TOKEN:%.*]]) = begin_apply {{%.*}}({{%.*}}, [[LOAD_BORROW]])
1884
- // CHECK: [[TEMP:%.*]] = alloc_stack $AddressOnlyProtocol
1885
- // CHECK: copy_addr [[CORO_RESULT]] to [init] [[TEMP]]
1876
+ // CHECK: apply {{%.*}}([[CORO_RESULT]])
1886
1877
// CHECK: end_apply [[CORO_TOKEN]]
1887
1878
// CHECK: end_borrow [[LOAD_BORROW]]
1888
1879
// CHECK: end_access [[ACCESS]]
1889
- // CHECK: apply {{%.*}}([[TEMP]])
1890
- // CHECK: destroy_addr [[TEMP]]
1891
1880
//
1892
1881
// The assignment:
1893
1882
// CHECK: [[TEMP:%.*]] = alloc_stack $AddressOnlyProtocol
@@ -1926,13 +1915,10 @@ public func testSubscriptReadSet_BaseLoadable_ResultAddressOnly_InOut(m: inout L
1926
1915
// CHECK: [[MARK:%.*]] = mark_must_check [no_consume_or_assign] [[ACCESS]]
1927
1916
// CHECK: [[LOAD_BORROW:%.*]] = load_borrow [[MARK]]
1928
1917
// CHECK: ([[CORO_RESULT:%.*]], [[CORO_TOKEN:%.*]]) = begin_apply {{%.*}}({{%.*}}, [[LOAD_BORROW]])
1929
- // CHECK: [[TEMP:%.*]] = alloc_stack $AddressOnlyProtocol
1930
- // CHECK: copy_addr [[CORO_RESULT]] to [init] [[TEMP]]
1918
+ // CHECK: apply {{%.*}}([[CORO_RESULT]])
1931
1919
// CHECK: end_apply [[CORO_TOKEN]]
1932
1920
// CHECK: end_borrow [[LOAD_BORROW]]
1933
1921
// CHECK: end_access [[ACCESS]]
1934
- // CHECK: apply {{%.*}}([[TEMP]])
1935
- // CHECK: destroy_addr [[TEMP]]
1936
1922
//
1937
1923
// The assignment:
1938
1924
// CHECK: [[GLOBAL_ADDR:%.*]] = global_addr @$s8moveonly36globalLoadableSubscriptReadSetTesterAA0cdefG0Vvp
@@ -1983,13 +1969,10 @@ public struct LoadableSubscriptReadSetTesterNonCopyableStructParent : ~Copyable
1983
1969
// CHECK: [[GEP:%.*]] = struct_element_addr [[MARK]]
1984
1970
// CHECK: [[LOAD_BORROW:%.*]] = load_borrow [[GEP]]
1985
1971
// CHECK: ([[CORO_RESULT:%.*]], [[CORO_TOKEN:%.*]]) = begin_apply {{%.*}}({{%.*}}, [[LOAD_BORROW]])
1986
- // CHECK: [[TEMP:%.*]] = alloc_stack $AddressOnlyProtocol
1987
- // CHECK: copy_addr [[CORO_RESULT]] to [init] [[TEMP]]
1972
+ // CHECK: apply {{%.*}}([[CORO_RESULT]])
1988
1973
// CHECK: end_apply [[CORO_TOKEN]]
1989
1974
// CHECK: end_borrow [[LOAD_BORROW]]
1990
1975
// CHECK: end_access [[ACCESS]]
1991
- // CHECK: apply {{%.*}}([[TEMP]])
1992
- // CHECK: destroy_addr [[TEMP]]
1993
1976
//
1994
1977
// The mutating call.
1995
1978
// CHECK: [[ACCESS:%.*]] = begin_access [modify] [unknown] [[PROJECT]]
@@ -2055,13 +2038,10 @@ public func testSubscriptReadSetThroughNonCopyableParentStruct_BaseLoadable_Resu
2055
2038
// CHECK: [[GEP:%.*]] = struct_element_addr [[ACCESS]]
2056
2039
// CHECK: [[LOAD_BORROW:%.*]] = load_borrow [[GEP]]
2057
2040
// CHECK: ([[CORO_RESULT:%.*]], [[CORO_TOKEN:%.*]]) = begin_apply {{%.*}}({{%.*}}, [[LOAD_BORROW]])
2058
- // CHECK: [[TEMP:%.*]] = alloc_stack $AddressOnlyProtocol
2059
- // CHECK: copy_addr [[CORO_RESULT]] to [init] [[TEMP]]
2041
+ // CHECK: apply {{%.*}}([[CORO_RESULT]])
2060
2042
// CHECK: end_apply [[CORO_TOKEN]]
2061
2043
// CHECK: end_borrow [[LOAD_BORROW]]
2062
2044
// CHECK: end_access [[ACCESS]]
2063
- // CHECK: apply {{%.*}}([[TEMP]])
2064
- // CHECK: destroy_addr [[TEMP]]
2065
2045
//
2066
2046
// Modify
2067
2047
// CHECK: [[ACCESS:%.*]] = begin_access [modify] [unknown] [[MARK]]
@@ -2089,13 +2069,10 @@ public func testSubscriptReadSetThroughNonCopyableParentStruct_BaseLoadable_Resu
2089
2069
// CHECK: [[GEP:%.*]] = struct_element_addr [[MARK]]
2090
2070
// CHECK: [[LOAD:%.*]] = load_borrow [[GEP]]
2091
2071
// CHECK: ([[CORO_RESULT:%.*]], [[CORO_TOKEN:%.*]]) = begin_apply {{%.*}}({{%.*}}, [[LOAD]])
2092
- // CHECK: [[TEMP:%.*]] = alloc_stack $AddressOnlyProtocol
2093
- // CHECK: copy_addr [[CORO_RESULT]] to [init] [[TEMP]]
2072
+ // CHECK: apply {{%.*}}([[CORO_RESULT]])
2094
2073
// CHECK: end_apply [[CORO_TOKEN]]
2095
2074
// CHECK: end_borrow [[LOAD]]
2096
2075
// CHECK: end_access [[ACCESS]]
2097
- // CHECK: apply {{%.*}}([[TEMP]])
2098
- // CHECK: destroy_addr [[TEMP]]
2099
2076
//
2100
2077
// CHECK: [[GLOBAL:%.*]] = global_addr @$s8moveonly59globalLoadableSubscriptReadSetTesterNonCopyableStructParentAA0cdefghijK0Vvp :
2101
2078
// CHECK: [[ACCESS:%.*]] = begin_access [modify] [dynamic] [[GLOBAL]]
@@ -2140,14 +2117,11 @@ public class LoadableSubscriptReadSetTesterClassParent {
2140
2117
// CHECK: [[BORROW_COPYABLE_CLASS:%.*]] = begin_borrow [[COPYABLE_CLASS]]
2141
2118
// CHECK: ([[CORO_RESULT:%.*]], [[CORO_TOKEN:%.*]]) = begin_apply {{%.*}}([[BORROW_COPYABLE_CLASS]])
2142
2119
// CHECK: ([[CORO_RESULT_2:%.*]], [[CORO_TOKEN_2:%.*]]) = begin_apply {{%.*}}({{%.*}}, [[CORO_RESULT]])
2143
- // CHECK: [[TEMP:%.*]] = alloc_stack $
2144
- // CHECK: copy_addr [[CORO_RESULT_2]] to [init] [[TEMP]]
2120
+ // CHECK: apply {{%.*}}([[CORO_RESULT_2]])
2145
2121
// CHECK: end_apply [[CORO_TOKEN_2]]
2146
2122
// CHECK: end_apply [[CORO_TOKEN]]
2147
2123
// CHECK: end_borrow [[BORROW_COPYABLE_CLASS]]
2148
2124
// CHECK: destroy_value [[COPYABLE_CLASS]]
2149
- // CHECK: apply {{%.*}}([[TEMP]])
2150
- // CHECK: destroy_addr [[TEMP]]
2151
2125
//
2152
2126
// First mutation.
2153
2127
// CHECK: [[ACCESS:%.*]] = begin_access [read] [unknown] [[PROJECT]]
@@ -2177,14 +2151,11 @@ public class LoadableSubscriptReadSetTesterClassParent {
2177
2151
// CHECK: ([[CORO_RESULT:%.*]], [[CORO_TOKEN:%.*]]) = begin_apply {{%.*}}([[BORROW_COPYABLE_CLASS]])
2178
2152
// CHECK: [[EXT:%.*]] = struct_extract [[CORO_RESULT]]
2179
2153
// CHECK: ([[CORO_RESULT_2:%.*]], [[CORO_TOKEN_2:%.*]]) = begin_apply {{%.*}}({{%.*}}, [[EXT]])
2180
- // CHECK: [[TEMP:%.*]] = alloc_stack $
2181
- // CHECK: copy_addr [[CORO_RESULT_2]] to [init] [[TEMP]]
2154
+ // CHECK: apply {{%.*}}([[CORO_RESULT_2]])
2182
2155
// CHECK: end_apply [[CORO_TOKEN_2]]
2183
2156
// CHECK: end_apply [[CORO_TOKEN]]
2184
2157
// CHECK: end_borrow [[BORROW_COPYABLE_CLASS]]
2185
2158
// CHECK: destroy_value [[COPYABLE_CLASS]]
2186
- // CHECK: apply {{%.*}}([[TEMP]])
2187
- // CHECK: destroy_addr [[TEMP]]
2188
2159
//
2189
2160
// Second mutate
2190
2161
//
@@ -2244,8 +2215,7 @@ public class LoadableSubscriptReadSetTesterClassParent {
2244
2215
// CHECK: [[BORROW_COPYABLE_CLASS:%.*]] = begin_borrow [[COPYABLE_CLASS]]
2245
2216
// CHECK: ([[CORO_RESULT:%.*]], [[CORO_TOKEN:%.*]]) = begin_apply {{%.*}}([[BORROW_COPYABLE_CLASS]])
2246
2217
// CHECK: ([[CORO_RESULT_2:%.*]], [[CORO_TOKEN_2:%.*]]) = begin_apply {{%.*}}({{%.*}}, [[CORO_RESULT]])
2247
- // CHECK: [[TEMP:%.*]] = alloc_stack $
2248
- // CHECK: copy_addr [[CORO_RESULT_2]] to [init] [[TEMP]]
2218
+ // CHECK: apply {{%.*}}([[CORO_RESULT_2]])
2249
2219
// CHECK: end_apply [[CORO_TOKEN_2]]
2250
2220
// CHECK: end_apply [[CORO_TOKEN]]
2251
2221
// CHECK: end_borrow [[BORROW_COPYABLE_CLASS]]
@@ -2305,13 +2275,10 @@ public struct LoadableSubscriptReadModifyTester : ~Copyable {
2305
2275
// CHECK: [[LOAD:%.*]] = load_borrow [[MARK]]
2306
2276
// Eventually, we need this end_apply to be around the nonMutatingFunc.
2307
2277
// CHECK: ([[CORO_RESULT:%.*]], [[CORO_TOKEN:%.*]]) = begin_apply {{%.*}}({{%.*}}, [[LOAD]])
2308
- // CHECK: [[TEMP:%.*]] = alloc_stack $AddressOnlyProtocol
2309
- // CHECK: copy_addr [[CORO_RESULT]] to [init] [[TEMP]]
2278
+ // CHECK: apply {{%.*}}([[CORO_RESULT]])
2310
2279
// CHECK: end_apply [[CORO_TOKEN]]
2311
2280
// CHECK: end_borrow [[LOAD]]
2312
2281
// CHECK: end_access [[ACCESS]]
2313
- // CHECK: apply {{%.*}}([[TEMP]])
2314
- // CHECK: destroy_addr [[TEMP]]
2315
2282
//
2316
2283
// The assignment:
2317
2284
// CHECK: [[TEMP:%.*]] = alloc_stack $AddressOnlyProtocol
@@ -2368,13 +2335,10 @@ public func testSubscriptReadModify_BaseLoadable_ResultAddressOnly_Let() {
2368
2335
// CHECK: [[ACCESS:%.*]] = begin_access [read] [unknown] [[MARK]]
2369
2336
// CHECK: [[LOAD_BORROW:%.*]] = load_borrow [[ACCESS]]
2370
2337
// CHECK: ([[CORO_RESULT:%.*]], [[CORO_TOKEN:%.*]]) = begin_apply {{%.*}}({{%.*}}, [[LOAD_BORROW]])
2371
- // CHECK: [[TEMP:%.*]] = alloc_stack $AddressOnlyProtocol
2372
- // CHECK: copy_addr [[CORO_RESULT]] to [init] [[TEMP]]
2338
+ // CHECK: apply {{%.*}}([[CORO_RESULT]])
2373
2339
// CHECK: end_apply [[CORO_TOKEN]]
2374
2340
// CHECK: end_borrow [[LOAD_BORROW]]
2375
2341
// CHECK: end_access [[ACCESS]]
2376
- // CHECK: apply {{%.*}}([[TEMP]])
2377
- // CHECK: destroy_addr [[TEMP]]
2378
2342
//
2379
2343
// The assignment:
2380
2344
// CHECK: [[TEMP:%.*]] = alloc_stack $AddressOnlyProtocol
@@ -2407,13 +2371,10 @@ public func testSubscriptReadModify_BaseLoadable_ResultAddressOnly_InOut(m: inou
2407
2371
// CHECK: [[MARK:%.*]] = mark_must_check [no_consume_or_assign] [[ACCESS]]
2408
2372
// CHECK: [[LOAD_BORROW:%.*]] = load_borrow [[MARK]]
2409
2373
// CHECK: ([[CORO_RESULT:%.*]], [[CORO_TOKEN:%.*]]) = begin_apply {{%.*}}({{%.*}}, [[LOAD_BORROW]])
2410
- // CHECK: [[TEMP:%.*]] = alloc_stack $AddressOnlyProtocol
2411
- // CHECK: copy_addr [[CORO_RESULT]] to [init] [[TEMP]]
2374
+ // CHECK: apply {{%.*}}([[CORO_RESULT]])
2412
2375
// CHECK: end_apply [[CORO_TOKEN]]
2413
2376
// CHECK: end_borrow [[LOAD_BORROW]]
2414
2377
// CHECK: end_access [[ACCESS]]
2415
- // CHECK: apply {{%.*}}([[TEMP]])
2416
- // CHECK: destroy_addr [[TEMP]]
2417
2378
//
2418
2379
// The assignment:
2419
2380
// CHECK: [[GLOBAL_ADDR:%.*]] = global_addr @$s8moveonly39globalLoadableSubscriptReadModifyTesterAA0cdefG0Vvp :
@@ -2460,13 +2421,10 @@ public struct LoadableSubscriptReadModifyTesterNonCopyableStructParent : ~Copyab
2460
2421
// CHECK: [[GEP:%.*]] = struct_element_addr [[MARK]]
2461
2422
// CHECK: [[LOAD_BORROW:%.*]] = load_borrow [[GEP]]
2462
2423
// CHECK: ([[CORO_RESULT:%.*]], [[CORO_TOKEN:%.*]]) = begin_apply {{%.*}}({{%.*}}, [[LOAD_BORROW]])
2463
- // CHECK: [[TEMP:%.*]] = alloc_stack $AddressOnlyProtocol
2464
- // CHECK: copy_addr [[CORO_RESULT]] to [init] [[TEMP]]
2424
+ // CHECK: apply {{%.*}}([[CORO_RESULT]])
2465
2425
// CHECK: end_apply [[CORO_TOKEN]]
2466
2426
// CHECK: end_borrow [[LOAD_BORROW]]
2467
2427
// CHECK: end_access [[ACCESS]]
2468
- // CHECK: apply {{%.*}}([[TEMP]])
2469
- // CHECK: destroy_addr [[TEMP]]
2470
2428
//
2471
2429
// The mutating call.
2472
2430
// CHECK: [[ACCESS:%.*]] = begin_access [modify] [unknown] [[PROJECT]]
@@ -2528,13 +2486,10 @@ public func testSubscriptReadModifyThroughNonCopyableParentStruct_BaseLoadable_R
2528
2486
// CHECK: [[GEP:%.*]] = struct_element_addr [[ACCESS]]
2529
2487
// CHECK: [[LOAD:%.*]] = load_borrow [[GEP]]
2530
2488
// CHECK: ([[CORO_RESULT:%.*]], [[CORO_TOKEN:%.*]]) = begin_apply {{%.*}}({{%.*}}, [[LOAD]])
2531
- // CHECK: [[TEMP:%.*]] = alloc_stack $AddressOnlyProtocol
2532
- // CHECK: copy_addr [[CORO_RESULT]] to [init] [[TEMP]]
2489
+ // CHECK: apply {{%.*}}([[CORO_RESULT]])
2533
2490
// CHECK: end_apply [[CORO_TOKEN]]
2534
2491
// CHECK: end_borrow [[LOAD]]
2535
2492
// CHECK: end_access [[ACCESS]]
2536
- // CHECK: apply {{%.*}}([[TEMP]])
2537
- // CHECK: destroy_addr [[TEMP]]
2538
2493
//
2539
2494
// CHECK: [[ACCESS:%.*]] = begin_access [modify] [unknown] [[MARK]]
2540
2495
// CHECK: [[GEP:%.*]] = struct_element_addr [[ACCESS]]
@@ -2555,13 +2510,10 @@ public func testSubscriptReadModifyThroughNonCopyableParentStruct_BaseLoadable_R
2555
2510
// CHECK: [[GEP:%.*]] = struct_element_addr [[MARK]]
2556
2511
// CHECK: [[LOAD:%.*]] = load_borrow [[GEP]]
2557
2512
// CHECK: ([[CORO_RESULT:%.*]], [[CORO_TOKEN:%.*]]) = begin_apply {{%.*}}({{%.*}}, [[LOAD]])
2558
- // CHECK: [[TEMP:%.*]] = alloc_stack $AddressOnlyProtocol
2559
- // CHECK: copy_addr [[CORO_RESULT]] to [init] [[TEMP]]
2513
+ // CHECK: apply {{%.*}}([[CORO_RESULT]])
2560
2514
// CHECK: end_apply [[CORO_TOKEN]]
2561
2515
// CHECK: end_borrow [[LOAD]]
2562
2516
// CHECK: end_access [[ACCESS]]
2563
- // CHECK: apply {{%.*}}([[TEMP]])
2564
- // CHECK: destroy_addr [[TEMP]]
2565
2517
//
2566
2518
// CHECK: [[GLOBAL:%.*]] = global_addr @$s8moveonly62globalLoadableSubscriptReadModifyTesterNonCopyableStructParentAA0cdefghijK0Vvp :
2567
2519
// CHECK: [[ACCESS:%.*]] = begin_access [modify] [dynamic] [[GLOBAL]]
@@ -2600,14 +2552,11 @@ public class LoadableSubscriptReadModifyTesterClassParent {
2600
2552
// CHECK: [[BORROW_COPYABLE_CLASS:%.*]] = begin_borrow [[COPYABLE_CLASS]]
2601
2553
// CHECK: ([[CORO_RESULT:%.*]], [[CORO_TOKEN:%.*]]) = begin_apply {{%.*}}([[BORROW_COPYABLE_CLASS]])
2602
2554
// CHECK: ([[CORO_RESULT_2:%.*]], [[CORO_TOKEN_2:%.*]]) = begin_apply {{%.*}}({{%.*}}, [[CORO_RESULT]])
2603
- // CHECK: [[TEMP:%.*]] = alloc_stack $
2604
- // CHECK: copy_addr [[CORO_RESULT_2]] to [init] [[TEMP]]
2555
+ // CHECK: apply {{%.*}}([[CORO_RESULT_2]])
2605
2556
// CHECK: end_apply [[CORO_TOKEN_2]]
2606
2557
// CHECK: end_apply [[CORO_TOKEN]]
2607
2558
// CHECK: end_borrow [[BORROW_COPYABLE_CLASS]]
2608
2559
// CHECK: destroy_value [[COPYABLE_CLASS]]
2609
- // CHECK: apply {{%.*}}([[TEMP]])
2610
- // CHECK: destroy_addr [[TEMP]]
2611
2560
//
2612
2561
// First mutation.
2613
2562
// CHECK: [[ACCESS:%.*]] = begin_access [read] [unknown] [[PROJECT]]
@@ -2630,14 +2579,11 @@ public class LoadableSubscriptReadModifyTesterClassParent {
2630
2579
// CHECK: ([[CORO_RESULT:%.*]], [[CORO_TOKEN:%.*]]) = begin_apply {{%.*}}([[BORROW_COPYABLE_CLASS]])
2631
2580
// CHECK: [[EXT:%.*]] = struct_extract [[CORO_RESULT]]
2632
2581
// CHECK: ([[CORO_RESULT_2:%.*]], [[CORO_TOKEN_2:%.*]]) = begin_apply {{%.*}}({{%.*}}, [[EXT]])
2633
- // CHECK: [[TEMP:%.*]] = alloc_stack $
2634
- // CHECK: copy_addr [[CORO_RESULT_2]] to [init] [[TEMP]]
2582
+ // CHECK: apply {{%.*}}([[CORO_RESULT_2]])
2635
2583
// CHECK: end_apply [[CORO_TOKEN_2]]
2636
2584
// CHECK: end_apply [[CORO_TOKEN]]
2637
2585
// CHECK: end_borrow [[BORROW_COPYABLE_CLASS]]
2638
2586
// CHECK: destroy_value [[COPYABLE_CLASS]]
2639
- // CHECK: apply {{%.*}}([[TEMP]])
2640
- // CHECK: destroy_addr [[TEMP]]
2641
2587
//
2642
2588
// Second mutate
2643
2589
//
@@ -2693,12 +2639,9 @@ public class LoadableSubscriptReadModifyTesterClassParent {
2693
2639
// CHECK: [[BORROW_COPYABLE_CLASS:%.*]] = begin_borrow [[COPYABLE_CLASS]]
2694
2640
// CHECK: ([[CORO_RESULT:%.*]], [[CORO_TOKEN:%.*]]) = begin_apply {{%.*}}([[BORROW_COPYABLE_CLASS]])
2695
2641
// CHECK: ([[CORO_RESULT_2:%.*]], [[CORO_TOKEN_2:%.*]]) = begin_apply {{%.*}}({{%.*}}, [[CORO_RESULT]])
2696
- // CHECK: [[TEMP:%.*]] = alloc_stack $
2697
- // CHECK: copy_addr [[CORO_RESULT_2]] to [init] [[TEMP]]
2642
+ // CHECK: apply {{%.*}}([[CORO_RESULT_2]])
2698
2643
// CHECK: end_apply [[CORO_TOKEN_2]]
2699
2644
// CHECK: end_apply [[CORO_TOKEN]]
2700
- // CHECK: apply {{%.*}}([[TEMP]])
2701
- // CHECK: destroy_addr [[TEMP]]
2702
2645
//
2703
2646
// Mutation
2704
2647
// CHECK: [[ACCESS:%.*]] = begin_access [read] [unknown] [[PROJECT]]
0 commit comments