Skip to content

Fix some rebranch test failures on main #81279

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 6 commits into from
May 6, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions test/AutoDiff/SIL/differentiability_witness_function_inst.sil
Original file line number Diff line number Diff line change
Expand Up @@ -95,14 +95,14 @@ bb0:

// IRGEN: [[PTR1:%.*]] = load ptr, ptr @fooWJrSUUpSr, align [[PTR_ALIGNMENT]]

// IRGEN: [[PTR2:%.*]] = load ptr, ptr getelementptr inbounds (%swift.differentiability_witness, ptr @fooWJrSSUpSr, i32 0, i32 1), align [[PTR_ALIGNMENT]]
// IRGEN: [[PTR2:%.*]] = load ptr, ptr getelementptr inbounds{{.*}} (%swift.differentiability_witness, ptr @fooWJrSSUpSr, i32 0, i32 1), align [[PTR_ALIGNMENT]]

// IRGEN: [[PTR3:%.*]] = load ptr, ptr @barWJrSUUpSUr, align [[PTR_ALIGNMENT]]

// IRGEN: [[PTR4:%.*]] = load ptr, ptr getelementptr inbounds (%swift.differentiability_witness, ptr @barWJrSSUpSSr, i32 0, i32 1), align [[PTR_ALIGNMENT]]
// IRGEN: [[PTR4:%.*]] = load ptr, ptr getelementptr inbounds{{.*}} (%swift.differentiability_witness, ptr @barWJrSSUpSSr, i32 0, i32 1), align [[PTR_ALIGNMENT]]

// IRGEN: [[PTR5:%.*]] = load ptr, ptr @generic16_Differentiation14DifferentiableRzlWJrSUpSr, align [[PTR_ALIGNMENT]]

// IRGEN: [[PTR6:%.*]] = load ptr, ptr getelementptr inbounds (%swift.differentiability_witness, ptr @generics18AdditiveArithmeticRz16_Differentiation14DifferentiableRzlWJrSSpSr, i32 0, i32 1), align [[PTR_ALIGNMENT]]
// IRGEN: [[PTR6:%.*]] = load ptr, ptr getelementptr inbounds{{.*}} (%swift.differentiability_witness, ptr @generics18AdditiveArithmeticRz16_Differentiation14DifferentiableRzlWJrSSpSr, i32 0, i32 1), align [[PTR_ALIGNMENT]]

// IRGEN: [[PTR7:%.*]] = load ptr, ptr getelementptr inbounds (%swift.differentiability_witness, ptr @generic16_Differentiation14DifferentiableRz13TangentVector{{.*}}WJrSSpSr, i32 0, i32 1), align [[PTR_ALIGNMENT]]
// IRGEN: [[PTR7:%.*]] = load ptr, ptr getelementptr inbounds{{.*}} (%swift.differentiability_witness, ptr @generic16_Differentiation14DifferentiableRz13TangentVector{{.*}}WJrSSpSr, i32 0, i32 1), align [[PTR_ALIGNMENT]]
2 changes: 1 addition & 1 deletion test/ClangImporter/CoreGraphics_test.swift
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ public func testEnums(_ model: CGColorSpaceModel) -> Int {

default: return -1
}
// CHECK: [[GEP:%.+]] = getelementptr inbounds [8 x i64], ptr [[SWITCHTABLE]], i64 0, i64 %{{.*}}
// CHECK: [[GEP:%.+]] = getelementptr inbounds{{.*}} [8 x i64], ptr [[SWITCHTABLE]], i64 0, i64 %{{.*}}
// CHECK: [[LOAD:%.+]] = load i64, ptr [[GEP]], align 8
// CHECK: [[PHI:%.*]] = phi i64 [ [[LOAD]], %{{.*}} ], [ -1, %{{.*}} ]
// CHECK: ret i64 [[PHI]]
Expand Down
6 changes: 3 additions & 3 deletions test/DebugInfo/debug_scope_distinct.swift
Original file line number Diff line number Diff line change
Expand Up @@ -12,14 +12,14 @@
//
// CHECK: %[[ARG0:.*]] = load {{.*}} %[[ARG_PTR]]
// CHECK: #dbg_value({{.*}} %[[ARG0]], ![[VAR1:[0-9]+]], !DIExpression(DW_OP_LLVM_fragment, 0, 64), ![[LOC1:[0-9]+]]
// CHECK: %[[ARG1_GEP:.*]] = getelementptr inbounds i8, ptr %[[ARG_PTR]], i64 8
// CHECK: %[[ARG1_GEP:.*]] = getelementptr inbounds{{.*}} i8, ptr %[[ARG_PTR]], i64 8
// CHECK: %[[ARG1:.*]] = load {{.*}} %[[ARG1_GEP]]
// CHECK: #dbg_value({{.*}} %[[ARG1]], ![[VAR1]], !DIExpression(DW_OP_LLVM_fragment, 64, 8), ![[LOC1]]
//
// CHECK: %[[ARG2_GEP:.*]] = getelementptr inbounds i8, ptr %[[ARG_PTR]], i64 32
// CHECK: %[[ARG2_GEP:.*]] = getelementptr inbounds{{.*}} i8, ptr %[[ARG_PTR]], i64 32
// CHECK: %[[ARG2:.*]] = load {{.*}} %[[ARG2_GEP]]
// CHECK: #dbg_value({{.*}} %[[ARG2]], ![[VAR1]], !DIExpression(DW_OP_LLVM_fragment, 0, 64), ![[LOC2:[0-9]+]]
// CHECK: %[[ARG3_GEP:.*]] = getelementptr inbounds i8, ptr %[[ARG_PTR]], i64 40
// CHECK: %[[ARG3_GEP:.*]] = getelementptr inbounds{{.*}} i8, ptr %[[ARG_PTR]], i64 40
// CHECK: %[[ARG3:.*]] = load {{.*}} %[[ARG3_GEP]]
// CHECK: #dbg_value({{.*}} %[[ARG3]], ![[VAR1]], !DIExpression(DW_OP_LLVM_fragment, 64, 8), ![[LOC2]]

Expand Down
2 changes: 1 addition & 1 deletion test/DebugInfo/shadowcopy-linetable.swift
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ func foo(_ x: inout Int64) {
// IRCHECK-NEXT: call void @llvm.memset.{{.*}}(ptr align {{(4|8)}} %[[X]], i8 0
// IRCHECK: store ptr %0, ptr %[[X]], align {{(4|8)}}
// IRCHECK-SAME: !dbg ![[LOC0:.*]]
// IRCHECK-NEXT: %[[VALUE:.*]] = getelementptr inbounds %Ts5Int64V, ptr %0, i32 0, i32 0,
// IRCHECK-NEXT: %[[VALUE:.*]] = getelementptr inbounds{{.*}} %Ts5Int64V, ptr %0, i32 0, i32 0,
// IRCHECK-SAME: !dbg ![[LOCLOAD:.*]]
// IRCHECK-NEXT: load i64, ptr %[[VALUE]], align {{(4|8)}}
// IRCHECK-SAME: !dbg ![[LOCLOAD]]
Expand Down
26 changes: 13 additions & 13 deletions test/Distributed/distributed_actor_accessor_thunks_64bit.swift
Original file line number Diff line number Diff line change
Expand Up @@ -119,12 +119,12 @@ public distributed actor MyOtherActor {
// CHECK: call swiftcc void @"$s27FakeDistributedActorSystems0A17InvocationDecoderC18decodeNextArgumentxyKSeRzSERzlF"(ptr noalias sret(%swift.opaque) [[ARG_0_VALUE_BUF]], ptr %arg_type, ptr [[ENCODABLE_WITNESS]], ptr [[DECODABLE_WITNESS]], ptr swiftself [[DECODER]], ptr noalias nocapture swifterror dereferenceable(8) %swifterror)

// CHECK: store ptr null, ptr %swifterror
// CHECK-NEXT: %._value = getelementptr inbounds %TSi, ptr [[ARG_0_VALUE_BUF]], i32 0, i32 0
// CHECK-NEXT: %._value = getelementptr inbounds{{.*}} %TSi, ptr [[ARG_0_VALUE_BUF]], i32 0, i32 0
// CHECK-NEXT: [[ARG_VAL:%.*]] = load i64, ptr %._value

/// Setup task context for async call to `simple1` thunk

// CHECK-DIRECT: [[CONTEXT_SIZE:%.*]] = load i32, ptr getelementptr inbounds (%swift.async_func_pointer, ptr @"$s27distributed_actor_accessors7MyActorC7simple1yySiYaKFTETu", i32 0, i32 1)
// CHECK-DIRECT: [[CONTEXT_SIZE:%.*]] = load i32, ptr getelementptr inbounds{{.*}} (%swift.async_func_pointer, ptr @"$s27distributed_actor_accessors7MyActorC7simple1yySiYaKFTETu", i32 0, i32 1)
// CHECK-INDIRECT: [[ADDR:%[0-9]+]] = load ptr, ptr inttoptr (i64 and (i64 ptrtoint (ptr @"$s27distributed_actor_accessors7MyActorC7simple1yySiYaKFTETu" to i64), i64 -2) to ptr)
// CHECK-INDIRECT-NEXT: [[SELECT:%[0-9]+]] = select i1 true, ptr @"$s27distributed_actor_accessors7MyActorC7simple1yySiYaKFTETu", ptr [[ADDR]]
// CHECK-INDIRECT-NEXT: [[LOAD:%[0-9]+]] = getelementptr inbounds %swift.async_func_pointer, ptr [[SELECT]], i32 0, i32 1
Expand Down Expand Up @@ -156,7 +156,7 @@ public distributed actor MyOtherActor {

/// Setup task context for async call to `simple2` thunk

// CHECK-DIRECT: [[CONTEXT_SIZE:%.*]] = load i32, ptr getelementptr inbounds (%swift.async_func_pointer, ptr @"$s27distributed_actor_accessors7MyActorC7simple2ySSSiYaKFTETu", i32 0, i32 1)
// CHECK-DIRECT: [[CONTEXT_SIZE:%.*]] = load i32, ptr getelementptr inbounds{{.*}} (%swift.async_func_pointer, ptr @"$s27distributed_actor_accessors7MyActorC7simple2ySSSiYaKFTETu", i32 0, i32 1)
// CHECK-INDIRECT: [[ADDR:%[0-9]+]] = load ptr, ptr inttoptr (i64 and (i64 ptrtoint (ptr @"$s27distributed_actor_accessors7MyActorC7simple2ySSSiYaKFTETu" to i64), i64 -2) to ptr), align 8
// CHECK-INDIRECT-NEXT: [[SELECT:%[0-9]+]] = select i1 true, ptr @"$s27distributed_actor_accessors7MyActorC7simple2ySSSiYaKFTETu", ptr [[ADDR]]
// CHECK-INDIRECT-NEXT: [[LOAD:%[0-9]+]] = getelementptr inbounds %swift.async_func_pointer, ptr [[SELECT]], i32 0, i32 1
Expand Down Expand Up @@ -199,7 +199,7 @@ public distributed actor MyOtherActor {

// CHECK: [[ARG_SIZE:%.*]] = and i64 {{.*}}, -16
// CHECK: [[ARG_BUF:%.*]] = call swiftcc ptr @swift_task_alloc(i64 [[ARG_SIZE]])
// CHECK: %._guts = getelementptr inbounds %TSS, ptr [[ARG_BUF]], i32 0, i32 0
// CHECK: %._guts = getelementptr inbounds{{.*}} %TSS, ptr [[ARG_BUF]], i32 0, i32 0

// CHECK: [[STR_SIZE:%.*]] = load i64, ptr %._guts._object._countAndFlagsBits._value
// CHECK: [[STR_VAL:%.*]] = load ptr, ptr %._guts._object._object
Expand All @@ -210,7 +210,7 @@ public distributed actor MyOtherActor {
// CHECK-INDIRECT-NEXT: [[SELECT:%[0-9]+]] = select i1 true, ptr @"$s27distributed_actor_accessors7MyActorC7simple3ySiSSYaKFTETu", ptr [[ADDR]]
// CHECK-INDIRECT-NEXT: [[LOAD:%[0-9]+]] = getelementptr inbounds %swift.async_func_pointer, ptr [[SELECT]], i32 0, i32 1
// CHECK-INDIRECT-NEXT: [[CONTEXT_SIZE:%.*]] = load i32, ptr [[LOAD]]
// CHECK-DIRECT: [[CONTEXT_SIZE:%.*]] = load i32, ptr getelementptr inbounds (%swift.async_func_pointer, ptr @"$s27distributed_actor_accessors7MyActorC7simple3ySiSSYaKFTETu", i32 0, i32 1)
// CHECK-DIRECT: [[CONTEXT_SIZE:%.*]] = load i32, ptr getelementptr inbounds{{.*}} (%swift.async_func_pointer, ptr @"$s27distributed_actor_accessors7MyActorC7simple3ySiSSYaKFTETu", i32 0, i32 1)
// CHECK-NEXT: [[CONTEXT_SIZE_64:%.*]] = zext i32 [[CONTEXT_SIZE]] to i64
// CHECK-NEXT: [[THUNK_ASYNC_CONTEXT:%.*]] = call swiftcc ptr @swift_task_alloc(i64 [[CONTEXT_SIZE_64]])

Expand All @@ -227,7 +227,7 @@ public distributed actor MyOtherActor {
// CHECK-NEXT: [[CALLER_ASYNC_CTXT:%.*]] = load ptr, ptr [[TASK_REF]]
// CHECK-NEXT: store ptr [[CALLER_ASYNC_CTXT]], ptr
// CHECK: [[INT_RES:%.*]] = extractvalue { ptr, i64, ptr } [[THUNK_RESULT]], 1
// CHECK: %._value = getelementptr inbounds %TSi, ptr [[RESULT_BUFF]], i32 0, i32 0
// CHECK: %._value = getelementptr inbounds{{.*}} %TSi, ptr [[RESULT_BUFF]], i32 0, i32 0
// CHECK: store i64 [[INT_RES]], ptr %._value
// CHECK: {{.*}} = call i1 (ptr, i1, ...) @llvm.coro.end.async({{.*}}, ptr {{.*}}, ptr {{.*}})

Expand Down Expand Up @@ -258,7 +258,7 @@ public distributed actor MyOtherActor {
// CHECK: [[ARG_1_SIZE:%.*]] = and i64 {{.*}}, -16
// CHECK-NEXT: [[ARG_1_BUF:%.*]] = call swiftcc ptr @swift_task_alloc(i64 [[ARG_1_SIZE]])

// CHECK: %._value = getelementptr inbounds %TSi, ptr [[ARG_1_BUF]], i32 0, i32 0
// CHECK: %._value = getelementptr inbounds{{.*}} %TSi, ptr [[ARG_1_BUF]], i32 0, i32 0
// CHECK-NEXT: [[NATIVE_INT_VAL:%.*]] = load i64, ptr %._value

/// Call distributed thunk with extracted arguments.
Expand Down Expand Up @@ -287,7 +287,7 @@ public distributed actor MyOtherActor {
// CHECK: [[ARG_0_SIZE:%.*]] = and i64 {{.*}}, -16
// CHECK-NEXT: [[ARG_0_BUF:%.*]] = call swiftcc ptr @swift_task_alloc(i64 [[ARG_0_SIZE]])

// CHECK: %._buffer = getelementptr inbounds %TSa, ptr [[ARG_0_BUF]], i32 0, i32 0
// CHECK: %._buffer = getelementptr inbounds{{.*}} %TSa, ptr [[ARG_0_BUF]], i32 0, i32 0
// CHECK: [[NATIVE_ARR_VAL:%.*]] = load ptr, ptr %._buffer._storage

/// -> Obj
Expand All @@ -302,9 +302,9 @@ public distributed actor MyOtherActor {
// CHECK: [[ARG_2_SIZE:%.*]] = and i64 {{.*}}, -16
// CHECK-NEXT: [[ARG_2_BUF:%.*]] = call swiftcc ptr @swift_task_alloc(i64 [[ARG_2_SIZE]])

// CHECK: [[NATIVE_OPT_VAL_0_PTR:%.*]] = getelementptr inbounds { i64, i64 }, ptr [[ARG_2_BUF]], i32 0, i32 0
// CHECK: [[NATIVE_OPT_VAL_0_PTR:%.*]] = getelementptr inbounds{{.*}} { i64, i64 }, ptr [[ARG_2_BUF]], i32 0, i32 0
// CHECK-NEXT: [[NATIVE_OPT_VAL_0:%.*]] = load i64, ptr [[NATIVE_OPT_VAL_0_PTR]]
// CHECK-NEXT: [[NATIVE_OPT_VAL_1_PTR:%.*]] = getelementptr inbounds { i64, i64 }, ptr [[ARG_2_BUF]], i32 0, i32 1
// CHECK-NEXT: [[NATIVE_OPT_VAL_1_PTR:%.*]] = getelementptr inbounds{{.*}} { i64, i64 }, ptr [[ARG_2_BUF]], i32 0, i32 1
// CHECK-NEXT: [[NATIVE_OPT_VAL_1:%.*]] = load i64, ptr [[NATIVE_OPT_VAL_1_PTR]]

/// -> LargeStruct (passed indirectly)
Expand Down Expand Up @@ -335,8 +335,8 @@ public distributed actor MyOtherActor {
// CHECK: [[ARG_1_SIZE:%.*]] = and i64 {{.*}}, -16
// CHECK-NEXT: [[ARG_1_BUF:%.*]] = call swiftcc ptr @swift_task_alloc(i64 [[ARG_1_SIZE]])

// CHECK: %._buffer = getelementptr inbounds %TSa, ptr [[ARG_1_BUF]], i32 0, i32 0
// CHECK-NEXT: %._buffer._storage = getelementptr inbounds [[ARRAY_TYPE:%.*]], ptr %._buffer, i32 0, i32 0
// CHECK: %._buffer = getelementptr inbounds{{.*}} %TSa, ptr [[ARG_1_BUF]], i32 0, i32 0
// CHECK-NEXT: %._buffer._storage = getelementptr inbounds{{.*}} [[ARRAY_TYPE:%.*]], ptr %._buffer, i32 0, i32 0
// CHECK: [[TYPED_ARG_1:%.*]] = load ptr, ptr %._buffer._storage

/// ---> Load generic argument substitutions from the caller-provided buffer
Expand Down Expand Up @@ -380,7 +380,7 @@ public distributed actor MyOtherActor {
// CHECK-NEXT: {{.*}} = call ptr @llvm.coro.begin(token {{%.*}}, ptr null)
// CHECK-NEXT: store ptr {{.*}}, ptr {{.*}}
// CHECK-NEXT: store ptr null, ptr %swifterror
// CHECK-DIRECT-NEXT: {{.*}} = load i32, ptr getelementptr inbounds (%swift.async_func_pointer, ptr @"$s27distributed_actor_accessors12MyOtherActorC5emptyyyYaKFTETu", i32 0, i32 1)
// CHECK-DIRECT-NEXT: {{.*}} = load i32, ptr getelementptr inbounds{{.*}} (%swift.async_func_pointer, ptr @"$s27distributed_actor_accessors12MyOtherActorC5emptyyyYaKFTETu", i32 0, i32 1)
// CHECK-INDIRECT-NEXT: [[ADDR:%[0-9]+]] = load ptr, ptr inttoptr (i64 and (i64 ptrtoint (ptr @"$s27distributed_actor_accessors12MyOtherActorC5emptyyyYaKFTETu" to i64), i64 -2) to ptr), align 8
// CHECK-INDIRECT-NEXT: [[SELECT:%[0-9]+]] = select i1 true, ptr @"$s27distributed_actor_accessors12MyOtherActorC5emptyyyYaKFTETu", ptr [[ADDR]]
// CHECK-INDIRECT-NEXT: [[LOAD:%[0-9]+]] = getelementptr inbounds %swift.async_func_pointer, ptr [[SELECT]], i32 0, i32 1
Expand Down
2 changes: 1 addition & 1 deletion test/Distributed/distributed_actor_to_actor.swift
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ func getAnyActor(distributedActor: isolated some DistributedActor) -> any Actor

// CHECK-IR-LABEL: define {{.*}} @"$s021distributed_actor_to_B011getAnyActor0aF0ScA_pxYi_t11Distributed0gF0RzlF
// CHECK-IR: %conditional.requirement.buffer = alloca [1 x ptr]
// CHECK-IR: [[CONDITIONAL_REQ_GEP:%[0-9]+]] = getelementptr inbounds [1 x ptr], ptr %conditional.requirement.buffer, i32 0, i32 0
// CHECK-IR: [[CONDITIONAL_REQ_GEP:%[0-9]+]] = getelementptr inbounds{{.*}} [1 x ptr], ptr %conditional.requirement.buffer, i32 0, i32 0
// CHECK-IR-NEXT: [[SELF_DA_REQ:%.*]] = getelementptr inbounds ptr, ptr [[CONDITIONAL_REQ_GEP]], i32 0
// CHECK-IR-NEXT: store ptr %"some DistributedActor.DistributedActor", ptr [[SELF_DA_REQ]]
// CHECK-IR-NEXT: call ptr @swift_getWitnessTable(ptr @"$sxScA11DistributedMc{{(.ptrauth)?}}", ptr %"some DistributedActor", ptr [[CONDITIONAL_REQ_GEP]])
Expand Down
34 changes: 17 additions & 17 deletions test/IRGen/abitypes_objc.swift
Original file line number Diff line number Diff line change
Expand Up @@ -87,9 +87,9 @@ class Foo {
// x86_64-macosx: define hidden swiftcc float @"$s8abitypes3FooC17getXFromRectSwift{{.*}}"(float %0, float %1, float %2, float %3, ptr swiftself %4) {{.*}} {
// x86_64-macosx: [[COERCED:%.*]] = alloca [[MYRECT:%.*MyRect.*]], align 8
// x86_64-macosx: [[SEL:%.*]] = load ptr, ptr @"\01L_selector(getXFromRect:)", align 8
// x86_64-macosx: [[T0:%.*]] = getelementptr inbounds { <2 x float>, <2 x float> }, ptr [[COERCED]], i32 0, i32 0
// x86_64-macosx: [[T0:%.*]] = getelementptr inbounds{{.*}} { <2 x float>, <2 x float> }, ptr [[COERCED]], i32 0, i32 0
// x86_64-macosx: [[FIRST_HALF:%.*]] = load <2 x float>, ptr [[T0]]
// x86_64-macosx: [[T0:%.*]] = getelementptr inbounds { <2 x float>, <2 x float> }, ptr [[COERCED]], i32 0, i32 1
// x86_64-macosx: [[T0:%.*]] = getelementptr inbounds{{.*}} { <2 x float>, <2 x float> }, ptr [[COERCED]], i32 0, i32 1
// x86_64-macosx: [[SECOND_HALF:%.*]] = load <2 x float>, ptr [[T0]]
// x86_64-macosx: [[RESULT:%.*]] = call float @objc_msgSend(ptr %4, ptr [[SEL]], <2 x float> [[FIRST_HALF]], <2 x float> [[SECOND_HALF]])
// armv7-ios: define hidden swiftcc float @"$s8abitypes3FooC17getXFromRectSwift{{[_0-9a-zA-Z]*}}F"(float %0, float %1, float %2, float %3, ptr swiftself %4) {{.*}} {
Expand Down Expand Up @@ -199,9 +199,9 @@ class Foo {

// x86_64-macosx: define hidden swiftcc i64 @"$s8abitypes3FooC7getpair{{[_0-9a-zA-Z]*}}F"(ptr %0, ptr swiftself %1) {{.*}} {
// x86_64-macosx: [[RESULT:%.*]] = call i64 @objc_msgSend
// x86_64-macosx: [[GEP1:%.*]] = getelementptr inbounds { i64 }, ptr {{.*}}, i32 0, i32 0
// x86_64-macosx: [[GEP1:%.*]] = getelementptr inbounds{{.*}} { i64 }, ptr {{.*}}, i32 0, i32 0
// x86_64-macosx: store i64 [[RESULT]], ptr [[GEP1]]
// x86_64-macosx: [[GEP2:%.*]] = getelementptr inbounds { i64 }, ptr {{.*}}, i32 0, i32 0
// x86_64-macosx: [[GEP2:%.*]] = getelementptr inbounds{{.*}} { i64 }, ptr {{.*}}, i32 0, i32 0
// x86_64-macosx: load i64, ptr [[GEP2]]
// x86_64-macosx: ret i64
func getpair(_ p: StructReturns) -> IntPair {
Expand All @@ -218,7 +218,7 @@ class Foo {
// x86_64-macosx: call void @llvm.lifetime.start
// x86_64-macosx: store i32 {{.*}}
// x86_64-macosx: store i32 {{.*}}
// x86_64-macosx: [[T0:%.*]] = getelementptr inbounds { i64 }, ptr
// x86_64-macosx: [[T0:%.*]] = getelementptr inbounds{{.*}} { i64 }, ptr
// x86_64-macosx: load i64, ptr [[T0]], align 8
// x86_64-macosx: call void @llvm.lifetime.end
// x86_64-macosx: ret i64
Expand Down Expand Up @@ -567,35 +567,35 @@ class Foo {
// We need to allocate enough memory on the stack to hold the argument value we load.
// arm64-ios: define swiftcc void @"$s8abitypes14testBOOLStructyyF"()
// arm64-ios: [[COERCED:%.*]] = alloca i64
// arm64-ios: [[PTR0:%.*]] = getelementptr inbounds %TSo14FiveByteStructV, ptr [[COERCED]], {{i.*}} 0, {{i.*}} 0
// arm64-ios: [[PTR1:%.*]] = getelementptr inbounds %T10ObjectiveC8ObjCBoolV, ptr [[PTR0]], {{i.*}} 0, {{i.*}} 0
// arm64-ios: [[PTR2:%.*]] = getelementptr inbounds %TSb, ptr [[PTR1]], {{i.*}} 0, {{i.*}} 0
// arm64-ios: [[PTR0:%.*]] = getelementptr inbounds{{.*}} %TSo14FiveByteStructV, ptr [[COERCED]], {{i.*}} 0, {{i.*}} 0
// arm64-ios: [[PTR1:%.*]] = getelementptr inbounds{{.*}} %T10ObjectiveC8ObjCBoolV, ptr [[PTR0]], {{i.*}} 0, {{i.*}} 0
// arm64-ios: [[PTR2:%.*]] = getelementptr inbounds{{.*}} %TSb, ptr [[PTR1]], {{i.*}} 0, {{i.*}} 0
// arm64-ios: store i8 0, ptr [[PTR2]], align 8
// arm64-ios: [[ARG:%.*]] = load i64, ptr [[COERCED]]
// arm64-ios: call void @objc_msgSend(ptr {{.*}}, ptr {{.*}}, i64 [[ARG]])
//
// arm64e-ios: define swiftcc void @"$s8abitypes14testBOOLStructyyF"()
// arm64e-ios: [[COERCED:%.*]] = alloca i64
// arm64e-ios: [[PTR0:%.*]] = getelementptr inbounds %TSo14FiveByteStructV, ptr [[COERCED]], {{i.*}} 0, {{i.*}} 0
// arm64e-ios: [[PTR1:%.*]] = getelementptr inbounds %T10ObjectiveC8ObjCBoolV, ptr [[PTR0]], {{i.*}} 0, {{i.*}} 0
// arm64e-ios: [[PTR2:%.*]] = getelementptr inbounds %TSb, ptr [[PTR1]], {{i.*}} 0, {{i.*}} 0
// arm64e-ios: [[PTR0:%.*]] = getelementptr inbounds{{.*}} %TSo14FiveByteStructV, ptr [[COERCED]], {{i.*}} 0, {{i.*}} 0
// arm64e-ios: [[PTR1:%.*]] = getelementptr inbounds{{.*}} %T10ObjectiveC8ObjCBoolV, ptr [[PTR0]], {{i.*}} 0, {{i.*}} 0
// arm64e-ios: [[PTR2:%.*]] = getelementptr inbounds{{.*}} %TSb, ptr [[PTR1]], {{i.*}} 0, {{i.*}} 0
// arm64e-ios: store i8 0, ptr [[PTR2]], align 8
// arm64e-ios: [[ARG:%.*]] = load i64, ptr [[COERCED]]
// arm64e-ios: call void @objc_msgSend(ptr {{.*}}, ptr {{.*}}, i64 [[ARG]])
// arm64-macosx: define swiftcc void @"$s8abitypes14testBOOLStructyyF"()
// arm64-macosx: [[COERCED:%.*]] = alloca i64
// arm64-macosx: [[PTR0:%.*]] = getelementptr inbounds %TSo14FiveByteStructV, ptr [[COERCED]], {{i.*}} 0, {{i.*}} 0
// arm64-macosx: [[PTR1:%.*]] = getelementptr inbounds %T10ObjectiveC8ObjCBoolV, ptr [[PTR0]], {{i.*}} 0, {{i.*}} 0
// arm64-macosx: [[PTR2:%.*]] = getelementptr inbounds %TSb, ptr [[PTR1]], {{i.*}} 0, {{i.*}} 0
// arm64-macosx: [[PTR0:%.*]] = getelementptr inbounds{{.*}} %TSo14FiveByteStructV, ptr [[COERCED]], {{i.*}} 0, {{i.*}} 0
// arm64-macosx: [[PTR1:%.*]] = getelementptr inbounds{{.*}} %T10ObjectiveC8ObjCBoolV, ptr [[PTR0]], {{i.*}} 0, {{i.*}} 0
// arm64-macosx: [[PTR2:%.*]] = getelementptr inbounds{{.*}} %TSb, ptr [[PTR1]], {{i.*}} 0, {{i.*}} 0
// arm64-macosx: store i8 0, ptr [[PTR2]], align 8
// arm64-macosx: [[ARG:%.*]] = load i64, ptr [[COERCED]]
// arm64-macosx: call void @objc_msgSend(ptr {{.*}}, ptr {{.*}}, i64 [[ARG]])
//
// arm64-watchos: define swiftcc void @"$s8abitypes14testBOOLStructyyF"()
// arm64-watchos: [[COERCED:%.*]] = alloca i64
// arm64-watchos: [[PTR0:%.*]] = getelementptr inbounds %TSo14FiveByteStructV, ptr [[COERCED]], {{i.*}} 0, {{i.*}} 0
// arm64-watchos: [[PTR1:%.*]] = getelementptr inbounds %T10ObjectiveC8ObjCBoolV, ptr [[PTR0]], {{i.*}} 0, {{i.*}} 0
// arm64-watchos: [[PTR2:%.*]] = getelementptr inbounds %TSb, ptr [[PTR1]], {{i.*}} 0, {{i.*}} 0
// arm64-watchos: [[PTR0:%.*]] = getelementptr inbounds{{.*}} %TSo14FiveByteStructV, ptr [[COERCED]], {{i.*}} 0, {{i.*}} 0
// arm64-watchos: [[PTR1:%.*]] = getelementptr inbounds{{.*}} %T10ObjectiveC8ObjCBoolV, ptr [[PTR0]], {{i.*}} 0, {{i.*}} 0
// arm64-watchos: [[PTR2:%.*]] = getelementptr inbounds{{.*}} %TSb, ptr [[PTR1]], {{i.*}} 0, {{i.*}} 0
// arm64-watchos: store i8 0, ptr [[PTR2]], align 8
// arm64-watchos: [[ARG:%.*]] = load i64, ptr [[COERCED]]
// arm64-watchos: call void @objc_msgSend(ptr {{.*}}, ptr {{.*}}, i64 [[ARG]])
Expand Down
Loading