@@ -193,8 +193,17 @@ class Hoozit : Gizmo {
193
193
// CHECK-NOT: unconditional_checked_cast downcast [[SELF_REPLACED]] : $Gizmo to $Hoozit
194
194
// CHECK: unchecked_ref_cast
195
195
// CHECK-NEXT: store [[SELF:%[0-9]+]] to [[SELF_BOX]]#1 : $*Hoozit
196
+ // CHECK-NEXT: [[NONNULL:%[0-9]+]] = is_nonnull [[SELF]] : $Hoozit
197
+ // CHECK-NEXT: cond_br [[NONNULL]], [[NONNULL_BB:bb[0-9]+]], [[NULL_BB:bb[0-9]+]]
198
+ // CHECK: [[NULL_BB]]:
199
+ // CHECK: br [[EPILOG_BB:bb[0-9]+]]
200
+
201
+ // CHECK: [[NONNULL_BB]]:
196
202
// CHECK: [[OTHER_REF:%[0-9]+]] = function_ref @_TF11objc_thunks5otherFT_T_ : $@thin () -> ()
197
203
// CHECK-NEXT: apply [[OTHER_REF]]() : $@thin () -> ()
204
+ // CHECK-NEXT: br [[EPILOG_BB]]
205
+
206
+ // CHECK: [[EPILOG_BB]]:
198
207
// CHECK-NOT: super_method
199
208
// CHECK: return
200
209
override init ( bellsOn x : Int ) {
@@ -259,9 +268,19 @@ extension Hoozit {
259
268
// CHECK: [[CTOR:%[0-9]+]] = class_method [volatile] [[SELF:%[0-9]+]] : $Hoozit, #Hoozit.init!initializer.1.foreign : Hoozit.Type -> (int: Int) -> Hoozit , $@cc(objc_method) @thin (Int, @owned Hoozit) -> @owned Hoozit
260
269
// CHECK: [[NEW_SELF:%[0-9]+]] = apply [[CTOR]]
261
270
// CHECK: store [[NEW_SELF]] to [[SELF_BOX]]#1 : $*Hoozit
262
- // CHECK: [[OTHER_REF:%[0-9]+]] = function_ref @_TF11objc_thunks5otherFT_T_ : $@thin () -> ()
271
+ // CHECK: [[NONNULL:%[0-9]+]] = is_nonnull [[NEW_SELF]] : $Hoozit
272
+ // CHECK-NEXT: cond_br [[NONNULL]], [[NONNULL_BB:bb[0-9]+]], [[NULL_BB:bb[0-9]+]]
273
+ // CHECK: [[NULL_BB]]:
274
+ // CHECK-NEXT: strong_release [[X_BOX]]#0 : $Builtin.NativeObject
275
+ // CHECK-NEXT: br [[EPILOG_BB:bb[0-9]+]]
276
+
277
+ // CHECK: [[NONNULL_BB]]:
278
+ // CHECK: [[OTHER_REF:%[0-9]+]] = function_ref @_TF11objc_thunks5otherFT_T_ : $@thin () -> ()
263
279
// CHECK-NEXT: apply [[OTHER_REF]]() : $@thin () -> ()
264
280
// CHECK-NEXT: strong_release [[X_BOX]]#0 : $Builtin.NativeObject
281
+ // CHECK-NEXT: br [[EPILOG_BB]]
282
+
283
+ // CHECK: [[EPILOG_BB]]:
265
284
// CHECK-NOT: super_method
266
285
// CHECK: return
267
286
self . init ( int: Int ( d) )
0 commit comments