@@ -319,15 +319,14 @@ func optOptArrayToOptOptPointer(array: [Int]??) {
319
319
// CHECK: [[SIDE1:%.*]] = function_ref @_T018pointer_conversion11sideEffect1SiyF
320
320
// CHECK: [[RESULT1:%.*]] = apply [[SIDE1]]()
321
321
// CHECK: [[T0:%.*]] = select_enum [[COPY]]
322
- // FIXME: this should really go somewhere that will make nil, not some(nil)
323
322
// CHECK: cond_br [[T0]], [[SOME_BB:bb[0-9]+]], [[NONE_BB:bb[0-9]+]]
324
323
// CHECK: [[SOME_BB]]:
325
324
// CHECK: [[SOME_VALUE:%.*]] = unchecked_enum_data [[COPY]]
326
325
// CHECK: [[T0:%.*]] = select_enum [[SOME_VALUE]]
327
326
// CHECK: cond_br [[T0]], [[SOME_SOME_BB:bb[0-9]+]], [[SOME_NONE_BB:bb[0-9]+]]
328
327
// CHECK: [[SOME_NONE_BB]]:
329
328
// CHECK: destroy_value [[SOME_VALUE]]
330
- // CHECK: br [[NONE_BB ]]
329
+ // CHECK: br [[SOME_NONE_BB2:bb[0-9]+ ]]
331
330
// CHECK: [[SOME_SOME_BB]]:
332
331
// CHECK: [[SOME_SOME_VALUE:%.*]] = unchecked_enum_data [[SOME_VALUE]]
333
332
// CHECK: [[CONVERT:%.*]] = function_ref @_T0s35_convertConstArrayToPointerArguments9AnyObject_pSg_q_tSayxGs01_E0R_r0_lF
@@ -337,19 +336,25 @@ func optOptArrayToOptOptPointer(array: [Int]??) {
337
336
// CHECK: [[DEP:%.*]] = mark_dependence [[PTR]] : $UnsafePointer<Int> on [[OWNER]]
338
337
// CHECK: [[OPTPTR:%.*]] = enum $Optional<UnsafePointer<Int>>, #Optional.some!enumelt.1, [[DEP]]
339
338
// CHECK: dealloc_stack [[TEMP]]
340
- // CHECK: br [[SOME_CONT_BB :bb[0-9]+]]([[OPTPTR]] : $Optional<UnsafePointer<Int>>, [[OWNER]] : $Optional<AnyObject>)
341
- // CHECK: [[SOME_CONT_BB ]]([[OPTPTR:%.*]] : $Optional<UnsafePointer<Int>>, [[OWNER:%.*]] : $Optional<AnyObject>):
339
+ // CHECK: br [[SOME_SOME_CONT_BB :bb[0-9]+]]([[OPTPTR]] : $Optional<UnsafePointer<Int>>, [[OWNER]] : $Optional<AnyObject>)
340
+ // CHECK: [[SOME_SOME_CONT_BB ]]([[OPTPTR:%.*]] : $Optional<UnsafePointer<Int>>, [[OWNER:%.*]] : $Optional<AnyObject>):
342
341
// CHECK: [[OPTDEP:%.*]] = mark_dependence [[OPTPTR]] : $Optional<UnsafePointer<Int>> on [[OWNER]]
343
342
// CHECK: [[OPTOPTPTR:%.*]] = enum $Optional<Optional<UnsafePointer<Int>>>, #Optional.some!enumelt.1, [[OPTDEP]]
343
+ // CHECK: br [[SOME_CONT_BB:bb[0-9]+]]([[OPTOPTPTR]] : $Optional<Optional<UnsafePointer<Int>>>, [[OWNER]] : $Optional<AnyObject>)
344
+ // CHECK: [[SOME_CONT_BB]]([[OPTOPTPTR:%.*]] : $Optional<Optional<UnsafePointer<Int>>>, [[OWNER:%.*]] : $Optional<AnyObject>):
344
345
// CHECK: [[OPTOPTDEP:%.*]] = mark_dependence [[OPTOPTPTR]] : $Optional<Optional<UnsafePointer<Int>>> on [[OWNER]]
345
346
// CHECK: apply [[TAKES]]([[OPTOPTDEP]], [[RESULT1]])
346
347
// CHECK: destroy_value [[OWNER]]
347
348
// CHECK: end_borrow [[BORROW]]
348
349
// CHECK: destroy_value %0
349
- // CHECK: [[NONE_BB ]]:
350
+ // CHECK: [[SOME_NONE_BB2 ]]:
350
351
// CHECK: [[NO_VALUE:%.*]] = enum $Optional<UnsafePointer<Int>>, #Optional.none
351
352
// CHECK: [[NO_OWNER:%.*]] = enum $Optional<AnyObject>, #Optional.none
352
- // CHECK: br [[SOME_CONT_BB]]([[NO_VALUE]] : $Optional<UnsafePointer<Int>>, [[NO_OWNER]] : $Optional<AnyObject>)
353
+ // CHECK: br [[SOME_SOME_CONT_BB]]([[NO_VALUE]] : $Optional<UnsafePointer<Int>>, [[NO_OWNER]] : $Optional<AnyObject>)
354
+ // CHECK: [[NONE_BB]]:
355
+ // CHECK: [[NO_VALUE:%.*]] = enum $Optional<Optional<UnsafePointer<Int>>>, #Optional.none
356
+ // CHECK: [[NO_OWNER:%.*]] = enum $Optional<AnyObject>, #Optional.none
357
+ // CHECK: br [[SOME_CONT_BB]]([[NO_VALUE]] : $Optional<Optional<UnsafePointer<Int>>>, [[NO_OWNER]] : $Optional<AnyObject>)
353
358
takesOptOptConstPointer ( array, and: sideEffect1 ( ) )
354
359
}
355
360
@@ -401,7 +406,7 @@ func optOptStringToOptOptPointer(string: String??) {
401
406
// CHECK: cond_br [[T0]], [[SOME_SOME_BB:bb[0-9]+]], [[SOME_NONE_BB:bb[0-9]+]]
402
407
// CHECK: [[SOME_NONE_BB]]:
403
408
// CHECK: destroy_value [[SOME_VALUE]]
404
- // CHECK: br [[NONE_BB ]]
409
+ // CHECK: br [[SOME_NONE_BB2:bb[0-9]+ ]]
405
410
// CHECK: [[SOME_SOME_BB]]:
406
411
// CHECK: [[SOME_SOME_VALUE:%.*]] = unchecked_enum_data [[SOME_VALUE]]
407
412
// CHECK: [[CONVERT:%.*]] = function_ref @_T0s40_convertConstStringToUTF8PointerArguments9AnyObject_pSg_xtSSs01_F0RzlF
@@ -411,18 +416,24 @@ func optOptStringToOptOptPointer(string: String??) {
411
416
// CHECK: [[DEP:%.*]] = mark_dependence [[PTR]] : $UnsafeRawPointer on [[OWNER]]
412
417
// CHECK: [[OPTPTR:%.*]] = enum $Optional<UnsafeRawPointer>, #Optional.some!enumelt.1, [[DEP]]
413
418
// CHECK: dealloc_stack [[TEMP]]
414
- // CHECK: br [[SOME_CONT_BB :bb[0-9]+]]([[OPTPTR]] : $Optional<UnsafeRawPointer>, [[OWNER]] : $Optional<AnyObject>)
415
- // CHECK: [[SOME_CONT_BB ]]([[OPTPTR:%.*]] : $Optional<UnsafeRawPointer>, [[OWNER:%.*]] : $Optional<AnyObject>):
419
+ // CHECK: br [[SOME_SOME_CONT_BB :bb[0-9]+]]([[OPTPTR]] : $Optional<UnsafeRawPointer>, [[OWNER]] : $Optional<AnyObject>)
420
+ // CHECK: [[SOME_SOME_CONT_BB ]]([[OPTPTR:%.*]] : $Optional<UnsafeRawPointer>, [[OWNER:%.*]] : $Optional<AnyObject>):
416
421
// CHECK: [[OPTDEP:%.*]] = mark_dependence [[OPTPTR]] : $Optional<UnsafeRawPointer> on [[OWNER]]
417
422
// CHECK: [[OPTOPTPTR:%.*]] = enum $Optional<Optional<UnsafeRawPointer>>, #Optional.some!enumelt.1, [[OPTDEP]]
423
+ // CHECK: br [[SOME_CONT_BB:bb[0-9]+]]([[OPTOPTPTR]] : $Optional<Optional<UnsafeRawPointer>>, [[OWNER]] : $Optional<AnyObject>)
424
+ // CHECK: [[SOME_CONT_BB]]([[OPTOPTPTR:%.*]] : $Optional<Optional<UnsafeRawPointer>>, [[OWNER:%.*]] : $Optional<AnyObject>):
418
425
// CHECK: [[OPTOPTDEP:%.*]] = mark_dependence [[OPTOPTPTR]] : $Optional<Optional<UnsafeRawPointer>> on [[OWNER]]
419
426
// CHECK: apply [[TAKES]]([[OPTOPTDEP]], [[RESULT1]])
420
427
// CHECK: destroy_value [[OWNER]]
421
428
// CHECK: end_borrow [[BORROW]]
422
429
// CHECK: destroy_value %0
423
- // CHECK: [[NONE_BB ]]:
430
+ // CHECK: [[SOME_NONE_BB2 ]]:
424
431
// CHECK: [[NO_VALUE:%.*]] = enum $Optional<UnsafeRawPointer>, #Optional.none
425
432
// CHECK: [[NO_OWNER:%.*]] = enum $Optional<AnyObject>, #Optional.none
426
- // CHECK: br [[SOME_CONT_BB]]([[NO_VALUE]] : $Optional<UnsafeRawPointer>, [[NO_OWNER]] : $Optional<AnyObject>)
433
+ // CHECK: br [[SOME_SOME_CONT_BB]]([[NO_VALUE]] : $Optional<UnsafeRawPointer>, [[NO_OWNER]] : $Optional<AnyObject>)
434
+ // CHECK: [[NONE_BB]]:
435
+ // CHECK: [[NO_VALUE:%.*]] = enum $Optional<Optional<UnsafeRawPointer>>, #Optional.none
436
+ // CHECK: [[NO_OWNER:%.*]] = enum $Optional<AnyObject>, #Optional.none
437
+ // CHECK: br [[SOME_CONT_BB]]([[NO_VALUE]] : $Optional<Optional<UnsafeRawPointer>>, [[NO_OWNER]] : $Optional<AnyObject>)
427
438
takesOptOptConstRawPointer ( string, and: sideEffect1 ( ) )
428
439
}
0 commit comments