71
71
return %r : $()
72
72
}
73
73
74
- // Currently, this is not optimized away because memory behavior of begin_borrow is conservative
75
74
// CHECK-LABEL: sil [ossa] @simple_forwarding2 :
76
- // CHECK: switch_enum
75
+ // CHECK-NOT : switch_enum
77
76
// CHECK-LABEL: } // end sil function 'simple_forwarding2'
78
77
sil [ossa] @simple_forwarding2 : $@convention(thin) (Builtin.Int1, @guaranteed Klass) -> () {
79
78
bb0(%0 : $Builtin.Int1, %1 : @guaranteed $Klass):
80
79
cond_br %0, bb1, bb2
81
80
82
81
bb1:
83
82
%2 = enum $E, #E.A!enumelt, %1 : $Klass
84
- %borrow2 = begin_borrow %2 : $E
85
- br bb3(%borrow2 : $E)
83
+ br bb3(%2 : $E)
86
84
87
85
bb2:
88
86
%3 = enum $E, #E.B!enumelt, %1 : $Klass
89
- %borrow3 = begin_borrow %3 : $E
90
- br bb3(%borrow3 : $E)
87
+ br bb3(%3 : $E)
91
88
92
89
bb3(%14 : @guaranteed $E):
93
90
%15 = function_ref @callee : $@convention(thin) () -> ()
@@ -101,7 +98,6 @@ bb5(%18 : @guaranteed $Klass):
101
98
br bb6
102
99
103
100
bb6:
104
- end_borrow %14 : $E
105
101
%r = tuple ()
106
102
return %r : $()
107
103
}
@@ -187,22 +183,20 @@ bb6:
187
183
188
184
// CHECK-LABEL: sil [ossa] @simple_switch_enum_forwarding2 :
189
185
// CHECK: switch_enum
190
- // CHECK: switch_enum
186
+ // CHECK-NOT : switch_enum
191
187
// CHECK-LABEL: } // end sil function 'simple_switch_enum_forwarding2'
192
188
sil [ossa] @simple_switch_enum_forwarding2 : $@convention(thin) (@guaranteed E3) -> () {
193
189
bb0(%0 : @guaranteed $E3):
194
190
switch_enum %0 : $E3, case #E3.A!enumelt: bb1, default bb2
195
191
196
192
bb1(%1 : @guaranteed $Klass):
197
193
%2 = enum $E, #E.A!enumelt, %1 : $Klass
198
- %borrow2 = begin_borrow %2 : $E
199
- br bb3(%borrow2 : $E)
194
+ br bb3(%2 : $E)
200
195
201
196
bb2(%defaultenum : @guaranteed $E3):
202
197
%defaultklass = unchecked_enum_data %defaultenum : $E3, #E3.B!enumelt
203
198
%3 = enum $E, #E.B!enumelt, %defaultklass : $Klass
204
- %borrow3 = begin_borrow %3 : $E
205
- br bb3(%borrow3 : $E)
199
+ br bb3(%3 : $E)
206
200
207
201
bb3(%14 : @guaranteed $E):
208
202
%15 = function_ref @callee : $@convention(thin) () -> ()
@@ -216,7 +210,6 @@ bb5(%5 : @guaranteed $Klass):
216
210
br bb6
217
211
218
212
bb6:
219
- end_borrow %14 : $E
220
213
%r = tuple ()
221
214
return %r : $()
222
215
}
0 commit comments