@@ -42,10 +42,8 @@ sil [ossa] @callee_optional_d_guaranteed: $@convention(thin) (@guaranteed Option
42
42
// Hoist over br.
43
43
// CHECK-LABEL: sil [ossa] @hoist_over_branch_1 : {{.*}} {
44
44
// CHECK: {{bb[0-9]+}}([[INSTANCE:%[^,]+]] : @owned $C):
45
- // CHECK: [[LIFETIME:%[^,]+]] = begin_borrow [[INSTANCE]]
46
45
// CHECK: [[CALLEE_GUARANTEED:%[^,]+]] = function_ref @callee_guaranteed
47
- // CHECK: {{%[^,]+}} = apply [[CALLEE_GUARANTEED]]([[LIFETIME]])
48
- // CHECK: end_borrow [[LIFETIME]]
46
+ // CHECK: {{%[^,]+}} = apply [[CALLEE_GUARANTEED]]([[INSTANCE]])
49
47
// CHECK: br [[EXIT:bb[0-9]+]]
50
48
// CHECK: [[EXIT]]:
51
49
// CHECK: return [[INSTANCE]]
64
62
// Hoist over cond_br.
65
63
// CHECK-LABEL: sil [ossa] @hoist_over_branch_2 : {{.*}} {
66
64
// CHECK: {{bb[0-9]+}}([[INSTANCE:%[^,]+]] : @owned $C):
67
- // CHECK: [[LIFETIME:%[^,]+]] = begin_borrow [[INSTANCE]]
68
65
// CHECK: [[CALLEE_GUARANTEED:%[^,]+]] = function_ref @callee_guaranteed
69
- // CHECK: {{%[^,]+}} = apply [[CALLEE_GUARANTEED]]([[LIFETIME]])
70
- // CHECK: end_borrow [[LIFETIME]]
66
+ // CHECK: {{%[^,]+}} = apply [[CALLEE_GUARANTEED]]([[INSTANCE]])
71
67
// CHECK: cond_br undef, [[BL1:bb[0-9]+]], [[BL2:bb[0-9]+]]
72
68
// CHECK: [[BL1]]:
73
69
// CHECK: br [[EXIT:bb[0-9]+]]
95
91
// Hoist over two brs.
96
92
// CHECK-LABEL: sil [ossa] @hoist_over_branch_3 : {{.*}} {
97
93
// CHECK: {{bb[0-9]+}}([[INSTANCE:%[^,]+]] : @owned $C):
98
- // CHECK: [[LIFETIME:%[^,]+]] = begin_borrow [[INSTANCE]]
99
94
// CHECK: [[CALLEE_GUARANTEED:%[^,]+]] = function_ref @callee_guaranteed
100
- // CHECK: {{%[^,]+}} = apply [[CALLEE_GUARANTEED]]([[LIFETIME]])
101
- // CHECK: end_borrow [[LIFETIME]]
95
+ // CHECK: {{%[^,]+}} = apply [[CALLEE_GUARANTEED]]([[INSTANCE]])
102
96
// CHECK: cond_br undef, [[BL1:bb[0-9]+]], [[BL2:bb[0-9]+]]
103
97
// CHECK: [[BL1]]:
104
98
// CHECK: br [[EXIT:bb[0-9]+]]
@@ -125,15 +119,12 @@ exit:
125
119
// Don't hoist over 1 / 2 brs.
126
120
// CHECK-LABEL: sil [ossa] @hoist_over_branch_4 : {{.*}} {
127
121
// CHECK: {{bb[0-9]+}}([[INSTANCE:%[^,]+]] : @owned $C):
128
- // CHECK: [[LIFETIME:%[^,]+]] = begin_borrow [[INSTANCE]]
129
122
// CHECK: cond_br undef, [[BL1:bb[0-9]+]], [[BL2:bb[0-9]+]]
130
123
// CHECK: [[BL1]]:
131
124
// CHECK: [[CALLEE_GUARANTEED:%[^,]+]] = function_ref @callee_guaranteed
132
- // CHECK: {{%[^,]+}} = apply [[CALLEE_GUARANTEED]]([[LIFETIME]])
133
- // CHECK: end_borrow [[LIFETIME]]
125
+ // CHECK: {{%[^,]+}} = apply [[CALLEE_GUARANTEED]]([[INSTANCE]])
134
126
// CHECK: br [[EXIT:bb[0-9]+]]
135
127
// CHECK: [[BL2]]:
136
- // CHECK: end_borrow [[LIFETIME]]
137
128
// CHECK: br [[EXIT]]
138
129
// CHECK: [[EXIT]]:
139
130
// CHECK: return [[INSTANCE]]
@@ -156,10 +147,8 @@ exit:
156
147
// Hoist over switch_enum destinations.
157
148
// CHECK-LABEL: sil [ossa] @hoist_over_branch_5 : {{.*}} {
158
149
// CHECK: {{bb[0-9]+}}([[INSTANCE:%[^,]+]] : @owned $C, [[CASE:%[^,]+]] : $OneOfThree):
159
- // CHECK: [[LIFETIME:%[^,]+]] = begin_borrow [[INSTANCE]]
160
150
// CHECK: [[CALLEE_GUARANTEED:%[^,]+]] = function_ref @callee_guaranteed
161
- // CHECK: {{%[0-9]+}} = apply [[CALLEE_GUARANTEED]]([[LIFETIME]])
162
- // CHECK: end_borrow [[LIFETIME]]
151
+ // CHECK: {{%[0-9]+}} = apply [[CALLEE_GUARANTEED]]([[INSTANCE]])
163
152
// CHECK: switch_enum [[CASE]] : $OneOfThree, case #OneOfThree.one!enumelt: [[ONE_DEST:bb[0-9]+]], case #OneOfThree.two!enumelt: [[TWO_DEST:bb[0-9]+]], case #OneOfThree.three!enumelt: [[THREE_DEST:bb[0-9]+]]
164
153
// CHECK: [[ONE_DEST]]:
165
154
// CHECK: br [[EXIT:bb[0-9]+]]
0 commit comments