1// RUN: %clang_cc1 -triple arm64e-apple-ios15.0.0-bc -fobjc-arc -disable-llvm-passes %s -emit-llvm -o - | FileCheck %s 2 3@protocol NSObject 4@end 5 6@interface NSObject <NSObject> 7@end 8 9@interface WidgetTester : NSObject 10@end 11 12@implementation WidgetTester 13 14typedef struct { 15 NSObject* impl; 16} widget_t; 17 18- (_Bool)withWidget:(widget_t)widget { 19 return 0; 20} 21 22- (_Bool)testWidget:(widget_t)widget { 23 return [self withWidget:widget]; 24} 25 26@end 27 28// CHECK-LABEL: msgSend.call: 29// CHECK: [[CALL:%[^ ]+]] = call i1 @objc_msgSend 30// CHECK-NEXT: br label %msgSend.cont 31 32// CHECK-LABEL: msgSend.null-receiver: 33// CHECK: br label %msgSend.cont 34 35// CHECK-LABEL: msgSend.cont: 36// CHECK-NEXT: {{%[^ ]+}} = phi i1 [ [[CALL]], %msgSend.call ], [ false, %msgSend.null-receiver ] 37