@@ -566,37 +566,34 @@ func getFridge(_ home: APPHouse) -> Refrigerator {
566
566
return home. fridge
567
567
}
568
568
569
- // FIXME(integers): the following checks should be updated for the new integer
570
- // protocols. <rdar://problem/29939484>
571
- // XCHECK-LABEL: sil hidden @$s13objc_bridging16updateFridgeTemp{{.*}}F
572
- // XCHECK: bb0([[HOME:%[0-9]+]] : $APPHouse, [[DELTA:%[0-9]+]] : $Double):
569
+ // CHECK-LABEL: sil hidden @$s13objc_bridging16updateFridgeTemp{{.*}}F
570
+ // CHECK: bb0([[HOME:%[0-9]+]] : @guaranteed $APPHouse, [[DELTA:%[0-9]+]] : @trivial $Double):
573
571
func updateFridgeTemp( _ home: APPHouse , delta: Double ) {
574
- // +=
575
- // XCHECK: [[PLUS_EQ:%[0-9]+]] = function_ref @$ss2peoiyySdz_SdtF
576
-
577
572
// Temporary fridge
578
- // XCHECK : [[TEMP_FRIDGE:%[0-9]+]] = alloc_stack $Refrigerator
573
+ // CHECK : [[TEMP_FRIDGE:%[0-9]+]] = alloc_stack $Refrigerator
579
574
580
575
// Get operation
581
- // CHECK: [[GETTER:%[0-9]+]] = objc_method [[HOME]] : $APPHouse, #APPHouse.fridge!getter.1.foreign
582
- // CHECK: [[OBJC_FRIDGE:%[0-9]+]] = apply [[GETTER]]([[HOME]])
576
+ // CHECK-NEXT : [[GETTER:%[0-9]+]] = objc_method [[HOME]] : $APPHouse, #APPHouse.fridge!getter.1.foreign
577
+ // CHECK-NEXT : [[OBJC_FRIDGE:%[0-9]+]] = apply [[GETTER]]([[HOME]])
583
578
// CHECK: [[BRIDGE_FROM_FN:%[0-9]+]] = function_ref @$s10Appliances12RefrigeratorV36_unconditionallyBridgeFromObjectiveCyACSo15APPRefrigeratorCSgFZ
584
- // CHECK: [[REFRIGERATOR_META:%[0-9]+]] = metatype $@thin Refrigerator.Type
585
- // CHECK: [[FRIDGE:%[0-9]+]] = apply [[BRIDGE_FROM_FN]]([[OBJC_FRIDGE]], [[REFRIGERATOR_META]])
579
+ // CHECK-NEXT: [[REFRIGERATOR_META:%[0-9]+]] = metatype $@thin Refrigerator.Type
580
+ // CHECK-NEXT: [[FRIDGE:%[0-9]+]] = apply [[BRIDGE_FROM_FN]]([[OBJC_FRIDGE]], [[REFRIGERATOR_META]])
581
+ // CHECK-NEXT: store [[FRIDGE]] to [trivial] [[TEMP_FRIDGE]]
586
582
587
583
// Addition
588
- // XCHECK: [[TEMP:%[0-9]+]] = struct_element_addr [[TEMP_FRIDGE]] : $*Refrigerator, #Refrigerator.temperature
589
- // XCHECK: apply [[PLUS_EQ]]([[TEMP]], [[DELTA]])
584
+ // CHECK-NEXT: [[TEMP:%[0-9]+]] = struct_element_addr [[TEMP_FRIDGE]] : $*Refrigerator, #Refrigerator.temperature
585
+ // CHECK: [[PLUS_EQ:%[0-9]+]] = function_ref @$sSd2peoiyySdz_SdtFZ
586
+ // CHECK-NEXT: apply [[PLUS_EQ]]([[TEMP]], [[DELTA]], [[METATYPE:%[0-9]+]])
590
587
591
588
// Setter
592
- // XCHECK : [[FRIDGE:%[0-9]+]] = load [trivial] [[TEMP_FRIDGE]] : $*Refrigerator
593
- // XCHECK : [[SETTER :%[0-9]+]] = objc_method [[BORROWED_HOME]] : $APPHouse, #APPHouse.fridge!setter.1.foreign
594
- // XCHECK : [[BRIDGE_TO_FN :%[0-9]+]] = function_ref @$s10Appliances12RefrigeratorV19_bridgeToObjectiveCSo15APPRefrigeratorCyF
595
- // XCHECK : [[OBJC_ARG :%[0-9]+]] = apply [[BRIDGE_TO_FN]]([[FRIDGE]])
596
- // XCHECK : apply [[SETTER]]([[OBJC_ARG]], [[BORROWED_HOME ]]) : $@convention(objc_method) (APPRefrigerator, APPHouse) -> ()
597
- // XCHECK : destroy_value [[OBJC_ARG]]
598
- // XCHECK: end_borrow [[BORROWED_HOME ]]
599
- // XCHECK: destroy_value [[HOME ]]
589
+ // CHECK : [[FRIDGE:%[0-9]+]] = load [trivial] [[TEMP_FRIDGE]] : $*Refrigerator
590
+ // CHECK : [[BRIDGE_TO_FN :%[0-9]+]] = function_ref @$s10Appliances12RefrigeratorV19_bridgeToObjectiveCSo15APPRefrigeratorCyF
591
+ // CHECK-NEXT : [[OBJC_ARG :%[0-9]+]] = apply [[BRIDGE_TO_FN]]([[FRIDGE]])
592
+ // CHECK-NEXT : [[SETTER :%[0-9]+]] = objc_method [[HOME]] : $APPHouse, #APPHouse.fridge!setter.1.foreign
593
+ // CHECK-NEXT : apply [[SETTER]]([[OBJC_ARG]], [[HOME ]]) : $@convention(objc_method) (APPRefrigerator, APPHouse) -> ()
594
+ // CHECK-NEXT : destroy_value [[OBJC_ARG]]
595
+ // CHECK-NEXT: destroy_value [[OBJC_FRIDGE ]]
596
+ // CHECK-NEXT: dealloc_stack [[TEMP_FRIDGE ]]
600
597
home. fridge. temperature += delta
601
598
}
602
599
0 commit comments