diff --git a/test/AutoDiff/SIL/differentiability_witness_function_inst.sil b/test/AutoDiff/SIL/differentiability_witness_function_inst.sil index 9318d934a9faf..0e702cd253122 100644 --- a/test/AutoDiff/SIL/differentiability_witness_function_inst.sil +++ b/test/AutoDiff/SIL/differentiability_witness_function_inst.sil @@ -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]] diff --git a/test/ClangImporter/CoreGraphics_test.swift b/test/ClangImporter/CoreGraphics_test.swift index 7ee411b724c62..edffe974dc9d3 100644 --- a/test/ClangImporter/CoreGraphics_test.swift +++ b/test/ClangImporter/CoreGraphics_test.swift @@ -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]] diff --git a/test/DebugInfo/debug_scope_distinct.swift b/test/DebugInfo/debug_scope_distinct.swift index c7221bb608281..6dfc157670ebf 100644 --- a/test/DebugInfo/debug_scope_distinct.swift +++ b/test/DebugInfo/debug_scope_distinct.swift @@ -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]] diff --git a/test/DebugInfo/shadowcopy-linetable.swift b/test/DebugInfo/shadowcopy-linetable.swift index a5647a24fa9ef..493d0cb8d7e62 100644 --- a/test/DebugInfo/shadowcopy-linetable.swift +++ b/test/DebugInfo/shadowcopy-linetable.swift @@ -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]] diff --git a/test/Distributed/distributed_actor_accessor_thunks_64bit.swift b/test/Distributed/distributed_actor_accessor_thunks_64bit.swift index ac91f313d20e0..43a5ad5da4df0 100644 --- a/test/Distributed/distributed_actor_accessor_thunks_64bit.swift +++ b/test/Distributed/distributed_actor_accessor_thunks_64bit.swift @@ -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 @@ -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 @@ -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 @@ -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]]) @@ -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 {{.*}}) @@ -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. @@ -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 @@ -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) @@ -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 @@ -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 diff --git a/test/Distributed/distributed_actor_to_actor.swift b/test/Distributed/distributed_actor_to_actor.swift index c58211e86aba5..f1b1eb0cb47d6 100644 --- a/test/Distributed/distributed_actor_to_actor.swift +++ b/test/Distributed/distributed_actor_to_actor.swift @@ -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]]) diff --git a/test/IRGen/abitypes_objc.swift b/test/IRGen/abitypes_objc.swift index 3bf060dd3a650..698776b4703ac 100644 --- a/test/IRGen/abitypes_objc.swift +++ b/test/IRGen/abitypes_objc.swift @@ -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) {{.*}} { @@ -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 { @@ -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 @@ -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]]) diff --git a/test/IRGen/abitypes_x86_64.swift b/test/IRGen/abitypes_x86_64.swift index 80314b3fbad3a..04400c2f92d91 100644 --- a/test/IRGen/abitypes_x86_64.swift +++ b/test/IRGen/abitypes_x86_64.swift @@ -11,9 +11,9 @@ import c_gadget // x86_64: store float %1, // x86_64: store float %2, // x86_64: store float %3, -// x86_64: [[T0:%.*]] = getelementptr inbounds { <2 x float>, <2 x float> }, ptr [[COERCED]], i32 0, i32 0 +// x86_64: [[T0:%.*]] = getelementptr inbounds{{.*}} { <2 x float>, <2 x float> }, ptr [[COERCED]], i32 0, i32 0 // x86_64: [[FIRST_HALF:%.*]] = load <2 x float>, ptr [[T0]], align 8 -// x86_64: [[T0:%.*]] = getelementptr inbounds { <2 x float>, <2 x float> }, ptr [[COERCED]], i32 0, i32 1 +// x86_64: [[T0:%.*]] = getelementptr inbounds{{.*}} { <2 x float>, <2 x float> }, ptr [[COERCED]], i32 0, i32 1 // x86_64: [[SECOND_HALF:%.*]] = load <2 x float>, ptr [[T0]], align 8 // x86_64: [[RESULT:%.*]] = call float @MyRect_Area(<2 x float> [[FIRST_HALF]], <2 x float> [[SECOND_HALF]]) // x86_64: ret float [[RESULT]] diff --git a/test/IRGen/access_markers.sil b/test/IRGen/access_markers.sil index 0fe492f18343f..2d50adbc076fb 100644 --- a/test/IRGen/access_markers.sil +++ b/test/IRGen/access_markers.sil @@ -26,14 +26,14 @@ bb0(%0 : @guaranteed $A): // CHECK: [[SCRATCH1:%.*]] = alloca [[BUFFER:.* x i8.]], align // CHECK: [[SCRATCH2:%.*]] = alloca [[BUFFER]], align - // CHECK: [[PROPERTY:%.*]] = getelementptr inbounds [[C]], ptr %0, i32 0, i32 1 + // CHECK: [[PROPERTY:%.*]] = getelementptr inbounds{{.*}} [[C]], ptr %0, i32 0, i32 1 %2 = ref_element_addr %0 : $A, #A.property // CHECK-NEXT: call void @llvm.lifetime.start.p0(i64 {{.*}}, ptr [[SCRATCH1]]) // CHECK-NEXT: call void @swift_beginAccess(ptr [[PROPERTY]], ptr [[SCRATCH1]], [[SIZE:i(32|64)]] 33, ptr null) %3 = begin_access [modify] [dynamic] %2 : $*Int64 - // CHECK-NEXT: getelementptr inbounds %Ts5Int64V, ptr [[PROPERTY]], i32 0, i32 0 + // CHECK-NEXT: getelementptr inbounds{{.*}} %Ts5Int64V, ptr [[PROPERTY]], i32 0, i32 0 // CHECK-NEXT: load i64, ptr %4 = load [trivial] %3 : $*Int64 @@ -45,7 +45,7 @@ bb0(%0 : @guaranteed $A): // CHECK-NEXT: call void @swift_beginAccess(ptr [[PROPERTY]], ptr [[SCRATCH2]], [[SIZE]] 32, ptr null) %6 = begin_access [read] [dynamic] %2 : $*Int64 - // CHECK-NEXT: getelementptr inbounds %Ts5Int64V, ptr [[PROPERTY]], i32 0, i32 0 + // CHECK-NEXT: getelementptr inbounds{{.*}} %Ts5Int64V, ptr [[PROPERTY]], i32 0, i32 0 // CHECK-NEXT: load i64, ptr %7 = load [trivial] %6 : $*Int64 @@ -65,7 +65,7 @@ bb0(%0 : $A): // CHECK: [[SCRATCH:%.*]] = alloca [[BUFFER:.* x i8.]], align %1 = alloc_stack $Builtin.UnsafeValueBuffer - // CHECK: [[PROPERTY:%.*]] = getelementptr inbounds [[C]], ptr %0, i32 0, i32 1 + // CHECK: [[PROPERTY:%.*]] = getelementptr inbounds{{.*}} [[C]], ptr %0, i32 0, i32 1 %2 = ref_element_addr %0 : $A, #A.property // CHECK-NEXT: call void @swift_beginAccess(ptr [[PROPERTY]], ptr [[SCRATCH]], [[SIZE]] 33, ptr null) @@ -131,7 +131,7 @@ bb0(%0 : $A): sil @testNontracking : $(@guaranteed A) -> () { bb0(%0 : $A): %1 = alloc_stack $Int64 - // CHECK: [[PROPERTY:%.*]] = getelementptr inbounds [[C]], ptr %0, i32 0, i32 1 + // CHECK: [[PROPERTY:%.*]] = getelementptr inbounds{{.*}} [[C]], ptr %0, i32 0, i32 1 %2 = ref_element_addr %0 : $A, #A.property // CHECK: call void @swift_beginAccess(ptr %{{.*}}, ptr %{{.*}}, [[SIZE]] 0, ptr null) %3 = begin_access [read] [dynamic] [no_nested_conflict] %2 : $*Int64 diff --git a/test/IRGen/access_markers_pc.sil b/test/IRGen/access_markers_pc.sil index cb77a9b4c5f0b..53dcf0d91ccd7 100644 --- a/test/IRGen/access_markers_pc.sil +++ b/test/IRGen/access_markers_pc.sil @@ -21,7 +21,7 @@ sil_vtable A {} // CHECK-LABEL: define {{.*}}void @testUnpairedExternal( sil @testUnpairedExternal : $(@guaranteed A, @inout Builtin.UnsafeValueBuffer) -> () { bb0(%0 : $A, %1 : $*Builtin.UnsafeValueBuffer): - // CHECK: [[PROPERTY:%.*]] = getelementptr inbounds [[C]], ptr %0, i32 0, i32 1 + // CHECK: [[PROPERTY:%.*]] = getelementptr inbounds{{.*}} [[C]], ptr %0, i32 0, i32 1 %2 = ref_element_addr %0 : $A, #A.property // CHECK-NEXT: [[PC:%.*]] = call ptr @llvm.returnaddress(i32 0) diff --git a/test/IRGen/actor_class.swift b/test/IRGen/actor_class.swift index e4e7ec3b57dc9..5526840ca3a6b 100644 --- a/test/IRGen/actor_class.swift +++ b/test/IRGen/actor_class.swift @@ -41,8 +41,8 @@ public actor MyClass { } // CHECK-LABEL: define {{.*}}@"$s11actor_class7MyClassC1xSivg" -// CHECK: [[T0:%.*]] = getelementptr inbounds %T11actor_class7MyClassC, ptr %0, i32 0, i32 2 -// CHECK: [[T1:%.*]] = getelementptr inbounds %TSi, ptr [[T0]], i32 0, i32 0 +// CHECK: [[T0:%.*]] = getelementptr inbounds{{.*}} %T11actor_class7MyClassC, ptr %0, i32 0, i32 2 +// CHECK: [[T1:%.*]] = getelementptr inbounds{{.*}} %TSi, ptr [[T0]], i32 0, i32 0 // CHECK: load [[INT]], ptr [[T1]], align // CHECK-LABEL: define {{.*}}swiftcc ptr @"$s11actor_class7MyClassCACycfc" diff --git a/test/IRGen/actor_class_objc.swift b/test/IRGen/actor_class_objc.swift index 0e156c4c8ec29..eeca31a42f4fc 100644 --- a/test/IRGen/actor_class_objc.swift +++ b/test/IRGen/actor_class_objc.swift @@ -34,8 +34,8 @@ import Foundation } // CHECK-LABEL: define {{.*}} @"$s16actor_class_objc7MyClassC1xSivg" -// CHECK: [[T0:%.*]] = getelementptr inbounds %T16actor_class_objc7MyClassC, ptr %0, i32 0, i32 2 -// CHECK: [[T1:%.*]] = getelementptr inbounds %TSi, ptr [[T0]], i32 0, i32 0 +// CHECK: [[T0:%.*]] = getelementptr inbounds{{.*}} %T16actor_class_objc7MyClassC, ptr %0, i32 0, i32 2 +// CHECK: [[T1:%.*]] = getelementptr inbounds{{.*}} %TSi, ptr [[T0]], i32 0, i32 0 // CHECK: load [[INT]], ptr [[T1]], align // CHECK-LABEL: define {{.*}}swiftcc ptr @"$s16actor_class_objc7MyClassCACycfc" diff --git a/test/IRGen/actor_class_objc_backdeploy.swift b/test/IRGen/actor_class_objc_backdeploy.swift index ab2c4b3a95698..80a3c9a9b4a4d 100644 --- a/test/IRGen/actor_class_objc_backdeploy.swift +++ b/test/IRGen/actor_class_objc_backdeploy.swift @@ -40,8 +40,8 @@ import Foundation // CHECK-LABEL: define {{.*}} @"$s16actor_class_objc7MyClassC1xSivg" -// CHECK: [[T0:%.*]] = getelementptr inbounds %T16actor_class_objc7MyClassC, ptr %0, i32 0, i32 2 -// CHECK: [[T1:%.*]] = getelementptr inbounds %TSi, ptr [[T0]], i32 0, i32 0 +// CHECK: [[T0:%.*]] = getelementptr inbounds{{.*}} %T16actor_class_objc7MyClassC, ptr %0, i32 0, i32 2 +// CHECK: [[T1:%.*]] = getelementptr inbounds{{.*}} %TSi, ptr [[T0]], i32 0, i32 0 // CHECK: load [[INT]], ptr [[T1]], align // CHECK-LABEL: define {{.*}}swiftcc ptr @"$s16actor_class_objc7MyClassCACycfc" diff --git a/test/IRGen/arg_and_result_peepholes.swift b/test/IRGen/arg_and_result_peepholes.swift index 4e3c6337d844d..ee8dc3ab1d12f 100644 --- a/test/IRGen/arg_and_result_peepholes.swift +++ b/test/IRGen/arg_and_result_peepholes.swift @@ -10,13 +10,13 @@ // CHECK: [[TMP2:%.*]] = alloca %TSo9BigStructV // CHECK: [[CALL:%.*]] = alloca %TSo9BigStructV // CHECK: call void @llvm.lifetime.start.p0(i64 256, ptr [[TMP]]) -// CHECK: [[A1:%.*]] = getelementptr inbounds { i64, i64, i64, i64 }, ptr [[TMP]], i32 0, i32 0 +// CHECK: [[A1:%.*]] = getelementptr inbounds{{.*}} { i64, i64, i64, i64 }, ptr [[TMP]], i32 0, i32 0 // CHECK: store i64 %0, ptr [[A1]] -// CHECK: [[A2:%.*]] = getelementptr inbounds { i64, i64, i64, i64 }, ptr [[TMP]], i32 0, i32 1 +// CHECK: [[A2:%.*]] = getelementptr inbounds{{.*}} { i64, i64, i64, i64 }, ptr [[TMP]], i32 0, i32 1 // CHECK: store i64 %1, ptr [[A2]] -// CHECK: [[A3:%.*]] = getelementptr inbounds { i64, i64, i64, i64 }, ptr [[TMP]], i32 0, i32 2 +// CHECK: [[A3:%.*]] = getelementptr inbounds{{.*}} { i64, i64, i64, i64 }, ptr [[TMP]], i32 0, i32 2 // CHECK: store i64 %2, ptr [[A3]] -// CHECK: [[A4:%.*]] = getelementptr inbounds { i64, i64, i64, i64 }, ptr [[TMP]], i32 0, i32 3 +// CHECK: [[A4:%.*]] = getelementptr inbounds{{.*}} { i64, i64, i64, i64 }, ptr [[TMP]], i32 0, i32 3 // CHECK: store i64 %3, ptr [[A4]] // CHECK: call void @llvm.lifetime.start.p0(i64 32, ptr [[ARG_MEM]]) @@ -30,13 +30,13 @@ // CHECK: call void @llvm.memcpy.p0.p0.i64(ptr{{.*}} [[RES_MEM]], ptr{{.*}} [[CALL]], i64 32, i1 false) -// CHECK: [[A5:%.*]] = getelementptr inbounds { i64, i64, i64, i64 }, ptr [[RES_MEM]], i32 0, i32 0 +// CHECK: [[A5:%.*]] = getelementptr inbounds{{.*}} { i64, i64, i64, i64 }, ptr [[RES_MEM]], i32 0, i32 0 // CHECK: [[R1:%.*]] = load i64, ptr [[A5]] -// CHECK: [[A6:%.*]] = getelementptr inbounds { i64, i64, i64, i64 }, ptr [[RES_MEM]], i32 0, i32 1 +// CHECK: [[A6:%.*]] = getelementptr inbounds{{.*}} { i64, i64, i64, i64 }, ptr [[RES_MEM]], i32 0, i32 1 // CHECK: [[R2:%.*]] = load i64, ptr [[A6]] -// CHECK: [[A7:%.*]] = getelementptr inbounds { i64, i64, i64, i64 }, ptr [[RES_MEM]], i32 0, i32 2 +// CHECK: [[A7:%.*]] = getelementptr inbounds{{.*}} { i64, i64, i64, i64 }, ptr [[RES_MEM]], i32 0, i32 2 // CHECK: [[R3:%.*]] = load i64, ptr [[A7]] -// CHECK: [[A8:%.*]] = getelementptr inbounds { i64, i64, i64, i64 }, ptr [[RES_MEM]], i32 0, i32 3 +// CHECK: [[A8:%.*]] = getelementptr inbounds{{.*}} { i64, i64, i64, i64 }, ptr [[RES_MEM]], i32 0, i32 3 // CHECK: [[R4:%.*]] = load i64, ptr [[A8]] // CHECK: call void @llvm.lifetime.end.p0(i64 32, ptr [[ARG_MEM]]) // CHECK: call void @llvm.lifetime.end.p0(i64 32, ptr [[RES_MEM]]) diff --git a/test/IRGen/async/builtins.sil b/test/IRGen/async/builtins.sil index 9ad7f105d3919..1767b1dccab6f 100644 --- a/test/IRGen/async/builtins.sil +++ b/test/IRGen/async/builtins.sil @@ -51,15 +51,15 @@ sil hidden [ossa] @launch_future_on : $@convention(method) (Int, Builtin.Exe bb0(%flags : $Int, %serialExecutor : $Builtin.Executor, %taskFunction: @owned $@async @callee_guaranteed @substituted <τ_0_0> () -> (@out τ_0_0, @error Error) for ): // CHECK: [[EXECUTOR_RECORD:%.*]] = alloca %swift.serial_executor_task_option // CHECK-NOT: br i1 - // CHECK: [[BASE_GEP:%.*]] = getelementptr inbounds %swift.serial_executor_task_option, ptr [[EXECUTOR_RECORD]], i32 0, i32 0 - // CHECK: [[FLAGS_GEP:%.*]] = getelementptr inbounds %swift.task_option, ptr [[BASE_GEP]], i32 0, i32 0 + // CHECK: [[BASE_GEP:%.*]] = getelementptr inbounds{{.*}} %swift.serial_executor_task_option, ptr [[EXECUTOR_RECORD]], i32 0, i32 0 + // CHECK: [[FLAGS_GEP:%.*]] = getelementptr inbounds{{.*}} %swift.task_option, ptr [[BASE_GEP]], i32 0, i32 0 // CHECK: store [[INT]] 0, ptr [[FLAGS_GEP]], align - // CHECK: [[PARENT_GEP:%.*]] = getelementptr inbounds %swift.task_option, ptr [[BASE_GEP]], i32 0, i32 1 + // CHECK: [[PARENT_GEP:%.*]] = getelementptr inbounds{{.*}} %swift.task_option, ptr [[BASE_GEP]], i32 0, i32 1 // CHECK: store ptr null, ptr [[PARENT_GEP]], align - // CHECK: [[EXECUTOR_GEP:%.*]] = getelementptr inbounds %swift.serial_executor_task_option, ptr [[EXECUTOR_RECORD]], i32 0, i32 1 - // CHECK: [[EXECUTOR_IDENT_GEP:%.*]] = getelementptr inbounds %swift.executor, ptr [[EXECUTOR_GEP]], i32 0, i32 0 + // CHECK: [[EXECUTOR_GEP:%.*]] = getelementptr inbounds{{.*}} %swift.serial_executor_task_option, ptr [[EXECUTOR_RECORD]], i32 0, i32 1 + // CHECK: [[EXECUTOR_IDENT_GEP:%.*]] = getelementptr inbounds{{.*}} %swift.executor, ptr [[EXECUTOR_GEP]], i32 0, i32 0 // CHECK: store [[INT]] %1, ptr [[EXECUTOR_IDENT_GEP]], align - // CHECK: [[EXECUTOR_IMPL_GEP:%.*]] = getelementptr inbounds %swift.executor, ptr [[EXECUTOR_GEP]], i32 0, i32 1 + // CHECK: [[EXECUTOR_IMPL_GEP:%.*]] = getelementptr inbounds{{.*}} %swift.executor, ptr [[EXECUTOR_GEP]], i32 0, i32 1 // CHECK: store [[INT]] %2, ptr [[EXECUTOR_IMPL_GEP]], align // CHECK: [[NEW_TASK_AND_CONTEXT:%.*]] = call swift{{(tail)?}}cc %swift.async_task_and_context @swift_task_create([[INT]] %0, ptr [[EXECUTOR_RECORD]], ptr %T, ptr %3, ptr %4) %optSerialExecutor = enum $Optional, #Optional.some, %serialExecutor : $Builtin.Executor @@ -76,12 +76,12 @@ bb0(%flags : $Int, %serialExecutor : $Builtin.Executor, %taskFunction: @owned $@ // CHECK-LABEL: define hidden swift{{(tail)?}}cc void @launch_future_in_group // CHECK: [[OPTIONS:%.*]] = alloca %swift.task_group_task_option // CHECK-NOT: br i1 -// CHECK: [[BASE_GEP:%.*]] = getelementptr inbounds %swift.task_group_task_option, ptr [[OPTIONS]], i32 0, i32 0 -// CHECK: [[FLAGS_GEP:%.*]] = getelementptr inbounds %swift.task_option, ptr [[BASE_GEP]], i32 0, i32 0 +// CHECK: [[BASE_GEP:%.*]] = getelementptr inbounds{{.*}} %swift.task_group_task_option, ptr [[OPTIONS]], i32 0, i32 0 +// CHECK: [[FLAGS_GEP:%.*]] = getelementptr inbounds{{.*}} %swift.task_option, ptr [[BASE_GEP]], i32 0, i32 0 // CHECK: store [[INT]] 1, ptr [[FLAGS_GEP]], align -// CHECK: [[PARENT_GEP:%.*]] = getelementptr inbounds %swift.task_option, ptr [[BASE_GEP]], i32 0, i32 1 +// CHECK: [[PARENT_GEP:%.*]] = getelementptr inbounds{{.*}} %swift.task_option, ptr [[BASE_GEP]], i32 0, i32 1 // CHECK: store ptr null, ptr [[PARENT_GEP]], align -// CHECK: [[GROUP_GEP:%.*]] = getelementptr inbounds %swift.task_group_task_option, ptr [[OPTIONS]], i32 0, i32 1 +// CHECK: [[GROUP_GEP:%.*]] = getelementptr inbounds{{.*}} %swift.task_group_task_option, ptr [[OPTIONS]], i32 0, i32 1 // CHECK: store ptr %0, ptr [[GROUP_GEP]], align // CHECK: call swiftcc %swift.async_task_and_context @swift_task_create([[INT]] %3, ptr [[OPTIONS]], sil hidden @launch_future_in_group : $@convention(thin) (Builtin.RawPointer, @owned @async @callee_guaranteed @substituted <τ_0_0> () -> (@out τ_0_0, @error Error) for , Int) -> () { @@ -106,12 +106,12 @@ bb0(%flags : $Int, %optTaskGroup : $Optional, %taskFunction: // CHECK: br i1 [[GROUP_IS_NULL]], label %task_group.cont, label %task_group.some // CHECK: task_group.some: // CHECK: [[GROUP:%.*]] = inttoptr [[INT]] %1 to ptr - // CHECK: [[BASE_GEP:%.*]] = getelementptr inbounds %swift.task_group_task_option, ptr [[OPTIONS]], i32 0, i32 0 - // CHECK: [[FLAGS_GEP:%.*]] = getelementptr inbounds %swift.task_option, ptr [[BASE_GEP]], i32 0, i32 0 + // CHECK: [[BASE_GEP:%.*]] = getelementptr inbounds{{.*}} %swift.task_group_task_option, ptr [[OPTIONS]], i32 0, i32 0 + // CHECK: [[FLAGS_GEP:%.*]] = getelementptr inbounds{{.*}} %swift.task_option, ptr [[BASE_GEP]], i32 0, i32 0 // CHECK: store [[INT]] 1, ptr [[FLAGS_GEP]], align - // CHECK: [[PARENT_GEP:%.*]] = getelementptr inbounds %swift.task_option, ptr [[BASE_GEP]], i32 0, i32 1 + // CHECK: [[PARENT_GEP:%.*]] = getelementptr inbounds{{.*}} %swift.task_option, ptr [[BASE_GEP]], i32 0, i32 1 // CHECK: store ptr null, ptr [[PARENT_GEP]], align - // CHECK: [[GROUP_GEP:%.*]] = getelementptr inbounds %swift.task_group_task_option, ptr [[OPTIONS]], i32 0, i32 1 + // CHECK: [[GROUP_GEP:%.*]] = getelementptr inbounds{{.*}} %swift.task_group_task_option, ptr [[OPTIONS]], i32 0, i32 1 // CHECK: store ptr [[GROUP]], ptr [[GROUP_GEP]], align // CHECK: br label %task_group.cont // CHECK: task_group.cont: @@ -157,23 +157,23 @@ bb0(%taskGroup : $Builtin.RawPointer, %taskExecutor : $Builtin.Executor, %taskFu // CHECK: [[EXECUTOR_RECORD:%.*]] = alloca %swift.task_executor_task_option // CHECK-NOT: br i1 - // CHECK: [[BASE_GEP:%.*]] = getelementptr inbounds %swift.task_group_task_option, ptr [[GROUP_RECORD]], i32 0, i32 0 - // CHECK: [[FLAGS_GEP:%.*]] = getelementptr inbounds %swift.task_option, ptr [[BASE_GEP]], i32 0, i32 0 + // CHECK: [[BASE_GEP:%.*]] = getelementptr inbounds{{.*}} %swift.task_group_task_option, ptr [[GROUP_RECORD]], i32 0, i32 0 + // CHECK: [[FLAGS_GEP:%.*]] = getelementptr inbounds{{.*}} %swift.task_option, ptr [[BASE_GEP]], i32 0, i32 0 // CHECK: store [[INT]] 1, ptr [[FLAGS_GEP]], align - // CHECK: [[PARENT_GEP:%.*]] = getelementptr inbounds %swift.task_option, ptr [[BASE_GEP]], i32 0, i32 1 + // CHECK: [[PARENT_GEP:%.*]] = getelementptr inbounds{{.*}} %swift.task_option, ptr [[BASE_GEP]], i32 0, i32 1 // CHECK: store ptr null, ptr [[PARENT_GEP]], align - // CHECK: [[GROUP_GEP:%.*]] = getelementptr inbounds %swift.task_group_task_option, ptr [[GROUP_RECORD]], i32 0, i32 1 + // CHECK: [[GROUP_GEP:%.*]] = getelementptr inbounds{{.*}} %swift.task_group_task_option, ptr [[GROUP_RECORD]], i32 0, i32 1 // CHECK: store ptr %0, ptr [[GROUP_GEP]], align - // CHECK: [[BASE_GEP:%.*]] = getelementptr inbounds %swift.task_executor_task_option, ptr [[EXECUTOR_RECORD]], i32 0, i32 0 - // CHECK: [[FLAGS_GEP:%.*]] = getelementptr inbounds %swift.task_option, ptr [[BASE_GEP]], i32 0, i32 0 + // CHECK: [[BASE_GEP:%.*]] = getelementptr inbounds{{.*}} %swift.task_executor_task_option, ptr [[EXECUTOR_RECORD]], i32 0, i32 0 + // CHECK: [[FLAGS_GEP:%.*]] = getelementptr inbounds{{.*}} %swift.task_option, ptr [[BASE_GEP]], i32 0, i32 0 // CHECK: store [[INT]] 5, ptr [[FLAGS_GEP]], align - // CHECK: [[PARENT_GEP:%.*]] = getelementptr inbounds %swift.task_option, ptr [[BASE_GEP]], i32 0, i32 1 + // CHECK: [[PARENT_GEP:%.*]] = getelementptr inbounds{{.*}} %swift.task_option, ptr [[BASE_GEP]], i32 0, i32 1 // CHECK: store ptr [[GROUP_RECORD]], ptr [[PARENT_GEP]], align - // CHECK: [[EXECUTOR_GEP:%.*]] = getelementptr inbounds %swift.task_executor_task_option, ptr [[EXECUTOR_RECORD]], i32 0, i32 1 - // CHECK: [[EXECUTOR_IDENT_GEP:%.*]] = getelementptr inbounds %swift.executor, ptr [[EXECUTOR_GEP]], i32 0, i32 0 + // CHECK: [[EXECUTOR_GEP:%.*]] = getelementptr inbounds{{.*}} %swift.task_executor_task_option, ptr [[EXECUTOR_RECORD]], i32 0, i32 1 + // CHECK: [[EXECUTOR_IDENT_GEP:%.*]] = getelementptr inbounds{{.*}} %swift.executor, ptr [[EXECUTOR_GEP]], i32 0, i32 0 // CHECK: store [[INT]] %1, ptr [[EXECUTOR_IDENT_GEP]], align - // CHECK: [[EXECUTOR_IMPL_GEP:%.*]] = getelementptr inbounds %swift.executor, ptr [[EXECUTOR_GEP]], i32 0, i32 1 + // CHECK: [[EXECUTOR_IMPL_GEP:%.*]] = getelementptr inbounds{{.*}} %swift.executor, ptr [[EXECUTOR_GEP]], i32 0, i32 1 // CHECK: store [[INT]] %2, ptr [[EXECUTOR_IMPL_GEP]], align // CHECK: call swift{{(tail)?}}cc %swift.async_task_and_context @swift_task_create([[INT]] %5, ptr [[EXECUTOR_RECORD]] @@ -202,9 +202,9 @@ bb0(%flags : $Int, %taskGroup : $Builtin.RawPointer, %taskFunction: @owned $@asy // CHECK-LABEL: define hidden swiftcc void @resume_nonthrowing_continuation sil hidden [ossa] @resume_nonthrowing_continuation : $(@in Builtin.NativeObject, Builtin.RawUnsafeContinuation) -> () { bb0(%0 : $*Builtin.NativeObject, %1 : $Builtin.RawUnsafeContinuation): - // CHECK: [[CONTEXT_SLOT:%.*]] = getelementptr inbounds %swift.task, ptr %1, i32 0, i32 8 + // CHECK: [[CONTEXT_SLOT:%.*]] = getelementptr inbounds{{.*}} %swift.task, ptr %1, i32 0, i32 8 // CHECK-NEXT: [[CONTEXT_OPAQUE:%.*]] = load ptr, ptr [[CONTEXT_SLOT]], align - // CHECK-NEXT: [[RESULT_ADDR_SLOT:%.*]] = getelementptr inbounds %swift.continuation_context, ptr [[CONTEXT_OPAQUE]], i32 0, i32 4 + // CHECK-NEXT: [[RESULT_ADDR_SLOT:%.*]] = getelementptr inbounds{{.*}} %swift.continuation_context, ptr [[CONTEXT_OPAQUE]], i32 0, i32 4 // CHECK-NEXT: [[RESULT_ADDR_OPAQUE:%.*]] = load ptr, ptr [[RESULT_ADDR_SLOT]], align // CHECK-NEXT: [[VALUE:%.*]] = load ptr, ptr %0, align // CHECK-NEXT: store ptr [[VALUE]], ptr [[RESULT_ADDR_OPAQUE]], align @@ -218,9 +218,9 @@ bb0(%0 : $*Builtin.NativeObject, %1 : $Builtin.RawUnsafeContinuation): // CHECK-LABEL: define hidden swiftcc void @resume_throwing_continuation sil hidden [ossa] @resume_throwing_continuation : $(@in Builtin.NativeObject, Builtin.RawUnsafeContinuation) -> () { bb0(%0 : $*Builtin.NativeObject, %1 : $Builtin.RawUnsafeContinuation): - // CHECK: [[CONTEXT_SLOT:%.*]] = getelementptr inbounds %swift.task, ptr %1, i32 0, i32 8 + // CHECK: [[CONTEXT_SLOT:%.*]] = getelementptr inbounds{{.*}} %swift.task, ptr %1, i32 0, i32 8 // CHECK-NEXT: [[CONTEXT_OPAQUE:%.*]] = load ptr, ptr [[CONTEXT_SLOT]], align - // CHECK-NEXT: [[RESULT_ADDR_SLOT:%.*]] = getelementptr inbounds %swift.continuation_context, ptr [[CONTEXT_OPAQUE]], i32 0, i32 4 + // CHECK-NEXT: [[RESULT_ADDR_SLOT:%.*]] = getelementptr inbounds{{.*}} %swift.continuation_context, ptr [[CONTEXT_OPAQUE]], i32 0, i32 4 // CHECK-NEXT: [[RESULT_ADDR_OPAQUE:%.*]] = load ptr, ptr [[RESULT_ADDR_SLOT]], align // CHECK-NEXT: [[VALUE:%.*]] = load ptr, ptr %0, align // CHECK-NEXT: store ptr [[VALUE]], ptr [[RESULT_ADDR_OPAQUE]], align diff --git a/test/IRGen/async/get_async_continuation.sil b/test/IRGen/async/get_async_continuation.sil index 211df650e4e97..1d5da2ce47f12 100644 --- a/test/IRGen/async/get_async_continuation.sil +++ b/test/IRGen/async/get_async_continuation.sil @@ -23,8 +23,8 @@ bb0: // Initialize the async continuation context: // Initialize Parent. -// CHECK: [[base_context:%.*]] = getelementptr inbounds %swift.continuation_context, ptr [[cont_context]], i32 0, i32 0 -// CHECK: [[context_addr:%.*]] = getelementptr inbounds %swift.context, ptr [[base_context]], i32 0, i32 0 +// CHECK: [[base_context:%.*]] = getelementptr inbounds{{.*}} %swift.continuation_context, ptr [[cont_context]], i32 0, i32 0 +// CHECK: [[context_addr:%.*]] = getelementptr inbounds{{.*}} %swift.context, ptr [[base_context]], i32 0, i32 0 // CHECK: [[ctxt:%.*]] = load ptr, ptr [[ctxt_addr]] // CHECK-arm64e: [[ctxt_addr_int:%[0-9]+]] = ptrtoint ptr [[context_addr]] to i64 // CHECK-arm64e: [[ptrauth_blend:%[0-9]+]] = call i64 @llvm.ptrauth.blend(i64 [[ctxt_addr_int]], i64 48546) @@ -35,12 +35,12 @@ bb0: // CHECK-x86_64: store ptr [[ctxt]], ptr [[context_addr]] // Initialize NormalResult. -// CHECK: [[result_addr:%.*]] = getelementptr inbounds %swift.continuation_context, ptr [[cont_context]], i32 0, i32 4 +// CHECK: [[result_addr:%.*]] = getelementptr inbounds{{.*}} %swift.continuation_context, ptr [[cont_context]], i32 0, i32 4 // CHECK: store ptr [[result_storage]], ptr [[result_addr]] // Initialize ResumeParent. // CHECK: [[resume_intrinsic:%.*]] = call ptr @llvm.coro.async.resume() -// CHECK: [[continuation_fn_addr:%.*]] = getelementptr inbounds %swift.context, ptr [[base_context]], i32 0, i32 1 +// CHECK: [[continuation_fn_addr:%.*]] = getelementptr inbounds{{.*}} %swift.context, ptr [[base_context]], i32 0, i32 1 // CHECK-arm64e: [[continuation_fn_addr_int:%[0-9]+]] = ptrtoint ptr [[continuation_fn_addr]] to i64 // CHECK-arm64e: [[ptrauth_blend:%[0-9]+]] = call i64 @llvm.ptrauth.blend(i64 [[continuation_fn_addr_int]], i64 55047) // CHECK-arm64e: [[continuation_fn_int:%[0-9]+]] = ptrtoint ptr [[resume_intrinsic]] to i64 @@ -57,7 +57,7 @@ bb0: // Arrive at the await_async_continuation point. // CHECK: [[suspend:%.*]] = call { ptr } (i32, ptr, ptr, ...) @llvm.coro.suspend.async.sl_p0s(i32 0, ptr [[resume_intrinsic]], ptr @__swift_async_resume_project_context, ptr @__swift_continuation_await_point, ptr [[cont_context]]) -// CHECK: [[result_addr_addr:%.*]] = getelementptr inbounds %swift.continuation_context, ptr [[cont_context]], i32 0, i32 4 +// CHECK: [[result_addr_addr:%.*]] = getelementptr inbounds{{.*}} %swift.continuation_context, ptr [[cont_context]], i32 0, i32 4 // CHECK: [[result_addr:%.*]] = load ptr, ptr [[result_addr_addr]] // CHECK: [[result_value:%.*]] = load i32, ptr [[result_addr]] // CHECK: br label %[[result_bb:[0-9]+]] diff --git a/test/IRGen/async/hop_to_executor.sil b/test/IRGen/async/hop_to_executor.sil index 421c04f0c3b7d..b35ecab6b9035 100644 --- a/test/IRGen/async/hop_to_executor.sil +++ b/test/IRGen/async/hop_to_executor.sil @@ -20,7 +20,7 @@ import _Concurrency // CHECK: [[RESUME_CTX:%[0-9]+]] = call ptr @__swift_async_resume_get_context( // CHECK: store ptr [[RESUME_CTX]], ptr [[CTX_ADDR]] // CHECK: [[CTX:%[0-9+]+]] = load ptr, ptr [[CTX_ADDR]] -// CHECK: [[CONT_ADDR:%[0-9]+]] = getelementptr inbounds <{ ptr, ptr }>, ptr [[CTX]], i32 0, i32 1 +// CHECK: [[CONT_ADDR:%[0-9]+]] = getelementptr inbounds{{.*}} <{ ptr, ptr }>, ptr [[CTX]], i32 0, i32 1 // CHECK: [[RET_CONTINUATION:%.*]] = load ptr, ptr [[CONT_ADDR]] // CHECK-arm64e: [[T0:%.*]] = ptrtoint ptr [[RET_CONTINUATION]] to i64 // CHECK-arm64e: [[T1:%.*]] = call i64 @llvm.ptrauth.auth(i64 [[T0]] diff --git a/test/IRGen/bitcast.sil b/test/IRGen/bitcast.sil index e7fd7887dc1ad..093886d564e2f 100644 --- a/test/IRGen/bitcast.sil +++ b/test/IRGen/bitcast.sil @@ -19,7 +19,7 @@ protocol CP: class {} // CHECK-i386-LABEL: define{{( dllexport)?}}{{( protected)?}} swiftcc i32 @bitcast_trivial(ptr %0) {{.*}} { // CHECK-i386: [[BUF:%.*]] = alloca ptr, align 4 // CHECK-i386: store ptr %0, ptr [[BUF]] -// CHECK-i386: [[VALUE_BUF:%.*]] = getelementptr inbounds %TSi, ptr [[BUF]], i32 0, i32 0 +// CHECK-i386: [[VALUE_BUF:%.*]] = getelementptr inbounds{{.*}} %TSi, ptr [[BUF]], i32 0, i32 0 // CHECK-i386: [[VALUE:%.*]] = load i32, ptr [[VALUE_BUF]], align 4 // CHECK-i386: ret i32 [[VALUE]] // CHECK-i386: } @@ -27,7 +27,7 @@ protocol CP: class {} // CHECK-x86_64-LABEL: define{{( dllexport)?}}{{( protected)?}} swiftcc i64 @bitcast_trivial(ptr %0) {{.*}} { // CHECK-x86_64: [[BUF:%.*]] = alloca ptr, align 8 // CHECK-x86_64: store ptr %0, ptr [[BUF]] -// CHECK-x86_64: [[VALUE_BUF:%.*]] = getelementptr inbounds %TSi, ptr [[BUF]], i32 0, i32 0 +// CHECK-x86_64: [[VALUE_BUF:%.*]] = getelementptr inbounds{{.*}} %TSi, ptr [[BUF]], i32 0, i32 0 // CHECK-x86_64: [[VALUE:%.*]] = load i64, ptr [[VALUE_BUF]], align 8 // CHECK-x86_64: ret i64 [[VALUE]] // CHECK-x86_64: } @@ -88,7 +88,7 @@ bb0(%0 : $Optional): // A bunch of GEPs happen here to get from Int to int. // CHECK-x86_64: store i64 %{{.*}}, ptr %bitcast.elt._value, align 8 // CHECK-x86_64: store i64 %{{.*}}, ptr %bitcast.elt1._value, align 8 -// CHECK-x86_64-NEXT: [[VAL:%.*]] = getelementptr inbounds %TSi, ptr %bitcast, i32 0, i32 0 +// CHECK-x86_64-NEXT: [[VAL:%.*]] = getelementptr inbounds{{.*}} %TSi, ptr %bitcast, i32 0, i32 0 // CHECK-x86_64-NEXT: [[RESULT:%.*]] = load i64, ptr [[VAL]], align 8 // CHECK-x86_64: ret i64 [[RESULT]] // CHECK-x86_64-NEXT: } diff --git a/test/IRGen/boxed_existential.sil b/test/IRGen/boxed_existential.sil index 16870af6b1632..3c061cf6f27ee 100644 --- a/test/IRGen/boxed_existential.sil +++ b/test/IRGen/boxed_existential.sil @@ -81,7 +81,7 @@ entry(%b : $Error): // CHECK: [[ADDR:%.*]] = load {{.*}} [[OUT_ADDR]] %a = project_existential_box $SomeError in %b : $Error - // CHECK: [[GEP1:%.*]] = getelementptr inbounds %T17boxed_existential9SomeErrorV, ptr %2, i32 0, i32 1 + // CHECK: [[GEP1:%.*]] = getelementptr inbounds{{.*}} %T17boxed_existential9SomeErrorV, ptr %2, i32 0, i32 1 // CHECK: [[GEP2:%.*]] = getelementptr inbounds {{.*}} [[GEP1]], i32 0, i32 0 %c = struct_element_addr %a : $*SomeError, #SomeError._code diff --git a/test/IRGen/builtins.swift b/test/IRGen/builtins.swift index 6cd0d59b5d317..61acb9e227804 100644 --- a/test/IRGen/builtins.swift +++ b/test/IRGen/builtins.swift @@ -212,11 +212,11 @@ func sizeof_alignof_metatype_test() { // CHECK: define hidden {{.*}}void @"$s8builtins27generic_sizeof_alignof_testyyxlF" func generic_sizeof_alignof_test(_: T) { - // CHECK: [[T0:%.*]] = getelementptr inbounds %swift.vwtable, ptr [[T:%.*]], i32 0, i32 8 + // CHECK: [[T0:%.*]] = getelementptr inbounds{{.*}} %swift.vwtable, ptr [[T:%.*]], i32 0, i32 8 // CHECK-NEXT: [[SIZE:%.*]] = load i64, ptr [[T0]] // CHECK-NEXT: store i64 [[SIZE]], ptr [[S:%.*]] var s = Builtin.sizeof(T.self) - // CHECK: [[T0:%.*]] = getelementptr inbounds %swift.vwtable, ptr [[T:%.*]], i32 0, i32 10 + // CHECK: [[T0:%.*]] = getelementptr inbounds{{.*}} %swift.vwtable, ptr [[T:%.*]], i32 0, i32 10 // CHECK-NEXT: [[FLAGS:%.*]] = load i32, ptr [[T0]] // CHECK-NEXT: [[T2:%.*]] = zext i32 [[FLAGS]] to i64 // CHECK-NEXT: [[T3:%.*]] = and i64 [[T2]], 255 @@ -227,7 +227,7 @@ func generic_sizeof_alignof_test(_: T) { // CHECK: define hidden {{.*}}void @"$s8builtins21generic_strideof_testyyxlF" func generic_strideof_test(_: T) { - // CHECK: [[T0:%.*]] = getelementptr inbounds %swift.vwtable, ptr [[T:%.*]], i32 9 + // CHECK: [[T0:%.*]] = getelementptr inbounds{{.*}} %swift.vwtable, ptr [[T:%.*]], i32 9 // CHECK-NEXT: [[STRIDE:%.*]] = load i64, ptr [[T0]] // CHECK-NEXT: store i64 [[STRIDE]], ptr [[S:%.*]] var s = Builtin.strideof(T.self) @@ -667,7 +667,7 @@ func acceptsAnyObject(_ ref: inout Builtin.AnyObject?) {} // ObjC // CHECK-LABEL: define hidden {{.*}}i1 @"$s8builtins8isUniqueyBi1_yXlSgzF"(ptr nocapture dereferenceable({{.*}}) %0) {{.*}} { // CHECK-NEXT: entry: -// CHECK: [[ADDR:%.+]] = getelementptr inbounds [[OPTIONAL_ANYOBJECT_TY:%.*]], ptr %0, i32 0, i32 0 +// CHECK: [[ADDR:%.+]] = getelementptr inbounds{{.*}} [[OPTIONAL_ANYOBJECT_TY:%.*]], ptr %0, i32 0, i32 0 // CHECK-NEXT: [[REF:%.+]] = load ptr, ptr [[ADDR]] // CHECK-objc-NEXT: [[RESULT:%.+]] = call zeroext i1 @swift_isUniquelyReferenced{{(NonObjC)?}}(ptr [[REF]]) // CHECK-native-NEXT: [[RESULT:%.+]] = call zeroext i1 @swift_isUniquelyReferenced_native(ptr [[REF]]) @@ -680,7 +680,7 @@ func isUnique(_ ref: inout Builtin.AnyObject?) -> Bool { // CHECK-LABEL: define hidden {{.*}}i1 @"$s8builtins8isUniqueyBi1_yXlzF" // CHECK-SAME: (ptr nocapture dereferenceable({{.*}}) %0) {{.*}} { // CHECK-NEXT: entry: -// CHECK: [[ADDR:%.+]] = getelementptr inbounds %AnyObject, ptr %0, i32 0, i32 0 +// CHECK: [[ADDR:%.+]] = getelementptr inbounds{{.*}} %AnyObject, ptr %0, i32 0, i32 0 // CHECK: [[REF:%.+]] = load ptr, ptr [[ADDR]] // CHECK-objc-NEXT: [[RESULT:%.+]] = call zeroext i1 @swift_isUniquelyReferenced{{(NonObjC)?}}_nonNull(ptr [[REF]]) // CHECK-native-NEXT: [[RESULT:%.+]] = call zeroext i1 @swift_isUniquelyReferenced_nonNull_native(ptr [[REF]]) @@ -733,7 +733,7 @@ func COWBufferForReading(_ ref: __owned C) -> C { // CHECK-LABEL: define {{.*}} @{{.*}}generic_ispod_test func generic_ispod_test(_: T) { - // CHECK: [[T0:%.*]] = getelementptr inbounds %swift.vwtable, ptr [[T:%.*]], i32 10 + // CHECK: [[T0:%.*]] = getelementptr inbounds{{.*}} %swift.vwtable, ptr [[T:%.*]], i32 10 // CHECK-NEXT: [[FLAGS:%.*]] = load i32, ptr [[T0]] // CHECK-NEXT: [[ISNOTPOD:%.*]] = and i32 [[FLAGS]], 65536 // CHECK-NEXT: [[ISPOD:%.*]] = icmp eq i32 [[ISNOTPOD]], 0 @@ -752,7 +752,7 @@ func ispod_test() { // CHECK-LABEL: define {{.*}} @{{.*}}generic_isbitwisetakable_test func generic_isbitwisetakable_test(_: T) { - // CHECK: [[T0:%.*]] = getelementptr inbounds %swift.vwtable, ptr [[T:%.*]], i32 10 + // CHECK: [[T0:%.*]] = getelementptr inbounds{{.*}} %swift.vwtable, ptr [[T:%.*]], i32 10 // CHECK-NEXT: [[FLAGS:%.*]] = load i32, ptr [[T0]] // CHECK-NEXT: [[ISNOTBITWISETAKABLE:%.*]] = and i32 [[FLAGS]], 1048576 // CHECK-NEXT: [[ISBITWISETAKABLE:%.*]] = icmp eq i32 [[ISNOTBITWISETAKABLE]], 0 diff --git a/test/IRGen/c_layout.sil b/test/IRGen/c_layout.sil index 6178b60f1d5d6..bf206477193f2 100644 --- a/test/IRGen/c_layout.sil +++ b/test/IRGen/c_layout.sil @@ -33,54 +33,54 @@ bb0: // CHECK-x86_64: [[ARG:%.*]] = alloca %TSo11BitfieldOneV, align 8 // Make the first call and pull all the values out of the indirect result. // CHECK-x86_64: call void @createBitfieldOne(ptr noalias nocapture sret({{.*}}) [[RESULT]]) -// CHECK-x86_64: [[ADDR_A:%.*]] = getelementptr inbounds %TSo11BitfieldOneV, ptr [[RESULT]], i32 0, i32 0 -// CHECK-x86_64: [[ADDR_A_V:%.*]] = getelementptr inbounds %Ts6UInt32V, ptr [[ADDR_A]], i32 0, i32 0 +// CHECK-x86_64: [[ADDR_A:%.*]] = getelementptr inbounds{{.*}} %TSo11BitfieldOneV, ptr [[RESULT]], i32 0, i32 0 +// CHECK-x86_64: [[ADDR_A_V:%.*]] = getelementptr inbounds{{.*}} %Ts6UInt32V, ptr [[ADDR_A]], i32 0, i32 0 // CHECK-x86_64: [[A:%.*]] = load i32, ptr [[ADDR_A_V]], align 8 -// CHECK-x86_64: [[ADDR_B:%.*]] = getelementptr inbounds %TSo11BitfieldOneV, ptr [[RESULT]], i32 0, i32 1 -// CHECK-x86_64: [[ADDR_B_X:%.*]] = getelementptr inbounds %TSo6NestedV, ptr [[ADDR_B]], i32 0, i32 0 -// CHECK-x86_64: [[ADDR_B_X_V:%.*]] = getelementptr inbounds %TSf, ptr [[ADDR_B_X]], i32 0, i32 0 +// CHECK-x86_64: [[ADDR_B:%.*]] = getelementptr inbounds{{.*}} %TSo11BitfieldOneV, ptr [[RESULT]], i32 0, i32 1 +// CHECK-x86_64: [[ADDR_B_X:%.*]] = getelementptr inbounds{{.*}} %TSo6NestedV, ptr [[ADDR_B]], i32 0, i32 0 +// CHECK-x86_64: [[ADDR_B_X_V:%.*]] = getelementptr inbounds{{.*}} %TSf, ptr [[ADDR_B_X]], i32 0, i32 0 // CHECK-x86_64: [[B_X:%.*]] = load float, ptr [[ADDR_B_X_V]], align 4 -// CHECK-x86_64: [[ADDR_B_YZ:%.*]] = getelementptr inbounds %TSo6NestedV, ptr [[ADDR_B]], i32 0, i32 1 +// CHECK-x86_64: [[ADDR_B_YZ:%.*]] = getelementptr inbounds{{.*}} %TSo6NestedV, ptr [[ADDR_B]], i32 0, i32 1 // CHECK-x86_64: [[B_YZ:%.*]] = load i24, ptr [[ADDR_B_YZ]], align 4 -// CHECK-x86_64: [[ADDR_CDE:%.*]] = getelementptr inbounds %TSo11BitfieldOneV, ptr [[RESULT]], i32 0, i32 2 +// CHECK-x86_64: [[ADDR_CDE:%.*]] = getelementptr inbounds{{.*}} %TSo11BitfieldOneV, ptr [[RESULT]], i32 0, i32 2 // CHECK-x86_64: [[CDE:%.*]] = load i32, ptr [[ADDR_CDE]], align 4 -// CHECK-x86_64: [[ADDR_FGH:%.*]] = getelementptr inbounds %TSo11BitfieldOneV, ptr [[RESULT]], i32 0, i32 3 +// CHECK-x86_64: [[ADDR_FGH:%.*]] = getelementptr inbounds{{.*}} %TSo11BitfieldOneV, ptr [[RESULT]], i32 0, i32 3 // CHECK-x86_64: [[FGH:%.*]] = load i32, ptr [[ADDR_FGH]], align 8 -// CHECK-x86_64: [[ADDR_I:%.*]] = getelementptr inbounds %TSo11BitfieldOneV, ptr [[RESULT]], i32 0, i32 4 -// CHECK-x86_64: [[ADDR_I_V:%.*]] = getelementptr inbounds %TSf, ptr [[ADDR_I]], i32 0, i32 0 +// CHECK-x86_64: [[ADDR_I:%.*]] = getelementptr inbounds{{.*}} %TSo11BitfieldOneV, ptr [[RESULT]], i32 0, i32 4 +// CHECK-x86_64: [[ADDR_I_V:%.*]] = getelementptr inbounds{{.*}} %TSf, ptr [[ADDR_I]], i32 0, i32 0 // CHECK-x86_64: [[I:%.*]] = load float, ptr [[ADDR_I_V]], align 4 -// CHECK-x86_64: [[ADDR_JK:%.*]] = getelementptr inbounds %TSo11BitfieldOneV, ptr [[RESULT]], i32 0, i32 5 +// CHECK-x86_64: [[ADDR_JK:%.*]] = getelementptr inbounds{{.*}} %TSo11BitfieldOneV, ptr [[RESULT]], i32 0, i32 5 // CHECK-x86_64: [[JK:%.*]] = load i8, ptr [[ADDR_JK]], align 8 -// CHECK-x86_64: [[ADDR_L:%.*]] = getelementptr inbounds %TSo11BitfieldOneV, ptr [[RESULT]], i32 0, i32 7 -// CHECK-x86_64: [[ADDR_L_V:%.*]] = getelementptr inbounds %Ts6UInt64V, ptr [[ADDR_L]], i32 0, i32 0 +// CHECK-x86_64: [[ADDR_L:%.*]] = getelementptr inbounds{{.*}} %TSo11BitfieldOneV, ptr [[RESULT]], i32 0, i32 7 +// CHECK-x86_64: [[ADDR_L_V:%.*]] = getelementptr inbounds{{.*}} %Ts6UInt64V, ptr [[ADDR_L]], i32 0, i32 0 // CHECK-x86_64: [[L:%.*]] = load i64, ptr [[ADDR_L_V]], align 8 -// CHECK-x86_64: [[ADDR_M:%.*]] = getelementptr inbounds %TSo11BitfieldOneV, ptr [[RESULT]], i32 0, i32 8 -// CHECK-x86_64: [[ADDR_M_V:%.*]] = getelementptr inbounds %Ts6UInt32V, ptr [[ADDR_M]], i32 0, i32 0 +// CHECK-x86_64: [[ADDR_M:%.*]] = getelementptr inbounds{{.*}} %TSo11BitfieldOneV, ptr [[RESULT]], i32 0, i32 8 +// CHECK-x86_64: [[ADDR_M_V:%.*]] = getelementptr inbounds{{.*}} %Ts6UInt32V, ptr [[ADDR_M]], i32 0, i32 0 // CHECK-x86_64: [[M:%.*]] = load i32, ptr [[ADDR_M_V]], align 8 // Put all of the values into the indirect argument and make the second call. -// CHECK-x86_64: [[ADDR_A:%.*]] = getelementptr inbounds %TSo11BitfieldOneV, ptr [[ARG]], i32 0, i32 0 -// CHECK-x86_64: [[ADDR_A_V:%.*]] = getelementptr inbounds %Ts6UInt32V, ptr [[ADDR_A]], i32 0, i32 0 +// CHECK-x86_64: [[ADDR_A:%.*]] = getelementptr inbounds{{.*}} %TSo11BitfieldOneV, ptr [[ARG]], i32 0, i32 0 +// CHECK-x86_64: [[ADDR_A_V:%.*]] = getelementptr inbounds{{.*}} %Ts6UInt32V, ptr [[ADDR_A]], i32 0, i32 0 // CHECK-x86_64: store i32 [[A]], ptr [[ADDR_A_V]], align 8 -// CHECK-x86_64: [[ADDR_B:%.*]] = getelementptr inbounds %TSo11BitfieldOneV, ptr [[ARG]], i32 0, i32 1 -// CHECK-x86_64: [[ADDR_B_X:%.*]] = getelementptr inbounds %TSo6NestedV, ptr [[ADDR_B]], i32 0, i32 0 -// CHECK-x86_64: [[ADDR_B_X_V:%.*]] = getelementptr inbounds %TSf, ptr [[ADDR_B_X]], i32 0, i32 0 +// CHECK-x86_64: [[ADDR_B:%.*]] = getelementptr inbounds{{.*}} %TSo11BitfieldOneV, ptr [[ARG]], i32 0, i32 1 +// CHECK-x86_64: [[ADDR_B_X:%.*]] = getelementptr inbounds{{.*}} %TSo6NestedV, ptr [[ADDR_B]], i32 0, i32 0 +// CHECK-x86_64: [[ADDR_B_X_V:%.*]] = getelementptr inbounds{{.*}} %TSf, ptr [[ADDR_B_X]], i32 0, i32 0 // CHECK-x86_64: store float [[B_X]], ptr [[ADDR_B_X_V]], align 4 -// CHECK-x86_64: [[ADDR_B_YZ:%.*]] = getelementptr inbounds %TSo6NestedV, ptr [[ADDR_B]], i32 0, i32 1 +// CHECK-x86_64: [[ADDR_B_YZ:%.*]] = getelementptr inbounds{{.*}} %TSo6NestedV, ptr [[ADDR_B]], i32 0, i32 1 // CHECK-x86_64: store i24 [[B_YZ]], ptr [[ADDR_B_YZ]], align 4 -// CHECK-x86_64: [[ADDR_CDE:%.*]] = getelementptr inbounds %TSo11BitfieldOneV, ptr [[ARG]], i32 0, i32 2 +// CHECK-x86_64: [[ADDR_CDE:%.*]] = getelementptr inbounds{{.*}} %TSo11BitfieldOneV, ptr [[ARG]], i32 0, i32 2 // CHECK-x86_64: store i32 [[CDE]], ptr [[ADDR_CDE]], align 4 -// CHECK-x86_64: [[ADDR_FGH:%.*]] = getelementptr inbounds %TSo11BitfieldOneV, ptr [[ARG]], i32 0, i32 3 +// CHECK-x86_64: [[ADDR_FGH:%.*]] = getelementptr inbounds{{.*}} %TSo11BitfieldOneV, ptr [[ARG]], i32 0, i32 3 // CHECK-x86_64: store i32 [[FGH]], ptr [[ADDR_FGH]], align 8 -// CHECK-x86_64: [[ADDR_I:%.*]] = getelementptr inbounds %TSo11BitfieldOneV, ptr [[ARG]], i32 0, i32 4 -// CHECK-x86_64: [[ADDR_I_V:%.*]] = getelementptr inbounds %TSf, ptr [[ADDR_I]], i32 0, i32 0 +// CHECK-x86_64: [[ADDR_I:%.*]] = getelementptr inbounds{{.*}} %TSo11BitfieldOneV, ptr [[ARG]], i32 0, i32 4 +// CHECK-x86_64: [[ADDR_I_V:%.*]] = getelementptr inbounds{{.*}} %TSf, ptr [[ADDR_I]], i32 0, i32 0 // CHECK-x86_64: store float [[I]], ptr [[ADDR_I_V]], align 4 -// CHECK-x86_64: [[ADDR_JK:%.*]] = getelementptr inbounds %TSo11BitfieldOneV, ptr [[ARG]], i32 0, i32 5 +// CHECK-x86_64: [[ADDR_JK:%.*]] = getelementptr inbounds{{.*}} %TSo11BitfieldOneV, ptr [[ARG]], i32 0, i32 5 // CHECK-x86_64: store i8 [[JK]], ptr [[ADDR_JK]], align 8 -// CHECK-x86_64: [[ADDR_L:%.*]] = getelementptr inbounds %TSo11BitfieldOneV, ptr [[ARG]], i32 0, i32 7 -// CHECK-x86_64: [[ADDR_L_V:%.*]] = getelementptr inbounds %Ts6UInt64V, ptr [[ADDR_L]], i32 0, i32 0 +// CHECK-x86_64: [[ADDR_L:%.*]] = getelementptr inbounds{{.*}} %TSo11BitfieldOneV, ptr [[ARG]], i32 0, i32 7 +// CHECK-x86_64: [[ADDR_L_V:%.*]] = getelementptr inbounds{{.*}} %Ts6UInt64V, ptr [[ADDR_L]], i32 0, i32 0 // CHECK-x86_64: store i64 [[L]], ptr [[ADDR_L_V]], align 8 -// CHECK-x86_64: [[ADDR_M:%.*]] = getelementptr inbounds %TSo11BitfieldOneV, ptr [[ARG]], i32 0, i32 8 -// CHECK-x86_64: [[ADDR_M_V:%.*]] = getelementptr inbounds %Ts6UInt32V, ptr [[ADDR_M]], i32 0, i32 0 +// CHECK-x86_64: [[ADDR_M:%.*]] = getelementptr inbounds{{.*}} %TSo11BitfieldOneV, ptr [[ARG]], i32 0, i32 8 +// CHECK-x86_64: [[ADDR_M_V:%.*]] = getelementptr inbounds{{.*}} %Ts6UInt32V, ptr [[ADDR_M]], i32 0, i32 0 // CHECK-x86_64: store i32 [[M]], ptr [[ADDR_M_V]], align 8 // CHECK-SYSV-x86_64: call void @consumeBitfieldOne(ptr byval({{.*}}) align 8 [[ARG]]) // CHECK-WIN-x86_64: call void @consumeBitfieldOne(ptr [[ARG]]) diff --git a/test/IRGen/class.sil b/test/IRGen/class.sil index 1176280a2caaf..08b0d525d1714 100644 --- a/test/IRGen/class.sil +++ b/test/IRGen/class.sil @@ -154,6 +154,6 @@ entry(%x : $ClassConstrainedGenericField): return %b : $ClassConstraintConformance } // CHECK-LABEL: define{{( dllexport)?}}{{( protected)?}} swiftcc ptr @fixed_class_generic_field(ptr %0) -// CHECK: [[FIELD_ADDR_GENERIC:%.*]] = getelementptr inbounds %T5class28ClassConstrainedGenericFieldCyAA0B21ConstraintConformanceCG, ptr %0, i32 0, i32 1 +// CHECK: [[FIELD_ADDR_GENERIC:%.*]] = getelementptr inbounds{{.*}} %T5class28ClassConstrainedGenericFieldCyAA0B21ConstraintConformanceCG, ptr %0, i32 0, i32 1 // CHECK: load ptr, ptr [[FIELD_ADDR_GENERIC]] diff --git a/test/IRGen/class_bounded_generics.swift b/test/IRGen/class_bounded_generics.swift index ecb5d56460187..5f796216be3e1 100644 --- a/test/IRGen/class_bounded_generics.swift +++ b/test/IRGen/class_bounded_generics.swift @@ -218,9 +218,9 @@ func class_protocol_field_struct_fields func class_generic_field_class_fields (_ x:ClassGenericFieldClass) -> (Int, T, Int) { return (x.x, x.y, x.z) - // CHECK: getelementptr inbounds %T22class_bounded_generics017ClassGenericFieldD0C, ptr %0, i32 0, i32 1 - // CHECK: getelementptr inbounds %T22class_bounded_generics017ClassGenericFieldD0C, ptr %0, i32 0, i32 2 - // CHECK: getelementptr inbounds %T22class_bounded_generics017ClassGenericFieldD0C, ptr %0, i32 0, i32 3 + // CHECK: getelementptr inbounds{{.*}} %T22class_bounded_generics017ClassGenericFieldD0C, ptr %0, i32 0, i32 1 + // CHECK: getelementptr inbounds{{.*}} %T22class_bounded_generics017ClassGenericFieldD0C, ptr %0, i32 0, i32 2 + // CHECK: getelementptr inbounds{{.*}} %T22class_bounded_generics017ClassGenericFieldD0C, ptr %0, i32 0, i32 3 } // CHECK-LABEL: define hidden swiftcc { i64, ptr, ptr, i64 } @"$s22class_bounded_generics0a16_protocol_field_A7_fields{{[_0-9a-zA-Z]*}}F"(ptr %0) diff --git a/test/IRGen/class_field_other_module.swift b/test/IRGen/class_field_other_module.swift index b74db17246396..7785283301891 100644 --- a/test/IRGen/class_field_other_module.swift +++ b/test/IRGen/class_field_other_module.swift @@ -10,7 +10,7 @@ import other_class // CHECK-LABEL: define {{(protected )?}}{{(dllexport )?}}swiftcc i32 @"$s24class_field_other_module12getSubclassXys5Int32V0c1_A00F0CF"(ptr nocapture readonly %0) // CHECK-NEXT: entry: // An Int32 after the heap object header -// CHECK-NEXT: [[GEP:%.*]] = getelementptr inbounds i8, ptr %0, i64 16 +// CHECK-NEXT: [[GEP:%.*]] = getelementptr inbounds{{.*}} i8, ptr %0, i64 16 // CHECK-NEXT: [[RESULT:%.*]] = load i32, ptr [[GEP]] // CHECK-NEXT: ret i32 [[RESULT]] public func getSubclassX(_ o: Subclass) -> Int32 { @@ -20,7 +20,7 @@ public func getSubclassX(_ o: Subclass) -> Int32 { // CHECK-LABEL: define {{(protected )?}}{{(dllexport )?}}swiftcc i32 @"$s24class_field_other_module12getSubclassYys5Int32V0c1_A00F0CF"(ptr nocapture readonly %0) // CHECK-NEXT: entry: // An Int32 after an Int32 after the heap object header -// CHECK-NEXT: [[GEP:%.*]] = getelementptr inbounds i8, ptr %0, i64 20 +// CHECK-NEXT: [[GEP:%.*]] = getelementptr inbounds{{.*}} i8, ptr %0, i64 20 // CHECK-NEXT: [[RESULT:%.*]] = load i32, ptr [[GEP]] // CHECK-NEXT: ret i32 [[RESULT]] public func getSubclassY(_ o: Subclass) -> Int32 { diff --git a/test/IRGen/class_resilience.swift b/test/IRGen/class_resilience.swift index 361cf1804e85b..508b90872dcc4 100644 --- a/test/IRGen/class_resilience.swift +++ b/test/IRGen/class_resilience.swift @@ -290,7 +290,7 @@ public class ClassWithResilientThenEmpty { // CHECK-LABEL: define{{( dllexport)?}}{{( protected)?}} swiftcc i32 @"$s16class_resilience26ClassWithResilientPropertyC5colors5Int32Vvg"(ptr swiftself %0) // CHECK: [[OFFSET:%.*]] = load [[INT]], ptr @"$s16class_resilience26ClassWithResilientPropertyC5colors5Int32VvpWvd" // CHECK-NEXT: [[FIELD_ADDR:%.*]] = getelementptr inbounds i8, ptr %0, [[INT]] [[OFFSET]] -// CHECK-NEXT: [[FIELD_PAYLOAD:%.*]] = getelementptr inbounds %Ts5Int32V, ptr [[FIELD_ADDR]], i32 0, i32 0 +// CHECK-NEXT: [[FIELD_PAYLOAD:%.*]] = getelementptr inbounds{{.*}} %Ts5Int32V, ptr [[FIELD_ADDR]], i32 0, i32 0 // CHECK-NEXT: [[FIELD_VALUE:%.*]] = load i32, ptr [[FIELD_PAYLOAD]] // CHECK: ret i32 [[FIELD_VALUE]] @@ -299,7 +299,7 @@ public class ClassWithResilientThenEmpty { // CHECK-LABEL: define{{( dllexport)?}}{{( protected)?}} swiftcc i32 @"$s16class_resilience33ClassWithResilientlySizedPropertyC5colors5Int32Vvg"(ptr swiftself %0) // CHECK: [[OFFSET:%.*]] = load [[INT]], ptr @"$s16class_resilience33ClassWithResilientlySizedPropertyC5colors5Int32VvpWvd" // CHECK-NEXT: [[FIELD_ADDR:%.*]] = getelementptr inbounds i8, ptr %0, [[INT]] [[OFFSET]] -// CHECK-NEXT: [[FIELD_PAYLOAD:%.*]] = getelementptr inbounds %Ts5Int32V, ptr [[FIELD_ADDR]], i32 0, i32 0 +// CHECK-NEXT: [[FIELD_PAYLOAD:%.*]] = getelementptr inbounds{{.*}} %Ts5Int32V, ptr [[FIELD_ADDR]], i32 0, i32 0 // CHECK-NEXT: [[FIELD_VALUE:%.*]] = load i32, ptr [[FIELD_PAYLOAD]] // CHECK: ret i32 [[FIELD_VALUE]] @@ -307,8 +307,8 @@ public class ClassWithResilientThenEmpty { // ClassWithIndirectResilientEnum.color getter // CHECK-LABEL: define{{( dllexport)?}}{{( protected)?}} swiftcc i32 @"$s16class_resilience30ClassWithIndirectResilientEnumC5colors5Int32Vvg"(ptr swiftself %0) -// CHECK: [[FIELD_PTR:%.*]] = getelementptr inbounds %T16class_resilience30ClassWithIndirectResilientEnumC, ptr %0, i32 0, i32 2 -// CHECK-NEXT: [[FIELD_PAYLOAD:%.*]] = getelementptr inbounds %Ts5Int32V, ptr [[FIELD_PTR]], i32 0, i32 0 +// CHECK: [[FIELD_PTR:%.*]] = getelementptr inbounds{{.*}} %T16class_resilience30ClassWithIndirectResilientEnumC, ptr %0, i32 0, i32 2 +// CHECK-NEXT: [[FIELD_PAYLOAD:%.*]] = getelementptr inbounds{{.*}} %Ts5Int32V, ptr [[FIELD_PTR]], i32 0, i32 0 // CHECK-NEXT: [[FIELD_VALUE:%.*]] = load i32, ptr [[FIELD_PAYLOAD]] // CHECK: ret i32 [[FIELD_VALUE]] @@ -319,7 +319,7 @@ public class ClassWithResilientThenEmpty { // CHECK: [[OFFSET:%.*]] = load [[INT]], ptr @"$s16class_resilience14ResilientChildC5fields5Int32VvpWvd" // CHECK-NEXT: [[FIELD_ADDR:%.*]] = getelementptr inbounds i8, ptr %0, [[INT]] [[OFFSET]] // CHECK: call void @swift_beginAccess -// CHECK-NEXT: [[FIELD_PAYLOAD:%.*]] = getelementptr inbounds %Ts5Int32V, ptr [[FIELD_ADDR]], i32 0, i32 0 +// CHECK-NEXT: [[FIELD_PAYLOAD:%.*]] = getelementptr inbounds{{.*}} %Ts5Int32V, ptr [[FIELD_ADDR]], i32 0, i32 0 // CHECK-NEXT: [[FIELD_VALUE:%.*]] = load i32, ptr [[FIELD_PAYLOAD]] // CHECK-NEXT: call void @swift_endAccess // CHECK: ret i32 [[FIELD_VALUE]] @@ -340,7 +340,7 @@ public class ClassWithResilientThenEmpty { // CHECK-NEXT: [[FIELD_OFFSET:%.*]] = load [[INT]], ptr [[FIELD_OFFSET_ADDR:%.*]] // CHECK-NEXT: [[ADDR:%.*]] = getelementptr inbounds i8, ptr %0, [[INT]] [[FIELD_OFFSET]] // CHECK: call void @swift_beginAccess -// CHECK-NEXT: [[PAYLOAD_ADDR:%.*]] = getelementptr inbounds %Ts5Int32V, ptr [[ADDR]], i32 0, i32 0 +// CHECK-NEXT: [[PAYLOAD_ADDR:%.*]] = getelementptr inbounds{{.*}} %Ts5Int32V, ptr [[ADDR]], i32 0, i32 0 // CHECK-NEXT: [[RESULT:%.*]] = load i32, ptr [[PAYLOAD_ADDR]] // CHECK-NEXT: call void @swift_endAccess // CHECK: ret i32 [[RESULT]] @@ -349,8 +349,8 @@ public class ClassWithResilientThenEmpty { // MyResilientChild.field getter // CHECK-LABEL: define{{( dllexport)?}}{{( protected)?}} swiftcc i32 @"$s16class_resilience16MyResilientChildC5fields5Int32Vvg"(ptr swiftself %0) -// CHECK: [[FIELD_ADDR:%.*]] = getelementptr inbounds %T16class_resilience16MyResilientChildC, ptr %0, i32 0, i32 2 -// CHECK-NEXT: [[PAYLOAD_ADDR:%.*]] = getelementptr inbounds %Ts5Int32V, ptr [[FIELD_ADDR]], i32 0, i32 0 +// CHECK: [[FIELD_ADDR:%.*]] = getelementptr inbounds{{.*}} %T16class_resilience16MyResilientChildC, ptr %0, i32 0, i32 2 +// CHECK-NEXT: [[PAYLOAD_ADDR:%.*]] = getelementptr inbounds{{.*}} %Ts5Int32V, ptr [[FIELD_ADDR]], i32 0, i32 0 // CHECK-NEXT: [[RESULT:%.*]] = load i32, ptr [[PAYLOAD_ADDR]] // CHECK: ret i32 [[RESULT]] @@ -395,7 +395,7 @@ public class ClassWithResilientThenEmpty { // CHECK-objc-NEXT: [[FIELDS_DEST:%.*]] = getelementptr inbounds [[INT]], ptr %0, [[INT]] {{10|13}} // CHECK-native-NEXT: [[FIELDS_DEST:%.*]] = getelementptr inbounds [[INT]], ptr %0, [[INT]] {{7|10}} // CHECK-NEXT: call void @llvm.lifetime.start.p0(i64 {{12|24}}, ptr [[FIELDS]]) -// CHECK-NEXT: [[FIELDS_PTR:%.*]] = getelementptr inbounds [3 x ptr], ptr [[FIELDS]], i32 0, i32 0 +// CHECK-NEXT: [[FIELDS_PTR:%.*]] = getelementptr inbounds{{.*}} [3 x ptr], ptr [[FIELDS]], i32 0, i32 0 // CHECK: [[T0:%.*]] = call swiftcc %swift.metadata_response @"$s16resilient_struct4SizeVMa"([[INT]] 319) // CHECK-NEXT: [[SIZE_METADATA:%.*]] = extractvalue %swift.metadata_response [[T0]], 0 @@ -473,7 +473,7 @@ public class ClassWithResilientThenEmpty { // CHECK-objc-NEXT: [[FIELDS_DEST:%.*]] = getelementptr inbounds [[INT]], ptr %0, [[INT]] {{10|13}} // CHECK-native-NEXT: [[FIELDS_DEST:%.*]] = getelementptr inbounds [[INT]], ptr %0, [[INT]] {{7|10}} // CHECK-NEXT: call void @llvm.lifetime.start.p0(i64 {{8|16}}, ptr [[FIELDS]]) -// CHECK-NEXT: [[FIELDS_PTR:%.*]] = getelementptr inbounds [2 x ptr], ptr [[FIELDS]], i32 0, i32 0 +// CHECK-NEXT: [[FIELDS_PTR:%.*]] = getelementptr inbounds{{.*}} [2 x ptr], ptr [[FIELDS]], i32 0, i32 0 // CHECK: [[T0:%.*]] = call swiftcc %swift.metadata_response @"$s16resilient_struct9RectangleVMa"([[INT]] 319) // CHECK-NEXT: [[SIZE_METADATA:%.*]] = extractvalue %swift.metadata_response [[T0]], 0 diff --git a/test/IRGen/class_resilience_objc.swift b/test/IRGen/class_resilience_objc.swift index 6c3e22d52524e..a33ff54da89bf 100644 --- a/test/IRGen/class_resilience_objc.swift +++ b/test/IRGen/class_resilience_objc.swift @@ -37,7 +37,7 @@ public class FixedLayoutObjCSubclass : NSObject { // CHECK: [[OFFSET:%.*]] = load [[INT]], ptr @"$s21class_resilience_objc23FixedLayoutObjCSubclassC5fields5Int32VvpWvd" // CHECK-NEXT: [[ADDR:%.*]] = getelementptr inbounds i8, ptr %0, [[INT]] [[OFFSET]] // CHECK: call void @swift_beginAccess -// CHECK-NEXT: [[PAYLOAD_ADDR:%.*]] = getelementptr inbounds %Ts5Int32V, ptr [[ADDR]], i32 0, i32 0 +// CHECK-NEXT: [[PAYLOAD_ADDR:%.*]] = getelementptr inbounds{{.*}} %Ts5Int32V, ptr [[ADDR]], i32 0, i32 0 // CHECK-NEXT: store i32 10, ptr [[PAYLOAD_ADDR]] func testConstantDirectFieldAccess(_ o: FixedLayoutObjCSubclass) { @@ -54,7 +54,7 @@ public class NonFixedLayoutObjCSubclass : NSCoder { // CHECK: [[OFFSET:%.*]] = load [[INT]], ptr @"$s21class_resilience_objc26NonFixedLayoutObjCSubclassC5fields5Int32VvpWvd" // CHECK-NEXT: [[ADDR:%.*]] = getelementptr inbounds i8, ptr %0, [[INT]] [[OFFSET]] // CHECK: call void @swift_beginAccess -// CHECK-NEXT: [[PAYLOAD_ADDR:%.*]] = getelementptr inbounds %Ts5Int32V, ptr [[ADDR]], i32 0, i32 0 +// CHECK-NEXT: [[PAYLOAD_ADDR:%.*]] = getelementptr inbounds{{.*}} %Ts5Int32V, ptr [[ADDR]], i32 0, i32 0 // CHECK-NEXT: store i32 10, ptr [[PAYLOAD_ADDR]] func testNonConstantDirectFieldAccess(_ o: NonFixedLayoutObjCSubclass) { @@ -91,7 +91,7 @@ public class GenericObjCSubclass : NSCoder { // CHECK-NEXT: [[FIELD_OFFSET:%.*]] = load [[INT]], ptr [[FIELD_OFFSET_ADDR:%.*]] // CHECK-NEXT: [[ADDR:%.*]] = getelementptr inbounds i8, ptr %0, [[INT]] [[FIELD_OFFSET]] // CHECK: call void @swift_beginAccess -// CHECK-NEXT: [[PAYLOAD_ADDR:%.*]] = getelementptr inbounds %Ts5Int32V, ptr [[ADDR]], i32 0, i32 0 +// CHECK-NEXT: [[PAYLOAD_ADDR:%.*]] = getelementptr inbounds{{.*}} %Ts5Int32V, ptr [[ADDR]], i32 0, i32 0 // CHECK-NEXT: store i32 10, ptr [[PAYLOAD_ADDR]] func testConstantIndirectFieldAccess(_ o: GenericObjCSubclass) { diff --git a/test/IRGen/class_update_callback_with_fixed_layout.sil b/test/IRGen/class_update_callback_with_fixed_layout.sil index 606f010a58762..c77c249a53814 100644 --- a/test/IRGen/class_update_callback_with_fixed_layout.sil +++ b/test/IRGen/class_update_callback_with_fixed_layout.sil @@ -179,7 +179,7 @@ bb0(%0 : $ClassWithResilientField): // CHECK: [[OFFSET:%.*]] = load i64, ptr @"$s39class_update_callback_with_fixed_layout23ClassWithResilientFieldC5thirdSivpWvd", align 8 // CHECK-NEXT: [[FIELD_ADDR:%.*]] = getelementptr inbounds i8, ptr %0, i64 [[OFFSET]] -// CHECK-NEXT: [[FIELD_PTR:%.*]] = getelementptr inbounds %TSi, ptr [[FIELD_ADDR]], i32 0, i32 0 +// CHECK-NEXT: [[FIELD_PTR:%.*]] = getelementptr inbounds{{.*}} %TSi, ptr [[FIELD_ADDR]], i32 0, i32 0 %1 = ref_element_addr %0 : $ClassWithResilientField, #ClassWithResilientField.third @@ -208,7 +208,7 @@ bb0(%0 : $ClassWithResilientField): // CHECK-NEXT: [[FIELDS:%.*]] = alloca [3 x ptr] // CHECK-NEXT: [[FIELDS_DEST:%.*]] = getelementptr inbounds [[INT]], ptr %0, [[INT]] {{10|13}} // CHECK-NEXT: call void @llvm.lifetime.start.p0(i64 {{12|24}}, ptr [[FIELDS]]) -// CHECK-NEXT: [[FIELDS_PTR:%.*]] = getelementptr inbounds [3 x ptr], ptr [[FIELDS]], i32 0, i32 0 +// CHECK-NEXT: [[FIELDS_PTR:%.*]] = getelementptr inbounds{{.*}} [3 x ptr], ptr [[FIELDS]], i32 0, i32 0 // CHECK: [[T0:%.*]] = call swiftcc %swift.metadata_response @"$s16resilient_struct4SizeVMa"([[INT]] 319) // CHECK-NEXT: [[SIZE_METADATA:%.*]] = extractvalue %swift.metadata_response [[T0]], 0 @@ -252,7 +252,7 @@ bb0(%0 : $ClassWithResilientField): // CHECK-NEXT: [[FIELDS:%.*]] = alloca [0 x ptr] // CHECK-NEXT: [[FIELDS_DEST:%.*]] = getelementptr inbounds [[INT]], ptr %0, [[INT]] {{11|14}} // CHECK-NEXT: call void @llvm.lifetime.start.p0(i64 0, ptr [[FIELDS]]) -// CHECK-NEXT: [[FIELDS_PTR:%.*]] = getelementptr inbounds [0 x ptr], ptr [[FIELDS]], i32 0, i32 0 +// CHECK-NEXT: [[FIELDS_PTR:%.*]] = getelementptr inbounds{{.*}} [0 x ptr], ptr [[FIELDS]], i32 0, i32 0 // -- ClassLayoutFlags = 0x100 (HasStaticVTable) // CHECK: [[T0:%.*]] = call swiftcc %swift.metadata_response @swift_updateClassMetadata2(ptr %0, [[INT]] 256, [[INT]] 0, ptr [[FIELDS_PTR]], ptr [[FIELDS_DEST]]) diff --git a/test/IRGen/class_update_callback_without_fixed_layout.sil b/test/IRGen/class_update_callback_without_fixed_layout.sil index f7327307649bb..69cae19e1309a 100644 --- a/test/IRGen/class_update_callback_without_fixed_layout.sil +++ b/test/IRGen/class_update_callback_without_fixed_layout.sil @@ -185,7 +185,7 @@ bb0(%0 : $ClassWithResilientField): // CHECK: [[OFFSET:%.*]] = load [[INT]], ptr @"$s42class_update_callback_without_fixed_layout23ClassWithResilientFieldC5thirdSivpWvd" // CHECK-NEXT: [[FIELD_ADDR:%.*]] = getelementptr inbounds i8, ptr %0, [[INT]] [[OFFSET]] -// CHECK-NEXT: [[FIELD_PTR:%.*]] = getelementptr inbounds %TSi, ptr [[FIELD_ADDR]], i32 0, i32 0 +// CHECK-NEXT: [[FIELD_PTR:%.*]] = getelementptr inbounds{{.*}} %TSi, ptr [[FIELD_ADDR]], i32 0, i32 0 %1 = ref_element_addr %0 : $ClassWithResilientField, #ClassWithResilientField.third @@ -219,7 +219,7 @@ bb0(%0 : $ClassWithResilientField): // CHECK-64-NEXT: [[FIELDS_DEST:%.*]] = getelementptr inbounds [[INT]], ptr %0, [[INT]] 10 // CHECK-32-NEXT: call void @llvm.lifetime.start.p0(i64 12, ptr [[FIELDS]]) // CHECK-64-NEXT: call void @llvm.lifetime.start.p0(i64 24, ptr [[FIELDS]]) -// CHECK-NEXT: [[FIELDS_PTR:%.*]] = getelementptr inbounds [3 x ptr], ptr [[FIELDS]], i32 0, i32 0 +// CHECK-NEXT: [[FIELDS_PTR:%.*]] = getelementptr inbounds{{.*}} [3 x ptr], ptr [[FIELDS]], i32 0, i32 0 // CHECK: [[T0:%.*]] = call swiftcc %swift.metadata_response @"$s16resilient_struct4SizeVMa"([[INT]] 319) // CHECK-NEXT: [[SIZE_METADATA:%.*]] = extractvalue %swift.metadata_response [[T0]], 0 @@ -265,7 +265,7 @@ bb0(%0 : $ClassWithResilientField): // CHECK-32-NEXT: [[FIELDS_DEST:%.*]] = getelementptr inbounds [[INT]], ptr %0, [[INT]] 17 // CHECK-64-NEXT: [[FIELDS_DEST:%.*]] = getelementptr inbounds [[INT]], ptr %0, [[INT]] 14 // CHECK-NEXT: call void @llvm.lifetime.start.p0(i64 0, ptr [[FIELDS]]) -// CHECK-NEXT: [[FIELDS_PTR:%.*]] = getelementptr inbounds [0 x ptr], ptr [[FIELDS]], i32 0, i32 0 +// CHECK-NEXT: [[FIELDS_PTR:%.*]] = getelementptr inbounds{{.*}} [0 x ptr], ptr [[FIELDS]], i32 0, i32 0 // -- ClassLayoutFlags = 0x100 (HasStaticVTable) // CHECK-OLD: [[T0:%.*]] = call swiftcc %swift.metadata_response @swift_initClassMetadata2(ptr %0, [[INT]] 256, [[INT]] 0, ptr [[FIELDS_PTR]], ptr [[FIELDS_DEST]]) diff --git a/test/IRGen/closure.swift b/test/IRGen/closure.swift index 4e90114dfad26..d387eab8848af 100644 --- a/test/IRGen/closure.swift +++ b/test/IRGen/closure.swift @@ -36,7 +36,7 @@ func b(seq seq: T) -> (Int) -> Int { // -- partial_apply stub // CHECK: define internal swiftcc i64 @"$s7closure1b3seqS2icx_tAA9OrdinableRzlFS2icfU_TA"(i64 %0, ptr swiftself %1) {{.*}} { // CHECK: entry: -// CHECK: [[BINDINGSADDR:%.*]] = getelementptr inbounds <{ %swift.refcounted, [16 x i8] }>, ptr %1, i32 0, i32 1 +// CHECK: [[BINDINGSADDR:%.*]] = getelementptr inbounds{{.*}} <{ %swift.refcounted, [16 x i8] }>, ptr %1, i32 0, i32 1 // CHECK: [[TYPE:%.*]] = load ptr, ptr [[BINDINGSADDR]], align 8 // CHECK: [[WITNESSADDR:%.*]] = getelementptr inbounds ptr, ptr [[BINDINGSADDR]], i32 1 // CHECK: [[WITNESS:%.*]] = load ptr, ptr [[WITNESSADDR]], align 8 diff --git a/test/IRGen/condfail_message.swift b/test/IRGen/condfail_message.swift index 7638aebaab18a..3dd0ba87f2801 100644 --- a/test/IRGen/condfail_message.swift +++ b/test/IRGen/condfail_message.swift @@ -2,7 +2,7 @@ // RUN: %target-swift-frontend -primary-file %s -g -O -emit-ir | %FileCheck %s // REQUIRES: optimized_stdlib -// CHECK-LABEL: define hidden swiftcc i8 @"$s16condfail_message6testitys4Int8VADF"(i8 %0) +// CHECK-LABEL: define hidden swiftcc{{.*}} i8 @"$s16condfail_message6testitys4Int8VADF"(i8 %0) // CHECK: call void @llvm.trap(), !dbg [[LOC:![0-9]+]] func testit(_ a: Int8) -> Int8 { diff --git a/test/IRGen/coroutine_accessors.swift b/test/IRGen/coroutine_accessors.swift index 48152378da682..0b3f586f9f41c 100644 --- a/test/IRGen/coroutine_accessors.swift +++ b/test/IRGen/coroutine_accessors.swift @@ -143,7 +143,7 @@ public var irm: Int { // CHECK-SAME: token [[ID]], // CHECK-SAME: ptr null // CHECK-SAME: ) -// CHECK: [[S_FIELD__I:%[^,]+]] = getelementptr inbounds %T19coroutine_accessors1SV, +// CHECK: [[S_FIELD__I:%[^,]+]] = getelementptr inbounds{{.*}} %T19coroutine_accessors1SV, // CHECK-SAME: ptr [[SELF]], // CHECK-SAME: i32 0, // CHECK-SAME: i32 1 diff --git a/test/IRGen/enum.sil b/test/IRGen/enum.sil index 3eb1b681c5405..bea3454e41a98 100644 --- a/test/IRGen/enum.sil +++ b/test/IRGen/enum.sil @@ -276,9 +276,9 @@ entry(%0 : $Builtin.Int64, %1 : $Builtin.Int64): // CHECK: define{{( dllexport)?}}{{( protected)?}} swiftcc void @singleton_inject_indirect(i64 %0, i64 %1, ptr nocapture dereferenceable({{.*}}) %2) {{.*}} { // CHECK: entry: -// CHECK: [[DATA_0_ADDR:%.*]] = getelementptr inbounds <{ i64, i64 }>, ptr %2, i32 0, i32 0 +// CHECK: [[DATA_0_ADDR:%.*]] = getelementptr inbounds{{.*}} <{ i64, i64 }>, ptr %2, i32 0, i32 0 // CHECK: store i64 %0, ptr [[DATA_0_ADDR]] -// CHECK: [[DATA_1_ADDR:%.*]] = getelementptr inbounds <{ i64, i64 }>, ptr %2, i32 0, i32 1 +// CHECK: [[DATA_1_ADDR:%.*]] = getelementptr inbounds{{.*}} <{ i64, i64 }>, ptr %2, i32 0, i32 1 // CHECK: store i64 %1, ptr [[DATA_1_ADDR]] // CHECK: ret void // CHECK: } @@ -352,7 +352,7 @@ end: // CHECK: define{{( dllexport)?}}{{( protected)?}} swiftcc void @no_payload_switch_indirect(ptr nocapture dereferenceable({{.*}}) %0) {{.*}} { sil @no_payload_switch_indirect : $@convention(thin) (@inout NoPayloads) -> () { entry(%u : $*NoPayloads): -// CHECK: [[TAG_ADDR:%.*]] = getelementptr inbounds %T4enum10NoPayloadsO, ptr %0, i32 0, i32 0 +// CHECK: [[TAG_ADDR:%.*]] = getelementptr inbounds{{.*}} %T4enum10NoPayloadsO, ptr %0, i32 0, i32 0 // CHECK: [[TAG:%.*]] = load i8, ptr [[TAG_ADDR]] // CHECK: switch i8 [[TAG]] switch_enum_addr %u : $*NoPayloads, case #NoPayloads.x!enumelt: x_dest, case #NoPayloads.y!enumelt: y_dest, case #NoPayloads.z!enumelt: z_dest @@ -400,7 +400,7 @@ entry: // CHECK: define{{( dllexport)?}}{{( protected)?}} swiftcc void @no_payload_inject_z_indirect(ptr nocapture dereferenceable({{.*}}) %0) {{.*}} { // CHECK: entry: -// CHECK: [[TAG_ADDR:%.*]] = getelementptr inbounds %T4enum10NoPayloadsO, ptr %0, i32 0, i32 0 +// CHECK: [[TAG_ADDR:%.*]] = getelementptr inbounds{{.*}} %T4enum10NoPayloadsO, ptr %0, i32 0, i32 0 // CHECK: store i8 2, ptr [[TAG_ADDR]] // CHECK: ret void // CHECK: } @@ -632,7 +632,7 @@ entry(%0 : $Builtin.Word): // CHECK: define{{( dllexport)?}}{{( protected)?}} swiftcc void @single_payload_no_xi_inject_x_indirect([[WORD]] %0, ptr nocapture dereferenceable({{.*}}) %1) {{.*}} { // CHECK: entry: // CHECK: store [[WORD]] %0, ptr %1 -// CHECK: [[T0:%.*]] = getelementptr inbounds %T4enum18SinglePayloadNoXI2O, ptr %1, i32 0, i32 1 +// CHECK: [[T0:%.*]] = getelementptr inbounds{{.*}} %T4enum18SinglePayloadNoXI2O, ptr %1, i32 0, i32 1 // CHECK: store i8 0, ptr [[T0]] // CHECK: ret void // CHECK: } @@ -658,7 +658,7 @@ entry: // CHECK: define{{( dllexport)?}}{{( protected)?}} swiftcc void @single_payload_no_xi_inject_y_indirect(ptr nocapture dereferenceable({{.*}}) %0) {{.*}} { // CHECK: entry: // CHECK: store [[WORD]] 0, ptr %0 -// CHECK: [[T0:%.*]] = getelementptr inbounds %T4enum18SinglePayloadNoXI2O, ptr %0, i32 0, i32 1 +// CHECK: [[T0:%.*]] = getelementptr inbounds{{.*}} %T4enum18SinglePayloadNoXI2O, ptr %0, i32 0, i32 1 // CHECK: store i8 1, ptr [[T0]] // CHECK: ret void // CHECK: } @@ -1444,7 +1444,7 @@ end: sil @multi_payload_no_spare_bits_switch_indirect : $(@inout MultiPayloadNoSpareBits) -> () { entry(%u : $*MultiPayloadNoSpareBits): // CHECK-64: [[PAYLOAD:%.*]] = load i64, ptr %0 -// CHECK-64: [[T0:%.*]] = getelementptr inbounds %T4enum23MultiPayloadNoSpareBitsO, ptr %0, i32 0, i32 1 +// CHECK-64: [[T0:%.*]] = getelementptr inbounds{{.*}} %T4enum23MultiPayloadNoSpareBitsO, ptr %0, i32 0, i32 1 // CHECK-64: [[TAG:%.*]] = load i8, ptr [[T0]] // CHECK-64: switch i8 [[TAG]] // CHECK-64: switch i64 [[PAYLOAD]] @@ -1497,7 +1497,7 @@ entry(%0 : $Builtin.Int64): // CHECK-64: define{{( dllexport)?}}{{( protected)?}} swiftcc void @multi_payload_no_spare_bit_inject_x_indirect(i64 %0, ptr nocapture dereferenceable({{.*}}) %1) {{.*}} { // CHECK-64: entry: // CHECK-64: store i64 %0, ptr %1 -// CHECK-64: [[T0:%.*]] = getelementptr inbounds %T4enum23MultiPayloadNoSpareBitsO, ptr %1, i32 0, i32 1 +// CHECK-64: [[T0:%.*]] = getelementptr inbounds{{.*}} %T4enum23MultiPayloadNoSpareBitsO, ptr %1, i32 0, i32 1 // CHECK-64: store i8 0, ptr [[T0]] // CHECK-64: ret void // CHECK-64: } @@ -1550,7 +1550,7 @@ entry: // CHECK-64: define{{( dllexport)?}}{{( protected)?}} swiftcc void @multi_payload_no_spare_bit_inject_a_indirect(ptr nocapture dereferenceable({{.*}}) %0) {{.*}} { // CHECK-64: entry: // CHECK-64: store i64 0, ptr %0 -// CHECK-64: [[T0:%.*]] = getelementptr inbounds %T4enum23MultiPayloadNoSpareBitsO, ptr %0, i32 0, i32 1 +// CHECK-64: [[T0:%.*]] = getelementptr inbounds{{.*}} %T4enum23MultiPayloadNoSpareBitsO, ptr %0, i32 0, i32 1 // CHECK-64: store i8 3, ptr [[T0]] // CHECK-64: ret void // CHECK-64: } @@ -1678,7 +1678,7 @@ end: sil @multi_payload_one_spare_bit_switch_indirect : $(@inout MultiPayloadOneSpareBit) -> () { entry(%u : $*MultiPayloadOneSpareBit): // CHECK-64: [[PAYLOAD:%.*]] = load i64, ptr %0 -// CHECK-64: [[T0:%.*]] = getelementptr inbounds %T4enum23MultiPayloadOneSpareBitO, ptr %0, i32 0, i32 1 +// CHECK-64: [[T0:%.*]] = getelementptr inbounds{{.*}} %T4enum23MultiPayloadOneSpareBitO, ptr %0, i32 0, i32 1 // CHECK-64: [[TAG:%.*]] = load i8, ptr [[T0]] // CHECK-64: switch i8 {{%.*}} // CHECK-64: switch i64 [[PAYLOAD]] @@ -1745,7 +1745,7 @@ entry(%0 : $Builtin.Int62): // -- 0x7FFF_FFFF_FFFF_FFFF // CHECK-64: [[PAYLOAD_MASKED:%.*]] = and i64 [[PAYLOAD]], 9223372036854775807 // CHECK-64: store i64 [[PAYLOAD_MASKED]], ptr %1 -// CHECK-64: [[T0:%.*]] = getelementptr inbounds %T4enum23MultiPayloadOneSpareBitO, ptr %1, i32 0, i32 1 +// CHECK-64: [[T0:%.*]] = getelementptr inbounds{{.*}} %T4enum23MultiPayloadOneSpareBitO, ptr %1, i32 0, i32 1 // CHECK-64: store i8 0, ptr [[T0]] // CHECK-64: ret void // CHECK-64: } @@ -1785,7 +1785,7 @@ entry(%0 : $Builtin.Int63): // -- 0x8000_0000_0000_0000 // CHECK-64: [[PAYLOAD_TAGGED:%.*]] = or i64 [[PAYLOAD_MASKED]], -9223372036854775808 // CHECK-64: store i64 [[PAYLOAD_TAGGED]], ptr %1 -// CHECK-64: [[T0:%.*]] = getelementptr inbounds %T4enum23MultiPayloadOneSpareBitO, ptr %1, i32 0, i32 1 +// CHECK-64: [[T0:%.*]] = getelementptr inbounds{{.*}} %T4enum23MultiPayloadOneSpareBitO, ptr %1, i32 0, i32 1 // CHECK-64: store i8 0, ptr [[T0]] // CHECK-64: ret void // CHECK-64: } @@ -1828,7 +1828,7 @@ entry: // CHECK-64: entry: // -- 0x8000_0000_0000_0000 // CHECK-64: store i64 -9223372036854775808, ptr %0 -// CHECK-64: [[T0:%.*]] = getelementptr inbounds %T4enum23MultiPayloadOneSpareBitO, ptr %0, i32 0, i32 1 +// CHECK-64: [[T0:%.*]] = getelementptr inbounds{{.*}} %T4enum23MultiPayloadOneSpareBitO, ptr %0, i32 0, i32 1 // CHECK-64: store i8 1, ptr [[T0]] // CHECK-64: ret void // CHECK-64: } @@ -2612,11 +2612,11 @@ entry(%x : $*MyOptional): // CHECK: [[T_VWT:%.*]] = load ptr, ptr [[T_VWT_ADDR]] // CHECK: [[T_LAYOUT:%.*]] = getelementptr inbounds ptr, ptr [[T_VWT]], i32 8 // CHECK: call void @swift_initEnumMetadataSingleCase(ptr [[METADATA]], [[WORD]] 0, ptr [[T_LAYOUT]]) -// CHECK: [[PAYLOAD_EXTRAINHABITANTCNT:%.*]] = getelementptr inbounds %swift.type_layout, ptr [[T_LAYOUT]], i32 0, i32 3 +// CHECK: [[PAYLOAD_EXTRAINHABITANTCNT:%.*]] = getelementptr inbounds{{.*}} %swift.type_layout, ptr [[T_LAYOUT]], i32 0, i32 3 // CHECK: [[CNT:%.*]] = load i32, ptr [[PAYLOAD_EXTRAINHABITANTCNT]] // CHECK: [[VWT_ADDR:%.*]] = getelementptr inbounds ptr, ptr [[METADATA]], [[WORD]] -1 // CHECK: [[VWT:%.*]] = load ptr, ptr [[VWT_ADDR]] -// CHECK: [[XIC_ADDR:%.*]] = getelementptr inbounds %swift.vwtable, ptr [[VWT]], i32 0, i32 11 +// CHECK: [[XIC_ADDR:%.*]] = getelementptr inbounds{{.*}} %swift.vwtable, ptr [[VWT]], i32 0, i32 11 // CHECK: store i32 [[CNT]], ptr [[XIC_ADDR]] // CHECK: ret %swift.metadata_response diff --git a/test/IRGen/enum_copy_init_with_take_memcpy.swift b/test/IRGen/enum_copy_init_with_take_memcpy.swift index b0af515847db3..c551986294f3c 100644 --- a/test/IRGen/enum_copy_init_with_take_memcpy.swift +++ b/test/IRGen/enum_copy_init_with_take_memcpy.swift @@ -28,7 +28,7 @@ struct HasAnEnum { // CHECK: define {{.*}} swiftcc range(i64 -1, 5) i64 @"$s31enum_copy_init_with_take_memcpy9HasAnEnumV9readValueSiyF"(ptr {{.*}} %0) -// CHECK: [[T0:%.*]] = getelementptr inbounds i8, ptr %0, i64 160 +// CHECK: [[T0:%.*]] = getelementptr inbounds{{.*}} i8, ptr %0, i64 160 // CHECK: [[T1:%.*]] = load i8, ptr [[T0]] // CHECK: [[T2:%.*]] = and i8 [[T1]], -3 // CHECK: [[T3:%.*]] = icmp eq i8 [[T2]], 0 diff --git a/test/IRGen/enum_future.sil b/test/IRGen/enum_future.sil index 6b27cf26c3ec3..f9b48420f53ce 100644 --- a/test/IRGen/enum_future.sil +++ b/test/IRGen/enum_future.sil @@ -280,9 +280,9 @@ entry(%0 : $Builtin.Int64, %1 : $Builtin.Int64): // CHECK: define{{( dllexport)?}}{{( protected)?}} swiftcc void @singleton_inject_indirect(i64 %0, i64 %1, ptr nocapture dereferenceable({{.*}}) %2) {{.*}} { // CHECK: entry: -// CHECK: [[DATA_0_ADDR:%.*]] = getelementptr inbounds <{ i64, i64 }>, ptr %2, i32 0, i32 0 +// CHECK: [[DATA_0_ADDR:%.*]] = getelementptr inbounds{{.*}} <{ i64, i64 }>, ptr %2, i32 0, i32 0 // CHECK: store i64 %0, ptr [[DATA_0_ADDR]] -// CHECK: [[DATA_1_ADDR:%.*]] = getelementptr inbounds <{ i64, i64 }>, ptr %2, i32 0, i32 1 +// CHECK: [[DATA_1_ADDR:%.*]] = getelementptr inbounds{{.*}} <{ i64, i64 }>, ptr %2, i32 0, i32 1 // CHECK: store i64 %1, ptr [[DATA_1_ADDR]] // CHECK: ret void // CHECK: } @@ -356,7 +356,7 @@ end: // CHECK: define{{( dllexport)?}}{{( protected)?}} swiftcc void @no_payload_switch_indirect(ptr nocapture dereferenceable({{.*}}) %0) {{.*}} { sil @no_payload_switch_indirect : $@convention(thin) (@inout NoPayloads) -> () { entry(%u : $*NoPayloads): -// CHECK: [[TAG_ADDR:%.*]] = getelementptr inbounds %T11enum_future10NoPayloadsO, ptr %0, i32 0, i32 0 +// CHECK: [[TAG_ADDR:%.*]] = getelementptr inbounds{{.*}} %T11enum_future10NoPayloadsO, ptr %0, i32 0, i32 0 // CHECK: [[TAG:%.*]] = load i8, ptr [[TAG_ADDR]] // CHECK: switch i8 [[TAG]] switch_enum_addr %u : $*NoPayloads, case #NoPayloads.x!enumelt: x_dest, case #NoPayloads.y!enumelt: y_dest, case #NoPayloads.z!enumelt: z_dest @@ -404,7 +404,7 @@ entry: // CHECK: define{{( dllexport)?}}{{( protected)?}} swiftcc void @no_payload_inject_z_indirect(ptr nocapture dereferenceable({{.*}}) %0) {{.*}} { // CHECK: entry: -// CHECK: [[TAG_ADDR:%.*]] = getelementptr inbounds %T11enum_future10NoPayloadsO, ptr %0, i32 0, i32 0 +// CHECK: [[TAG_ADDR:%.*]] = getelementptr inbounds{{.*}} %T11enum_future10NoPayloadsO, ptr %0, i32 0, i32 0 // CHECK: store i8 2, ptr [[TAG_ADDR]] // CHECK: ret void // CHECK: } @@ -636,7 +636,7 @@ entry(%0 : $Builtin.Word): // CHECK: define{{( dllexport)?}}{{( protected)?}} swiftcc void @single_payload_no_xi_inject_x_indirect([[WORD]] %0, ptr nocapture dereferenceable({{.*}}) %1) {{.*}} { // CHECK: entry: // CHECK: store [[WORD]] %0, ptr %1 -// CHECK: [[T0:%.*]] = getelementptr inbounds %T11enum_future18SinglePayloadNoXI2O, ptr %1, i32 0, i32 1 +// CHECK: [[T0:%.*]] = getelementptr inbounds{{.*}} %T11enum_future18SinglePayloadNoXI2O, ptr %1, i32 0, i32 1 // CHECK: store i8 0, ptr [[T0]] // CHECK: ret void // CHECK: } @@ -662,7 +662,7 @@ entry: // CHECK: define{{( dllexport)?}}{{( protected)?}} swiftcc void @single_payload_no_xi_inject_y_indirect(ptr nocapture dereferenceable({{.*}}) %0) {{.*}} { // CHECK: entry: // CHECK: store [[WORD]] 0, ptr %0 -// CHECK: [[T0:%.*]] = getelementptr inbounds %T11enum_future18SinglePayloadNoXI2O, ptr %0, i32 0, i32 1 +// CHECK: [[T0:%.*]] = getelementptr inbounds{{.*}} %T11enum_future18SinglePayloadNoXI2O, ptr %0, i32 0, i32 1 // CHECK: store i8 1, ptr [[T0]] // CHECK: ret void // CHECK: } @@ -1448,7 +1448,7 @@ end: sil @multi_payload_no_spare_bits_switch_indirect : $(@inout MultiPayloadNoSpareBits) -> () { entry(%u : $*MultiPayloadNoSpareBits): // CHECK-64: [[PAYLOAD:%.*]] = load i64, ptr %0 -// CHECK-64: [[T0:%.*]] = getelementptr inbounds %T11enum_future23MultiPayloadNoSpareBitsO, ptr %0, i32 0, i32 1 +// CHECK-64: [[T0:%.*]] = getelementptr inbounds{{.*}} %T11enum_future23MultiPayloadNoSpareBitsO, ptr %0, i32 0, i32 1 // CHECK-64: [[TAG:%.*]] = load i8, ptr [[T0]] // CHECK-64: switch i8 [[TAG]] // CHECK-64: switch i64 [[PAYLOAD]] @@ -1501,7 +1501,7 @@ entry(%0 : $Builtin.Int64): // CHECK-64: define{{( dllexport)?}}{{( protected)?}} swiftcc void @multi_payload_no_spare_bit_inject_x_indirect(i64 %0, ptr nocapture dereferenceable({{.*}}) %1) {{.*}} { // CHECK-64: entry: // CHECK-64: store i64 %0, ptr %1 -// CHECK-64: [[T0:%.*]] = getelementptr inbounds %T11enum_future23MultiPayloadNoSpareBitsO, ptr %1, i32 0, i32 1 +// CHECK-64: [[T0:%.*]] = getelementptr inbounds{{.*}} %T11enum_future23MultiPayloadNoSpareBitsO, ptr %1, i32 0, i32 1 // CHECK-64: store i8 0, ptr [[T0]] // CHECK-64: ret void // CHECK-64: } @@ -1554,7 +1554,7 @@ entry: // CHECK-64: define{{( dllexport)?}}{{( protected)?}} swiftcc void @multi_payload_no_spare_bit_inject_a_indirect(ptr nocapture dereferenceable({{.*}}) %0) {{.*}} { // CHECK-64: entry: // CHECK-64: store i64 0, ptr %0 -// CHECK-64: [[T0:%.*]] = getelementptr inbounds %T11enum_future23MultiPayloadNoSpareBitsO, ptr %0, i32 0, i32 1 +// CHECK-64: [[T0:%.*]] = getelementptr inbounds{{.*}} %T11enum_future23MultiPayloadNoSpareBitsO, ptr %0, i32 0, i32 1 // CHECK-64: store i8 3, ptr [[T0]] // CHECK-64: ret void // CHECK-64: } @@ -1682,7 +1682,7 @@ end: sil @multi_payload_one_spare_bit_switch_indirect : $(@inout MultiPayloadOneSpareBit) -> () { entry(%u : $*MultiPayloadOneSpareBit): // CHECK-64: [[PAYLOAD:%.*]] = load i64, ptr %0 -// CHECK-64: [[T0:%.*]] = getelementptr inbounds %T11enum_future23MultiPayloadOneSpareBitO, ptr %0, i32 0, i32 1 +// CHECK-64: [[T0:%.*]] = getelementptr inbounds{{.*}} %T11enum_future23MultiPayloadOneSpareBitO, ptr %0, i32 0, i32 1 // CHECK-64: [[TAG:%.*]] = load i8, ptr [[T0]] // CHECK-64: switch i8 {{%.*}} // CHECK-64: switch i64 [[PAYLOAD]] @@ -1749,7 +1749,7 @@ entry(%0 : $Builtin.Int62): // -- 0x7FFF_FFFF_FFFF_FFFF // CHECK-64: [[PAYLOAD_MASKED:%.*]] = and i64 [[PAYLOAD]], 9223372036854775807 // CHECK-64: store i64 [[PAYLOAD_MASKED]], ptr %1 -// CHECK-64: [[T0:%.*]] = getelementptr inbounds %T11enum_future23MultiPayloadOneSpareBitO, ptr %1, i32 0, i32 1 +// CHECK-64: [[T0:%.*]] = getelementptr inbounds{{.*}} %T11enum_future23MultiPayloadOneSpareBitO, ptr %1, i32 0, i32 1 // CHECK-64: store i8 0, ptr [[T0]] // CHECK-64: ret void // CHECK-64: } @@ -1789,7 +1789,7 @@ entry(%0 : $Builtin.Int63): // -- 0x8000_0000_0000_0000 // CHECK-64: [[PAYLOAD_TAGGED:%.*]] = or i64 [[PAYLOAD_MASKED]], -9223372036854775808 // CHECK-64: store i64 [[PAYLOAD_TAGGED]], ptr %1 -// CHECK-64: [[T0:%.*]] = getelementptr inbounds %T11enum_future23MultiPayloadOneSpareBitO, ptr %1, i32 0, i32 1 +// CHECK-64: [[T0:%.*]] = getelementptr inbounds{{.*}} %T11enum_future23MultiPayloadOneSpareBitO, ptr %1, i32 0, i32 1 // CHECK-64: store i8 0, ptr [[T0]] // CHECK-64: ret void // CHECK-64: } @@ -1832,7 +1832,7 @@ entry: // CHECK-64: entry: // -- 0x8000_0000_0000_0000 // CHECK-64: store i64 -9223372036854775808, ptr %0 -// CHECK-64: [[T0:%.*]] = getelementptr inbounds %T11enum_future23MultiPayloadOneSpareBitO, ptr %0, i32 0, i32 1 +// CHECK-64: [[T0:%.*]] = getelementptr inbounds{{.*}} %T11enum_future23MultiPayloadOneSpareBitO, ptr %0, i32 0, i32 1 // CHECK-64: store i8 1, ptr [[T0]] // CHECK-64: ret void // CHECK-64: } @@ -2616,11 +2616,11 @@ entry(%x : $*MyOptional): // CHECK: [[T_VWT:%.*]] = load ptr, ptr [[T_VWT_ADDR]] // CHECK: [[T_LAYOUT:%.*]] = getelementptr inbounds ptr, ptr [[T_VWT]], i32 8 // CHECK: call void @swift_initEnumMetadataSingleCase(ptr [[METADATA]], [[WORD]] 0, ptr [[T_LAYOUT]]) -// CHECK: [[PAYLOAD_EXTRAINHABITANTCNT:%.*]] = getelementptr inbounds %swift.type_layout, ptr [[T_LAYOUT]], i32 0, i32 3 +// CHECK: [[PAYLOAD_EXTRAINHABITANTCNT:%.*]] = getelementptr inbounds{{.*}} %swift.type_layout, ptr [[T_LAYOUT]], i32 0, i32 3 // CHECK: [[CNT:%.*]] = load i32, ptr [[PAYLOAD_EXTRAINHABITANTCNT]] // CHECK: [[VWT_ADDR:%.*]] = getelementptr inbounds ptr, ptr [[METADATA]], [[WORD]] -1 // CHECK: [[VWT:%.*]] = load ptr, ptr [[VWT_ADDR]] -// CHECK: [[XIC_ADDR:%.*]] = getelementptr inbounds %swift.vwtable, ptr [[VWT]], i32 0, i32 11 +// CHECK: [[XIC_ADDR:%.*]] = getelementptr inbounds{{.*}} %swift.vwtable, ptr [[VWT]], i32 0, i32 11 // CHECK: store i32 [[CNT]], ptr [[XIC_ADDR]] // CHECK: ret %swift.metadata_response diff --git a/test/IRGen/enum_resilience.swift b/test/IRGen/enum_resilience.swift index 3220e4a0c1ef9..3b73cb7ac1a3f 100644 --- a/test/IRGen/enum_resilience.swift +++ b/test/IRGen/enum_resilience.swift @@ -184,7 +184,7 @@ public func constructResilientEnumPayload(_ s: Size) -> Medium { // CHECK-arm64e-NEXT: call i64 @llvm.ptrauth.blend // CHECK-arm64e: [[VWT:%.*]] = inttoptr i64 {{%.*}} to ptr -// CHECK: [[WITNESS_ADDR:%.*]] = getelementptr inbounds %swift.vwtable, ptr [[VWT]], i32 0, i32 8 +// CHECK: [[WITNESS_ADDR:%.*]] = getelementptr inbounds{{.*}} %swift.vwtable, ptr [[VWT]], i32 0, i32 8 // CHECK: [[WITNESS_FOR_SIZE:%size]] = load [[INT]], ptr [[WITNESS_ADDR]] // CHECK: [[ALLOCA:%.*]] = alloca i8, {{.*}} [[WITNESS_FOR_SIZE]], align 16 // CHECK: [[ALLOCA:%.*]] = alloca i8, {{.*}} [[WITNESS_FOR_SIZE]], align 16 diff --git a/test/IRGen/enum_value_semantics.sil b/test/IRGen/enum_value_semantics.sil index 48a4f14849c56..a5a973ab7916f 100644 --- a/test/IRGen/enum_value_semantics.sil +++ b/test/IRGen/enum_value_semantics.sil @@ -195,7 +195,7 @@ bb0(%0 : $SinglePayloadNontrivial): // -- NoPayload getEnumTag // CHECK-LABEL: define internal i32 @"$s20enum_value_semantics9NoPayloadOwug" -// CHECK: [[TAG_ADDR:%.*]] = getelementptr inbounds %T20enum_value_semantics9NoPayloadO, ptr %value, i32 0, i32 0 +// CHECK: [[TAG_ADDR:%.*]] = getelementptr inbounds{{.*}} %T20enum_value_semantics9NoPayloadO, ptr %value, i32 0, i32 0 // CHECK-NEXT: [[TAG:%.*]] = load i8, ptr [[TAG_ADDR]], align 1 // CHECK-NEXT: [[RESULT:%.*]] = zext i8 [[TAG]] to i32 // CHECK-NEXT: ret i32 [[RESULT]] @@ -209,7 +209,7 @@ bb0(%0 : $SinglePayloadNontrivial): // -- NoPayload destructiveInjectEnumTag // CHECK-LABEL: define internal void @"$s20enum_value_semantics9NoPayloadOwui" // CHECK: [[TAG:%.*]] = trunc i32 %tag to i8 -// CHECK-NEXT: [[TAG_ADDR:%.*]] = getelementptr inbounds %T20enum_value_semantics9NoPayloadO, ptr %value, i32 0, i32 0 +// CHECK-NEXT: [[TAG_ADDR:%.*]] = getelementptr inbounds{{.*}} %T20enum_value_semantics9NoPayloadO, ptr %value, i32 0, i32 0 // CHECK-NEXT: store i8 [[TAG]], ptr [[TAG_ADDR]], align 1 // CHECK-NEXT: ret void @@ -295,7 +295,7 @@ bb0(%0 : $SinglePayloadNontrivial): // CHECK: [[NO_PAYLOAD_TAG_TMP:%.*]] = load i64, ptr %value, align 8 // -- Load the high bits of the tag from the extra tag area -// CHECK-NEXT: [[EXTRA_TAG_ADDR_TMP:%.*]] = getelementptr inbounds %T20enum_value_semantics19MultiPayloadTrivialO, ptr %value, i32 0, i32 1 +// CHECK-NEXT: [[EXTRA_TAG_ADDR_TMP:%.*]] = getelementptr inbounds{{.*}} %T20enum_value_semantics19MultiPayloadTrivialO, ptr %value, i32 0, i32 1 // CHECK-NEXT: [[EXTRA_TAG_TMP:%.*]] = load i8, ptr [[EXTRA_TAG_ADDR_TMP]], align 8 // CHECK-NEXT: [[EXTRA_TAG:%.*]] = zext i8 [[EXTRA_TAG_TMP]] to i32 @@ -329,7 +329,7 @@ bb0(%0 : $SinglePayloadNontrivial): // CHECK-NEXT: store i64 [[NO_PAYLOAD_TAG2]], ptr %value, align 8 // -- Store the high bits of the tag in the extra tag area -// CHECK-NEXT: [[EXTRA_TAG_ADDR_TMP:%.*]] = getelementptr inbounds %T20enum_value_semantics19MultiPayloadTrivialO, ptr %value, i32 0, i32 1 +// CHECK-NEXT: [[EXTRA_TAG_ADDR_TMP:%.*]] = getelementptr inbounds{{.*}} %T20enum_value_semantics19MultiPayloadTrivialO, ptr %value, i32 0, i32 1 // CHECK-NEXT: store i8 2, ptr [[EXTRA_TAG_ADDR_TMP]], align 8 // CHECK-NEXT: br label %[[DONE:.*]] @@ -337,7 +337,7 @@ bb0(%0 : $SinglePayloadNontrivial): // -- Store the tag in the extra tag area // CHECK-NEXT: [[TAG:%.*]] = trunc i32 %tag to i8 -// CHECK-NEXT: [[EXTRA_TAG_ADDR_TMP:%.*]] = getelementptr inbounds %T20enum_value_semantics19MultiPayloadTrivialO, ptr %value, i32 0, i32 1 +// CHECK-NEXT: [[EXTRA_TAG_ADDR_TMP:%.*]] = getelementptr inbounds{{.*}} %T20enum_value_semantics19MultiPayloadTrivialO, ptr %value, i32 0, i32 1 // CHECK-NEXT: store i8 [[TAG]], ptr [[EXTRA_TAG_ADDR_TMP]], align 8 // CHECK-NEXT: br label %[[DONE]] @@ -356,7 +356,7 @@ bb0(%0 : $SinglePayloadNontrivial): // -- The payload has no spare bits and there are no empty cases, so the tag // is entirely contained in the extra tag area -// CHECK-NEXT: [[EXTRA_TAG_ADDR_TMP:%.*]] = getelementptr inbounds %T20enum_value_semantics24MultiPayloadNoEmptyCasesO, ptr %value, i32 0, i32 1 +// CHECK-NEXT: [[EXTRA_TAG_ADDR_TMP:%.*]] = getelementptr inbounds{{.*}} %T20enum_value_semantics24MultiPayloadNoEmptyCasesO, ptr %value, i32 0, i32 1 // CHECK-NEXT: [[EXTRA_TAG_TMP:%.*]] = load i8, ptr [[EXTRA_TAG_ADDR_TMP]], align 8 // CHECK-NEXT: [[EXTRA_TAG:%.*]] = zext i8 [[EXTRA_TAG_TMP]] to i32 // CHECK-NEXT: ret i32 [[EXTRA_TAG]] @@ -371,7 +371,7 @@ bb0(%0 : $SinglePayloadNontrivial): // CHECK: [[TAG:%.*]] = trunc i32 %tag to i8 // -- Store the tag in the extra tag area -// CHECK-NEXT: [[EXTRA_TAG_ADDR_TMP:%.*]] = getelementptr inbounds %T20enum_value_semantics24MultiPayloadNoEmptyCasesO, ptr %value, i32 0, i32 1 +// CHECK-NEXT: [[EXTRA_TAG_ADDR_TMP:%.*]] = getelementptr inbounds{{.*}} %T20enum_value_semantics24MultiPayloadNoEmptyCasesO, ptr %value, i32 0, i32 1 // CHECK-NEXT: store i8 [[TAG]], ptr [[EXTRA_TAG_ADDR_TMP]], align 8 // CHECK-NEXT: ret void @@ -385,7 +385,7 @@ bb0(%0 : $SinglePayloadNontrivial): // CHECK-LABEL: define internal i32 @"$s20enum_value_semantics017MultiPayloadEmptyE0Owug" // -- Load the tag from the extra tag area -// CHECK: [[EXTRA_TAG_ADDR:%.*]] = getelementptr inbounds %T20enum_value_semantics017MultiPayloadEmptyE0O, ptr %value, i32 0, i32 0 +// CHECK: [[EXTRA_TAG_ADDR:%.*]] = getelementptr inbounds{{.*}} %T20enum_value_semantics017MultiPayloadEmptyE0O, ptr %value, i32 0, i32 0 // CHECK-NEXT: [[EXTRA_TAG_TMP:%.*]] = load i8, ptr [[EXTRA_TAG_ADDR]], align 1 // CHECK-NEXT: [[EXTRA_TAG:%.*]] = zext i8 [[EXTRA_TAG_TMP]] to i32 // CHECK-NEXT: ret i32 [[EXTRA_TAG]] @@ -401,7 +401,7 @@ bb0(%0 : $SinglePayloadNontrivial): // -- Store the tag in the extra tag area // CHECK: [[TAG:%.*]] = trunc i32 %tag to i8 -// CHECK-NEXT: [[EXTRA_TAG_ADDR:%.*]] = getelementptr inbounds %T20enum_value_semantics017MultiPayloadEmptyE0O, ptr %value, i32 0, i32 0 +// CHECK-NEXT: [[EXTRA_TAG_ADDR:%.*]] = getelementptr inbounds{{.*}} %T20enum_value_semantics017MultiPayloadEmptyE0O, ptr %value, i32 0, i32 0 // CHECK-NEXT: store i8 [[TAG]], ptr [[EXTRA_TAG_ADDR]], align 1 // CHECK-NEXT: ret void @@ -417,7 +417,7 @@ bb0(%0 : $SinglePayloadNontrivial): // CHECK-NEXT: [[PAYLOAD_0:%.*]] = load i64, ptr [[PAYLOAD_0_ADDR]], align 8 // CHECK-NEXT: [[PAYLOAD_1_ADDR:%.*]] = getelementptr // CHECK-NEXT: [[PAYLOAD_1:%.*]] = load i64, ptr [[PAYLOAD_1_ADDR]], align 8 -// CHECK: [[T0:%.*]] = getelementptr inbounds %T20enum_value_semantics22MultiPayloadNontrivialO, ptr [[OBJ]], i32 0, i32 1 +// CHECK: [[T0:%.*]] = getelementptr inbounds{{.*}} %T20enum_value_semantics22MultiPayloadNontrivialO, ptr [[OBJ]], i32 0, i32 1 // CHECK-NEXT: [[TAG:%.*]] = load i8, ptr [[T0]], align 8 // CHECK-NEXT: @"$s20enum_value_semantics22MultiPayloadNontrivialOWOe" // CHECK-NEXT: ret void @@ -461,9 +461,9 @@ bb0(%0 : $SinglePayloadNontrivial): // CHECK-LABEL: define internal i32 @"$s20enum_value_semantics31MultiPayloadNontrivialSpareBitsOwug" // -- Load the payload -// CHECK: [[FIRST_ADDR:%.*]] = getelementptr inbounds { i64, i64 }, ptr %value, i32 0, i32 0 +// CHECK: [[FIRST_ADDR:%.*]] = getelementptr inbounds{{.*}} { i64, i64 }, ptr %value, i32 0, i32 0 // CHECK-NEXT: [[FIRST:%.*]] = load i64, ptr [[FIRST_ADDR]], align 8 -// CHECK-NEXT: [[SECOND_ADDR:%.*]] = getelementptr inbounds { i64, i64 }, ptr %value, i32 0, i32 1 +// CHECK-NEXT: [[SECOND_ADDR:%.*]] = getelementptr inbounds{{.*}} { i64, i64 }, ptr %value, i32 0, i32 1 // CHECK-NEXT: [[SECOND:%.*]] = load i64, ptr [[SECOND_ADDR]], align 8 // -- Get the high bits of the tag from the spare bits @@ -486,18 +486,18 @@ bb0(%0 : $SinglePayloadNontrivial): // CHECK-LABEL: define internal void @"$s20enum_value_semantics31MultiPayloadNontrivialSpareBitsOwup" // -- Load the payload -// CHECK: [[FIRST_ADDR:%.*]] = getelementptr inbounds { i64, i64 }, ptr %value, i32 0, i32 0 +// CHECK: [[FIRST_ADDR:%.*]] = getelementptr inbounds{{.*}} { i64, i64 }, ptr %value, i32 0, i32 0 // CHECK-NEXT: [[FIRST:%.*]] = load i64, ptr [[FIRST_ADDR]], align 8 -// CHECK-NEXT: [[SECOND_ADDR:%.*]] = getelementptr inbounds { i64, i64 }, ptr %value, i32 0, i32 1 +// CHECK-NEXT: [[SECOND_ADDR:%.*]] = getelementptr inbounds{{.*}} { i64, i64 }, ptr %value, i32 0, i32 1 // CHECK-NEXT: [[SECOND:%.*]] = load i64, ptr [[SECOND_ADDR]], align 8 // -- Strip off spare bits // CHECK-NEXT: [[SECOND_PROJ:%.*]] = and i64 [[SECOND]], 4611686018427387903 // -- Store the payload -// CHECK-NEXT: [[FIRST_ADDR:%.*]] = getelementptr inbounds { i64, i64 }, ptr %value, i32 0, i32 0 +// CHECK-NEXT: [[FIRST_ADDR:%.*]] = getelementptr inbounds{{.*}} { i64, i64 }, ptr %value, i32 0, i32 0 // CHECK-NEXT: store i64 [[FIRST]], ptr [[FIRST_ADDR]], align 8 -// CHECK-NEXT: [[SECOND_ADDR:%.*]] = getelementptr inbounds { i64, i64 }, ptr %value, i32 0, i32 1 +// CHECK-NEXT: [[SECOND_ADDR:%.*]] = getelementptr inbounds{{.*}} { i64, i64 }, ptr %value, i32 0, i32 1 // CHECK-NEXT: store i64 [[SECOND_PROJ]], ptr [[SECOND_ADDR]], align 8 // CHECK-NEXT: ret void @@ -513,11 +513,11 @@ bb0(%0 : $SinglePayloadNontrivial): // CHECK-NEXT: [[NO_PAYLOAD_TAG2:%.*]] = zext i32 [[NO_PAYLOAD_TAG]] to i64 // -- Store the low bits of the tag into the payload -// CHECK-NEXT: [[FIRST_ADDR:%.*]] = getelementptr inbounds { i64, i64 }, ptr %value, i32 0, i32 0 +// CHECK-NEXT: [[FIRST_ADDR:%.*]] = getelementptr inbounds{{.*}} { i64, i64 }, ptr %value, i32 0, i32 0 // CHECK-NEXT: store i64 [[NO_PAYLOAD_TAG2]], ptr [[FIRST_ADDR]], align 8 // -- Store the high bits of the tag into the spare bits -// CHECK-NEXT: [[SECOND_ADDR:%.*]] = getelementptr inbounds { i64, i64 }, ptr %value, i32 0, i32 1 +// CHECK-NEXT: [[SECOND_ADDR:%.*]] = getelementptr inbounds{{.*}} { i64, i64 }, ptr %value, i32 0, i32 1 // -- 0xc000000000000000 // CHECK-NEXT: store i64 -4611686018427387904, ptr [[SECOND_ADDR]], align 8 // CHECK-NEXT: br label %[[END:.*]] @@ -528,9 +528,9 @@ bb0(%0 : $SinglePayloadNontrivial): // CHECK-NEXT: [[TAG_TMP:%.*]] = and i32 %tag, 3 // -- Load the payload -// CHECK-NEXT: [[FIRST_ADDR:%.*]] = getelementptr inbounds { i64, i64 }, ptr %value, i32 0, i32 0 +// CHECK-NEXT: [[FIRST_ADDR:%.*]] = getelementptr inbounds{{.*}} { i64, i64 }, ptr %value, i32 0, i32 0 // CHECK-NEXT: [[FIRST:%.*]] = load i64, ptr [[FIRST_ADDR]], align 8 -// CHECK-NEXT: [[SECOND_ADDR:%.*]] = getelementptr inbounds { i64, i64 }, ptr %value, i32 0, i32 1 +// CHECK-NEXT: [[SECOND_ADDR:%.*]] = getelementptr inbounds{{.*}} { i64, i64 }, ptr %value, i32 0, i32 1 // CHECK-NEXT: [[SECOND:%.*]] = load i64, ptr [[SECOND_ADDR]], align 8 // -- Mask off spare bits in the payload -- 0x00fffffffffffff8 @@ -547,9 +547,9 @@ bb0(%0 : $SinglePayloadNontrivial): // CHECK-NEXT: [[SECOND_NEW:%.*]] = or i64 [[SPARE_TAG_TMP]], [[SECOND_PROJ]] // -- Store the payload back -// CHECK-NEXT: [[FIRST_ADDR:%.*]] = getelementptr inbounds { i64, i64 }, ptr %value, i32 0, i32 0 +// CHECK-NEXT: [[FIRST_ADDR:%.*]] = getelementptr inbounds{{.*}} { i64, i64 }, ptr %value, i32 0, i32 0 // CHECK-NEXT: store i64 [[FIRST]], ptr [[FIRST_ADDR]], align 8 -// CHECK-NEXT: [[SECOND_ADDR:%.*]] = getelementptr inbounds { i64, i64 }, ptr %value, i32 0, i32 1 +// CHECK-NEXT: [[SECOND_ADDR:%.*]] = getelementptr inbounds{{.*}} { i64, i64 }, ptr %value, i32 0, i32 1 // CHECK-NEXT: store i64 [[SECOND_NEW]], ptr [[SECOND_ADDR]], align 8 // CHECK-NEXT: br label %[[END]] @@ -563,7 +563,7 @@ bb0(%0 : $SinglePayloadNontrivial): // CHECK: [[PAYLOAD:%.*]] = load i64, ptr %value, align 8 // -- Load the load bits of the tag from the extra tag area -// CHECK-NEXT: [[EXTRA_TAG_ADDR_TMP:%.*]] = getelementptr inbounds %T20enum_value_semantics029MultiPayloadSpareBitsAndExtraG0O, ptr %value, i32 0, i32 1 +// CHECK-NEXT: [[EXTRA_TAG_ADDR_TMP:%.*]] = getelementptr inbounds{{.*}} %T20enum_value_semantics029MultiPayloadSpareBitsAndExtraG0O, ptr %value, i32 0, i32 1 // CHECK-NEXT: [[EXTRA_TAG:%.*]] = load i8, ptr [[EXTRA_TAG_ADDR_TMP]], align 8 // -- Load the high bits of the tag from the spare bits area @@ -609,6 +609,6 @@ bb0(%0 : $SinglePayloadNontrivial): // -- Store high bits of tag in extra tag area // CHECK-NEXT: [[EXTRA_TAG_TMP:%.*]] = lshr i32 %tag, 1 // CHECK-NEXT: [[EXTRA_TAG:%.*]] = trunc i32 [[EXTRA_TAG_TMP]] to i8 -// CHECK-NEXT: [[EXTRA_TAG_ADDR_TMP:%.*]] = getelementptr inbounds %T20enum_value_semantics029MultiPayloadSpareBitsAndExtraG0O, ptr %value, i32 0, i32 1 +// CHECK-NEXT: [[EXTRA_TAG_ADDR_TMP:%.*]] = getelementptr inbounds{{.*}} %T20enum_value_semantics029MultiPayloadSpareBitsAndExtraG0O, ptr %value, i32 0, i32 1 // CHECK-NEXT: store i8 [[EXTRA_TAG]], ptr [[EXTRA_TAG_ADDR_TMP]], align 8 // CHECK-NEXT: ret void diff --git a/test/IRGen/enum_value_semantics_future.sil b/test/IRGen/enum_value_semantics_future.sil index 75393a5e81c0c..f9dd4c6c6d4a8 100644 --- a/test/IRGen/enum_value_semantics_future.sil +++ b/test/IRGen/enum_value_semantics_future.sil @@ -204,7 +204,7 @@ bb0(%0 : $SinglePayloadNontrivial): // -- NoPayload getEnumTag // CHECK-LABEL: define internal i32 @"$s27enum_value_semantics_future9NoPayloadOwug" -// CHECK: [[TAG_ADDR:%.*]] = getelementptr inbounds %T27enum_value_semantics_future9NoPayloadO, ptr %value, i32 0, i32 0 +// CHECK: [[TAG_ADDR:%.*]] = getelementptr inbounds{{.*}} %T27enum_value_semantics_future9NoPayloadO, ptr %value, i32 0, i32 0 // CHECK-NEXT: [[TAG:%.*]] = load i8, ptr [[TAG_ADDR]], align 1 // CHECK-NEXT: [[RESULT:%.*]] = zext i8 {{.*}} to i32 // CHECK-NEXT: ret i32 [[RESULT]] @@ -218,7 +218,7 @@ bb0(%0 : $SinglePayloadNontrivial): // -- NoPayload destructiveInjectEnumTag // CHECK-LABEL: define internal void @"$s27enum_value_semantics_future9NoPayloadOwui" // CHECK: [[TAG:%.*]] = trunc i32 %tag to i8 -// CHECK-NEXT: [[TAG_ADDR:%.*]] = getelementptr inbounds %T27enum_value_semantics_future9NoPayloadO, ptr %value, i32 0, i32 0 +// CHECK-NEXT: [[TAG_ADDR:%.*]] = getelementptr inbounds{{.*}} %T27enum_value_semantics_future9NoPayloadO, ptr %value, i32 0, i32 0 // CHECK-NEXT: store i8 [[TAG]], ptr [[TAG_ADDR]], align 1 // CHECK-NEXT: ret void @@ -300,7 +300,7 @@ bb0(%0 : $SinglePayloadNontrivial): // CHECK: [[NO_PAYLOAD_TAG_TMP:%.*]] = load i64, ptr %value, align 8 // -- Load the high bits of the tag from the extra tag area -// CHECK-NEXT: [[EXTRA_TAG_ADDR_TMP:%.*]] = getelementptr inbounds %T27enum_value_semantics_future19MultiPayloadTrivialO, ptr %value, i32 0, i32 1 +// CHECK-NEXT: [[EXTRA_TAG_ADDR_TMP:%.*]] = getelementptr inbounds{{.*}} %T27enum_value_semantics_future19MultiPayloadTrivialO, ptr %value, i32 0, i32 1 // CHECK-NEXT: [[EXTRA_TAG_TMP:%.*]] = load i8, ptr [[EXTRA_TAG_ADDR_TMP]], align 8 // CHECK-NEXT: [[EXTRA_TAG:%.*]] = zext i8 [[EXTRA_TAG_TMP]] to i32 @@ -334,7 +334,7 @@ bb0(%0 : $SinglePayloadNontrivial): // CHECK-NEXT: store i64 [[NO_PAYLOAD_TAG2]], ptr %value, align 8 // -- Store the high bits of the tag in the extra tag area -// CHECK-NEXT: [[EXTRA_TAG_ADDR_TMP:%.*]] = getelementptr inbounds %T27enum_value_semantics_future19MultiPayloadTrivialO, ptr %value, i32 0, i32 1 +// CHECK-NEXT: [[EXTRA_TAG_ADDR_TMP:%.*]] = getelementptr inbounds{{.*}} %T27enum_value_semantics_future19MultiPayloadTrivialO, ptr %value, i32 0, i32 1 // CHECK-NEXT: store i8 2, ptr [[EXTRA_TAG_ADDR_TMP]], align 8 // CHECK-NEXT: br label %[[DONE:.*]] @@ -342,7 +342,7 @@ bb0(%0 : $SinglePayloadNontrivial): // -- Store the tag in the extra tag area // CHECK-NEXT: [[TAG:%.*]] = trunc i32 %tag to i8 -// CHECK-NEXT: [[EXTRA_TAG_ADDR_TMP:%.*]] = getelementptr inbounds %T27enum_value_semantics_future19MultiPayloadTrivialO, ptr %value, i32 0, i32 1 +// CHECK-NEXT: [[EXTRA_TAG_ADDR_TMP:%.*]] = getelementptr inbounds{{.*}} %T27enum_value_semantics_future19MultiPayloadTrivialO, ptr %value, i32 0, i32 1 // CHECK-NEXT: store i8 [[TAG]], ptr [[EXTRA_TAG_ADDR_TMP]], align 8 // CHECK-NEXT: br label %[[DONE]] @@ -361,7 +361,7 @@ bb0(%0 : $SinglePayloadNontrivial): // -- The payload has no spare bits and there are no empty cases, so the tag // is entirely contained in the extra tag area -// CHECK-NEXT: [[EXTRA_TAG_ADDR_TMP:%.*]] = getelementptr inbounds %T27enum_value_semantics_future24MultiPayloadNoEmptyCasesO, ptr %value, i32 0, i32 1 +// CHECK-NEXT: [[EXTRA_TAG_ADDR_TMP:%.*]] = getelementptr inbounds{{.*}} %T27enum_value_semantics_future24MultiPayloadNoEmptyCasesO, ptr %value, i32 0, i32 1 // CHECK-NEXT: [[EXTRA_TAG_TMP:%.*]] = load i8, ptr [[EXTRA_TAG_ADDR_TMP]], align 8 // CHECK-NEXT: [[EXTRA_TAG:%.*]] = zext i8 [[EXTRA_TAG_TMP]] to i32 // CHECK-NEXT: ret i32 [[EXTRA_TAG]] @@ -376,7 +376,7 @@ bb0(%0 : $SinglePayloadNontrivial): // CHECK: [[TAG:%.*]] = trunc i32 %tag to i8 // -- Store the tag in the extra tag area -// CHECK-NEXT: [[EXTRA_TAG_ADDR_TMP:%.*]] = getelementptr inbounds %T27enum_value_semantics_future24MultiPayloadNoEmptyCasesO, ptr %value, i32 0, i32 1 +// CHECK-NEXT: [[EXTRA_TAG_ADDR_TMP:%.*]] = getelementptr inbounds{{.*}} %T27enum_value_semantics_future24MultiPayloadNoEmptyCasesO, ptr %value, i32 0, i32 1 // CHECK-NEXT: store i8 [[TAG]], ptr [[EXTRA_TAG_ADDR_TMP]], align 8 // CHECK-NEXT: ret void @@ -390,7 +390,7 @@ bb0(%0 : $SinglePayloadNontrivial): // CHECK-LABEL: define internal i32 @"$s27enum_value_semantics_future017MultiPayloadEmptyF0Owug" // -- Load the tag from the extra tag area -// CHECK: [[EXTRA_TAG_ADDR:%.*]] = getelementptr inbounds %T27enum_value_semantics_future017MultiPayloadEmptyF0O, ptr %value, i32 0, i32 0 +// CHECK: [[EXTRA_TAG_ADDR:%.*]] = getelementptr inbounds{{.*}} %T27enum_value_semantics_future017MultiPayloadEmptyF0O, ptr %value, i32 0, i32 0 // CHECK-NEXT: [[EXTRA_TAG_TMP:%.*]] = load i8, ptr [[EXTRA_TAG_ADDR]], align 1 // CHECK-NEXT: [[EXTRA_TAG:%.*]] = zext i8 [[EXTRA_TAG_TMP]] to i32 // CHECK-NEXT: ret i32 [[EXTRA_TAG]] @@ -406,7 +406,7 @@ bb0(%0 : $SinglePayloadNontrivial): // -- Store the tag in the extra tag area // CHECK: [[TAG:%.*]] = trunc i32 %tag to i8 -// CHECK-NEXT: [[EXTRA_TAG_ADDR:%.*]] = getelementptr inbounds %T27enum_value_semantics_future017MultiPayloadEmptyF0O, ptr %value, i32 0, i32 0 +// CHECK-NEXT: [[EXTRA_TAG_ADDR:%.*]] = getelementptr inbounds{{.*}} %T27enum_value_semantics_future017MultiPayloadEmptyF0O, ptr %value, i32 0, i32 0 // CHECK-NEXT: store i8 [[TAG]], ptr [[EXTRA_TAG_ADDR]], align 1 // CHECK-NEXT: ret void @@ -422,7 +422,7 @@ bb0(%0 : $SinglePayloadNontrivial): // CHECK-NEXT: [[PAYLOAD_0:%.*]] = load i64, ptr [[PAYLOAD_0_ADDR]], align 8 // CHECK-NEXT: [[PAYLOAD_1_ADDR:%.*]] = getelementptr // CHECK-NEXT: [[PAYLOAD_1:%.*]] = load i64, ptr [[PAYLOAD_1_ADDR]], align 8 -// CHECK-NEXT: [[T0:%.*]] = getelementptr inbounds %T27enum_value_semantics_future22MultiPayloadNontrivialO, ptr {{.*}}, i32 0, i32 1 +// CHECK-NEXT: [[T0:%.*]] = getelementptr inbounds{{.*}} %T27enum_value_semantics_future22MultiPayloadNontrivialO, ptr {{.*}}, i32 0, i32 1 // CHECK-NEXT: [[TAG:%.*]] = load i8, ptr [[T0]], align 8 // CHECK-NEXT: @"$s27enum_value_semantics_future22MultiPayloadNontrivialOWOe" // CHECK-NEXT: ret void @@ -466,9 +466,9 @@ bb0(%0 : $SinglePayloadNontrivial): // CHECK-LABEL: define internal i32 @"$s27enum_value_semantics_future31MultiPayloadNontrivialSpareBitsOwug" // -- Load the payload -// CHECK: [[FIRST_ADDR:%.*]] = getelementptr inbounds { i64, i64 }, ptr %value, i32 0, i32 0 +// CHECK: [[FIRST_ADDR:%.*]] = getelementptr inbounds{{.*}} { i64, i64 }, ptr %value, i32 0, i32 0 // CHECK-NEXT: [[FIRST:%.*]] = load i64, ptr [[FIRST_ADDR]], align 8 -// CHECK-NEXT: [[SECOND_ADDR:%.*]] = getelementptr inbounds { i64, i64 }, ptr %value, i32 0, i32 1 +// CHECK-NEXT: [[SECOND_ADDR:%.*]] = getelementptr inbounds{{.*}} { i64, i64 }, ptr %value, i32 0, i32 1 // CHECK-NEXT: [[SECOND:%.*]] = load i64, ptr [[SECOND_ADDR]], align 8 // -- Get the high bits of the tag from the spare bits @@ -491,18 +491,18 @@ bb0(%0 : $SinglePayloadNontrivial): // CHECK-LABEL: define internal void @"$s27enum_value_semantics_future31MultiPayloadNontrivialSpareBitsOwup" // -- Load the payload -// CHECK: [[FIRST_ADDR:%.*]] = getelementptr inbounds { i64, i64 }, ptr %value, i32 0, i32 0 +// CHECK: [[FIRST_ADDR:%.*]] = getelementptr inbounds{{.*}} { i64, i64 }, ptr %value, i32 0, i32 0 // CHECK-NEXT: [[FIRST:%.*]] = load i64, ptr [[FIRST_ADDR]], align 8 -// CHECK-NEXT: [[SECOND_ADDR:%.*]] = getelementptr inbounds { i64, i64 }, ptr %value, i32 0, i32 1 +// CHECK-NEXT: [[SECOND_ADDR:%.*]] = getelementptr inbounds{{.*}} { i64, i64 }, ptr %value, i32 0, i32 1 // CHECK-NEXT: [[SECOND:%.*]] = load i64, ptr [[SECOND_ADDR]], align 8 // -- Strip off spare bits // CHECK-NEXT: [[SECOND_PROJ:%.*]] = and i64 [[SECOND]], 4611686018427387903 // -- Store the payload -// CHECK-NEXT: [[FIRST_ADDR:%.*]] = getelementptr inbounds { i64, i64 }, ptr %value, i32 0, i32 0 +// CHECK-NEXT: [[FIRST_ADDR:%.*]] = getelementptr inbounds{{.*}} { i64, i64 }, ptr %value, i32 0, i32 0 // CHECK-NEXT: store i64 [[FIRST]], ptr [[FIRST_ADDR]], align 8 -// CHECK-NEXT: [[SECOND_ADDR:%.*]] = getelementptr inbounds { i64, i64 }, ptr %value, i32 0, i32 1 +// CHECK-NEXT: [[SECOND_ADDR:%.*]] = getelementptr inbounds{{.*}} { i64, i64 }, ptr %value, i32 0, i32 1 // CHECK-NEXT: store i64 [[SECOND_PROJ]], ptr [[SECOND_ADDR]], align 8 // CHECK-NEXT: ret void @@ -518,11 +518,11 @@ bb0(%0 : $SinglePayloadNontrivial): // CHECK-NEXT: [[NO_PAYLOAD_TAG2:%.*]] = zext i32 [[NO_PAYLOAD_TAG]] to i64 // -- Store the low bits of the tag into the payload -// CHECK-NEXT: [[FIRST_ADDR:%.*]] = getelementptr inbounds { i64, i64 }, ptr %value, i32 0, i32 0 +// CHECK-NEXT: [[FIRST_ADDR:%.*]] = getelementptr inbounds{{.*}} { i64, i64 }, ptr %value, i32 0, i32 0 // CHECK-NEXT: store i64 [[NO_PAYLOAD_TAG2]], ptr [[FIRST_ADDR]], align 8 // -- Store the high bits of the tag into the spare bits -// CHECK-NEXT: [[SECOND_ADDR:%.*]] = getelementptr inbounds { i64, i64 }, ptr %value, i32 0, i32 1 +// CHECK-NEXT: [[SECOND_ADDR:%.*]] = getelementptr inbounds{{.*}} { i64, i64 }, ptr %value, i32 0, i32 1 // -- 0xc000000000000000 // CHECK-NEXT: store i64 -4611686018427387904, ptr [[SECOND_ADDR]], align 8 // CHECK-NEXT: br label %[[END:.*]] @@ -533,9 +533,9 @@ bb0(%0 : $SinglePayloadNontrivial): // CHECK-NEXT: [[TAG_TMP:%.*]] = and i32 %tag, 3 // -- Load the payload -// CHECK-NEXT: [[FIRST_ADDR:%.*]] = getelementptr inbounds { i64, i64 }, ptr %value, i32 0, i32 0 +// CHECK-NEXT: [[FIRST_ADDR:%.*]] = getelementptr inbounds{{.*}} { i64, i64 }, ptr %value, i32 0, i32 0 // CHECK-NEXT: [[FIRST:%.*]] = load i64, ptr [[FIRST_ADDR]], align 8 -// CHECK-NEXT: [[SECOND_ADDR:%.*]] = getelementptr inbounds { i64, i64 }, ptr %value, i32 0, i32 1 +// CHECK-NEXT: [[SECOND_ADDR:%.*]] = getelementptr inbounds{{.*}} { i64, i64 }, ptr %value, i32 0, i32 1 // CHECK-NEXT: [[SECOND:%.*]] = load i64, ptr [[SECOND_ADDR]], align 8 // -- Mask off spare bits in the payload -- 0x00fffffffffffff8 @@ -552,9 +552,9 @@ bb0(%0 : $SinglePayloadNontrivial): // CHECK-NEXT: [[SECOND_NEW:%.*]] = or i64 [[SPARE_TAG_TMP]], [[SECOND_PROJ]] // -- Store the payload back -// CHECK-NEXT: [[FIRST_ADDR:%.*]] = getelementptr inbounds { i64, i64 }, ptr %value, i32 0, i32 0 +// CHECK-NEXT: [[FIRST_ADDR:%.*]] = getelementptr inbounds{{.*}} { i64, i64 }, ptr %value, i32 0, i32 0 // CHECK-NEXT: store i64 [[FIRST]], ptr [[FIRST_ADDR]], align 8 -// CHECK-NEXT: [[SECOND_ADDR:%.*]] = getelementptr inbounds { i64, i64 }, ptr %value, i32 0, i32 1 +// CHECK-NEXT: [[SECOND_ADDR:%.*]] = getelementptr inbounds{{.*}} { i64, i64 }, ptr %value, i32 0, i32 1 // CHECK-NEXT: store i64 [[SECOND_NEW]], ptr [[SECOND_ADDR]], align 8 // CHECK-NEXT: br label %[[END]] @@ -568,7 +568,7 @@ bb0(%0 : $SinglePayloadNontrivial): // CHECK: [[PAYLOAD:%.*]] = load i64, ptr %value, align 8 // -- Load the load bits of the tag from the extra tag area -// CHECK-NEXT: [[EXTRA_TAG_ADDR_TMP:%.*]] = getelementptr inbounds %T27enum_value_semantics_future029MultiPayloadSpareBitsAndExtraH0O, ptr %value, i32 0, i32 1 +// CHECK-NEXT: [[EXTRA_TAG_ADDR_TMP:%.*]] = getelementptr inbounds{{.*}} %T27enum_value_semantics_future029MultiPayloadSpareBitsAndExtraH0O, ptr %value, i32 0, i32 1 // CHECK-NEXT: [[EXTRA_TAG:%.*]] = load i8, ptr [[EXTRA_TAG_ADDR_TMP]], align 8 // -- Load the high bits of the tag from the spare bits area @@ -614,6 +614,6 @@ bb0(%0 : $SinglePayloadNontrivial): // -- Store high bits of tag in extra tag area // CHECK-NEXT: [[EXTRA_TAG_TMP:%.*]] = lshr i32 %tag, 1 // CHECK-NEXT: [[EXTRA_TAG:%.*]] = trunc i32 [[EXTRA_TAG_TMP]] to i8 -// CHECK-NEXT: [[EXTRA_TAG_ADDR_TMP:%.*]] = getelementptr inbounds %T27enum_value_semantics_future029MultiPayloadSpareBitsAndExtraH0O, ptr %value, i32 0, i32 1 +// CHECK-NEXT: [[EXTRA_TAG_ADDR_TMP:%.*]] = getelementptr inbounds{{.*}} %T27enum_value_semantics_future029MultiPayloadSpareBitsAndExtraH0O, ptr %value, i32 0, i32 1 // CHECK-NEXT: store i8 [[EXTRA_TAG]], ptr [[EXTRA_TAG_ADDR_TMP]], align 8 // CHECK-NEXT: ret void diff --git a/test/IRGen/exclusivity.sil b/test/IRGen/exclusivity.sil index fd3ccf3c08962..656173cf0397f 100644 --- a/test/IRGen/exclusivity.sil +++ b/test/IRGen/exclusivity.sil @@ -18,14 +18,14 @@ bb0(%0 : $A): // CHECK: [[SCRATCH0:%.*]] = alloca [[BUFFER_T:\[.* x i8\]]], // CHECK: [[SCRATCH1:%.*]] = alloca [[BUFFER_T:\[.* x i8\]]], - // CHECK: [[PROP:%.*]] = getelementptr inbounds [[C:%T11exclusivity1AC]], ptr %0, i32 0, i32 1 + // CHECK: [[PROP:%.*]] = getelementptr inbounds{{.*}} [[C:%T11exclusivity1AC]], ptr %0, i32 0, i32 1 %3 = ref_element_addr %0 : $A, #A.x // CHECK: call void @llvm.lifetime.start.p0(i64 -1, ptr [[SCRATCH0]]) // CHECK: call void @swift_beginAccess(ptr [[PROP]], ptr [[SCRATCH0]], [[SIZE_T:i32|i64]] 32, ptr null) %4 = begin_access [read] [dynamic] %3 : $*Int - // CHECK: [[T0:%.*]] = getelementptr inbounds [[INT:%TSi]], ptr %1, i32 0, i32 0 + // CHECK: [[T0:%.*]] = getelementptr inbounds{{.*}} [[INT:%TSi]], ptr %1, i32 0, i32 0 // CHECK: load {{(i64|i32)}}, ptr [[T0]] %5 = load %4 : $*Int @@ -35,7 +35,7 @@ bb0(%0 : $A): %9 = function_ref @changeInt : $@convention(thin) (@inout Int) -> () - // CHECK: [[PROP:%.*]] = getelementptr inbounds [[C:%T11exclusivity1AC]], ptr %0, i32 0, i32 1 + // CHECK: [[PROP:%.*]] = getelementptr inbounds{{.*}} [[C:%T11exclusivity1AC]], ptr %0, i32 0, i32 1 %11 = ref_element_addr %0 : $A, #A.x // CHECK: call void @llvm.lifetime.start.p0(i64 -1, ptr [[SCRATCH1]]) diff --git a/test/IRGen/existential_metatypes.sil b/test/IRGen/existential_metatypes.sil index fc216e378e8d0..b2ba3ddb56cb2 100644 --- a/test/IRGen/existential_metatypes.sil +++ b/test/IRGen/existential_metatypes.sil @@ -58,17 +58,17 @@ bb0: // CHECK: [[V:%.*]] = alloca { ptr, ptr }, align 8 // CHECK-NEXT: llvm.lifetime.start %0 = alloc_stack $@thick Kindable.Type, var, name "v" - // CHECK-NEXT: [[T0:%.*]] = getelementptr inbounds { ptr, ptr }, ptr [[V]], i32 0, i32 0 + // CHECK-NEXT: [[T0:%.*]] = getelementptr inbounds{{.*}} { ptr, ptr }, ptr [[V]], i32 0, i32 0 // CHECK-NEXT: store ptr @"$sSiN", ptr [[T0]], align 8 - // CHECK-NEXT: [[T0:%.*]] = getelementptr inbounds { ptr, ptr }, ptr [[V]], i32 0, i32 1 + // CHECK-NEXT: [[T0:%.*]] = getelementptr inbounds{{.*}} { ptr, ptr }, ptr [[V]], i32 0, i32 1 %1 = metatype $@thin Int.Type %2 = metatype $@thick Int.Type %3 = init_existential_metatype %2 : $@thick Int.Type, $@thick Kindable.Type // CHECK-NEXT: store ptr @"$sSi21existential_metatypes8KindableAAWP", ptr [[T0]], align 8 store %3 to %0 : $*@thick Kindable.Type - // CHECK-NEXT: [[T0:%.*]] = getelementptr inbounds { ptr, ptr }, ptr [[V]], i32 0, i32 0 + // CHECK-NEXT: [[T0:%.*]] = getelementptr inbounds{{.*}} { ptr, ptr }, ptr [[V]], i32 0, i32 0 // CHECK-NEXT: store ptr @"$sSfN", ptr [[T0]], align 8 - // CHECK-NEXT: [[T0:%.*]] = getelementptr inbounds { ptr, ptr }, ptr [[V]], i32 0, i32 1 + // CHECK-NEXT: [[T0:%.*]] = getelementptr inbounds{{.*}} { ptr, ptr }, ptr [[V]], i32 0, i32 1 %5 = metatype $@thin Float.Type %6 = metatype $@thick Float.Type %7 = init_existential_metatype %6 : $@thick Float.Type, $@thick Kindable.Type diff --git a/test/IRGen/existential_shape_metadata.swift b/test/IRGen/existential_shape_metadata.swift index b065f4582c781..4a4ef092da7de 100644 --- a/test/IRGen/existential_shape_metadata.swift +++ b/test/IRGen/existential_shape_metadata.swift @@ -46,7 +46,7 @@ public func testConcrete() -> Any.Type { // CHECK-LABEL: define{{.*}} @"$s26existential_shape_metadata13testDependent public func testDependent(t: T.Type) -> Any.Type { // CHECK: [[ARGS:%.*]] = alloca [1 x ptr], align - // CHECK: [[T0:%.*]] = getelementptr inbounds [1 x ptr], ptr [[ARGS]], i32 0, i32 0 + // CHECK: [[T0:%.*]] = getelementptr inbounds{{.*}} [1 x ptr], ptr [[ARGS]], i32 0, i32 0 // CHECK: store ptr %T, ptr [[T0]], align // CHECK: [[METADATA:%.*]] = call ptr @swift_getExtendedExistentialTypeMetadata(ptr @"$sl26existential_shape_metadata2Q0_px1TRts_XPXGMq{{(\.ptrauth)?}}", ptr [[ARGS]]) // CHECK: ret ptr [[METADATA]] @@ -59,7 +59,7 @@ public func testComplexApplication(t: T.Type) -> Any.Type { // CHECK: [[ARGS:%.*]] = alloca [1 x ptr], align // CHECK: [[T0:%.*]] = call swiftcc %swift.metadata_response @"$s26existential_shape_metadata1BVMa"([[INT]] 255, ptr %T) // CHECK: [[B_T:%.*]] = extractvalue %swift.metadata_response [[T0]], 0 - // CHECK: [[T0:%.*]] = getelementptr inbounds [1 x ptr], ptr [[ARGS]], i32 0, i32 0 + // CHECK: [[T0:%.*]] = getelementptr inbounds{{.*}} [1 x ptr], ptr [[ARGS]], i32 0, i32 0 // CHECK: store ptr [[B_T]], ptr [[T0]], align // CHECK: [[METADATA:%.*]] = call ptr @swift_getExtendedExistentialTypeMetadata(ptr @"$sl26existential_shape_metadata2Q0_px1TRts_XPXGMq{{(\.ptrauth)?}}", ptr [[ARGS]]) // CHECK: ret ptr [[METADATA]] @@ -70,7 +70,7 @@ public func testComplexApplication(t: T.Type) -> Any.Type { // CHECK-LABEL: define{{.*}} @"$s26existential_shape_metadata12test_private public func test_private(t: T.Type) -> Any.Type { // CHECK: [[ARGS:%.*]] = alloca [1 x ptr], align - // CHECK: [[T0:%.*]] = getelementptr inbounds [1 x ptr], ptr [[ARGS]], i32 0, i32 0 + // CHECK: [[T0:%.*]] = getelementptr inbounds{{.*}} [1 x ptr], ptr [[ARGS]], i32 0, i32 0 // CHECK: store ptr %T, ptr [[T0]], align // FIXME: this should be unique? // CHECK: [[METADATA:%.*]] = call ptr @swift_getExtendedExistentialTypeMetadata_unique(ptr @"$sl26existential_shape_metadata2R033_881A0B6978EB4286E7CFF1E27030ACACLL_px1TRts_XPXG{{(\.ptrauth)?}}", ptr [[ARGS]]) diff --git a/test/IRGen/existentials.sil b/test/IRGen/existentials.sil index 8c3d3ebe14cac..c56b8e141628d 100644 --- a/test/IRGen/existentials.sil +++ b/test/IRGen/existentials.sil @@ -55,29 +55,29 @@ entry(%w : $*@sil_weak CP?, %a : $CP?): // CHECK: [[SRC_REF:%.*]] = inttoptr {{.*}} ptr // CHECK: [[SRC_WITNESS:%.*]] = inttoptr {{.*}} ptr - // CHECK: [[DEST_WITNESS_ADDR:%.*]] = getelementptr inbounds { %swift.weak, ptr }, ptr %0, i32 0, i32 1 + // CHECK: [[DEST_WITNESS_ADDR:%.*]] = getelementptr inbounds{{.*}} { %swift.weak, ptr }, ptr %0, i32 0, i32 1 // CHECK: store ptr [[SRC_WITNESS]], ptr [[DEST_WITNESS_ADDR]] - // CHECK: [[DEST_REF_ADDR:%.*]] = getelementptr inbounds { %swift.weak, ptr }, ptr %0, i32 0, i32 0 + // CHECK: [[DEST_REF_ADDR:%.*]] = getelementptr inbounds{{.*}} { %swift.weak, ptr }, ptr %0, i32 0, i32 0 // CHECK: call ptr @swift_weakInit(ptr returned [[DEST_REF_ADDR]], ptr [[SRC_REF]]) store_weak %a to [init] %w : $*@sil_weak CP? // CHECK: [[SRC_REF:%.*]] = inttoptr {{.*}} ptr // CHECK: [[SRC_WITNESS:%.*]] = inttoptr {{.*}} ptr - // CHECK: [[DEST_WITNESS_ADDR:%.*]] = getelementptr inbounds { %swift.weak, ptr }, ptr %0, i32 0, i32 1 + // CHECK: [[DEST_WITNESS_ADDR:%.*]] = getelementptr inbounds{{.*}} { %swift.weak, ptr }, ptr %0, i32 0, i32 1 // CHECK: store ptr [[SRC_WITNESS]], ptr [[DEST_WITNESS_ADDR]] - // CHECK: [[DEST_REF_ADDR:%.*]] = getelementptr inbounds { %swift.weak, ptr }, ptr %0, i32 0, i32 0 + // CHECK: [[DEST_REF_ADDR:%.*]] = getelementptr inbounds{{.*}} { %swift.weak, ptr }, ptr %0, i32 0, i32 0 // CHECK: call ptr @swift_weakAssign(ptr returned [[DEST_REF_ADDR]], ptr [[SRC_REF]]) store_weak %a to %w : $*@sil_weak CP? - // CHECK: [[SRC_REF_ADDR:%.*]] = getelementptr inbounds { %swift.weak, ptr }, ptr %0, i32 0, i32 0 + // CHECK: [[SRC_REF_ADDR:%.*]] = getelementptr inbounds{{.*}} { %swift.weak, ptr }, ptr %0, i32 0, i32 0 // CHECK: [[DEST_REF:%.*]] = call ptr @swift_weakTakeStrong(ptr [[SRC_REF_ADDR]]) - // CHECK: [[SRC_WITNESS_ADDR:%.*]] = getelementptr inbounds { %swift.weak, ptr }, ptr %0, i32 0, i32 1 + // CHECK: [[SRC_WITNESS_ADDR:%.*]] = getelementptr inbounds{{.*}} { %swift.weak, ptr }, ptr %0, i32 0, i32 1 // CHECK: [[DEST_WITNESS:%.*]] = load ptr, ptr [[SRC_WITNESS_ADDR]] %b = load_weak [take] %w : $*@sil_weak CP? - // CHECK: [[SRC_REF_ADDR:%.*]] = getelementptr inbounds { %swift.weak, ptr }, ptr %0, i32 0, i32 0 + // CHECK: [[SRC_REF_ADDR:%.*]] = getelementptr inbounds{{.*}} { %swift.weak, ptr }, ptr %0, i32 0, i32 0 // CHECK: [[DEST_REF:%.*]] = call ptr @swift_weakLoadStrong(ptr [[SRC_REF_ADDR]]) - // CHECK: [[SRC_WITNESS_ADDR:%.*]] = getelementptr inbounds { %swift.weak, ptr }, ptr %0, i32 0, i32 1 + // CHECK: [[SRC_WITNESS_ADDR:%.*]] = getelementptr inbounds{{.*}} { %swift.weak, ptr }, ptr %0, i32 0, i32 1 // CHECK: [[DEST_WITNESS:%.*]] = load ptr, ptr [[SRC_WITNESS_ADDR]] %c = load_weak %w : $*@sil_weak CP? diff --git a/test/IRGen/existentials_objc.sil b/test/IRGen/existentials_objc.sil index 35bb3b5813f8b..dc3be933dd6a3 100644 --- a/test/IRGen/existentials_objc.sil +++ b/test/IRGen/existentials_objc.sil @@ -23,10 +23,10 @@ bb0(%0 : $*Any, %1 : $T): } // CHECK-DAG: define{{( protected)?}} swiftcc void @init_opaque_existential(ptr noalias nocapture sret({{.*}}) %0, ptr %1, ptr %T) {{.*}} { -// CHECK: [[T0:%.*]] = getelementptr inbounds [[ANY:%Any]], ptr %0, i32 0, i32 1 +// CHECK: [[T0:%.*]] = getelementptr inbounds{{.*}} [[ANY:%Any]], ptr %0, i32 0, i32 1 // CHECK-NEXT: store ptr %T, ptr [[T0]], align 8 -// CHECK-NEXT: [[T0:%.*]] = getelementptr inbounds [[ANY]], ptr %0, i32 0, i32 0 -// CHECK-NEXT: [[T0:%.*]] = getelementptr inbounds [[ANY]], ptr %0, i32 0, i32 0 +// CHECK-NEXT: [[T0:%.*]] = getelementptr inbounds{{.*}} [[ANY]], ptr %0, i32 0, i32 0 +// CHECK-NEXT: [[T0:%.*]] = getelementptr inbounds{{.*}} [[ANY]], ptr %0, i32 0, i32 0 // CHECK-NEXT: store ptr %1, ptr [[T0]], align 8 // CHECK-NEXT: ret void @@ -68,12 +68,12 @@ entry(%s : $CP): // CHECK: [[U2:%.*]] = alloca [[UREF]], align 8 store_unowned %s to [init] %u1 : $*@sil_unowned CP - // CHECK: [[T0:%.*]] = getelementptr inbounds [[UREF]], ptr [[U1]], i32 0, i32 1 + // CHECK: [[T0:%.*]] = getelementptr inbounds{{.*}} [[UREF]], ptr [[U1]], i32 0, i32 1 // CHECK: store ptr %1, ptr [[T0]], align 8 - // CHECK: [[T0:%.*]] = getelementptr inbounds [[UREF]], ptr [[U1]], i32 0, i32 0 + // CHECK: [[T0:%.*]] = getelementptr inbounds{{.*}} [[UREF]], ptr [[U1]], i32 0, i32 0 // CHECK: call ptr @swift_unknownObjectUnownedInit(ptr returned [[T0]], ptr %0) - // CHECK: [[T0:%.*]] = getelementptr inbounds [[UREF]], ptr [[U1]], i32 0, i32 0 + // CHECK: [[T0:%.*]] = getelementptr inbounds{{.*}} [[UREF]], ptr [[U1]], i32 0, i32 0 // CHECK: [[T1:%.*]] = call ptr @swift_unknownObjectUnownedLoadStrong(ptr [[T0]]) %t = load_unowned %u1 : $*@sil_unowned CP // CHECK: call void @swift_unknownObjectRelease(ptr [[T1]]) @@ -105,29 +105,29 @@ entry(%w : $*@sil_weak CP?, %a : $CP?): // CHECK: [[SRC_REF:%.*]] = inttoptr {{.*}} ptr // CHECK: [[SRC_WITNESS:%.*]] = inttoptr {{.*}} ptr - // CHECK: [[DEST_WITNESS_ADDR:%.*]] = getelementptr inbounds { %swift.weak, ptr }, ptr %0, i32 0, i32 1 + // CHECK: [[DEST_WITNESS_ADDR:%.*]] = getelementptr inbounds{{.*}} { %swift.weak, ptr }, ptr %0, i32 0, i32 1 // CHECK: store ptr [[SRC_WITNESS]], ptr [[DEST_WITNESS_ADDR]] - // CHECK: [[DEST_REF_ADDR:%.*]] = getelementptr inbounds { %swift.weak, ptr }, ptr %0, i32 0, i32 0 + // CHECK: [[DEST_REF_ADDR:%.*]] = getelementptr inbounds{{.*}} { %swift.weak, ptr }, ptr %0, i32 0, i32 0 // CHECK: call ptr @swift_unknownObjectWeakInit(ptr returned [[DEST_REF_ADDR]], ptr [[SRC_REF]]) store_weak %a to [init] %w : $*@sil_weak CP? // CHECK: [[SRC_REF:%.*]] = inttoptr {{.*}} ptr // CHECK: [[SRC_WITNESS:%.*]] = inttoptr {{.*}} ptr - // CHECK: [[DEST_WITNESS_ADDR:%.*]] = getelementptr inbounds { %swift.weak, ptr }, ptr %0, i32 0, i32 1 + // CHECK: [[DEST_WITNESS_ADDR:%.*]] = getelementptr inbounds{{.*}} { %swift.weak, ptr }, ptr %0, i32 0, i32 1 // CHECK: store ptr [[SRC_WITNESS]], ptr [[DEST_WITNESS_ADDR]] - // CHECK: [[DEST_REF_ADDR:%.*]] = getelementptr inbounds { %swift.weak, ptr }, ptr %0, i32 0, i32 0 + // CHECK: [[DEST_REF_ADDR:%.*]] = getelementptr inbounds{{.*}} { %swift.weak, ptr }, ptr %0, i32 0, i32 0 // CHECK: call ptr @swift_unknownObjectWeakAssign(ptr returned [[DEST_REF_ADDR]], ptr [[SRC_REF]]) store_weak %a to %w : $*@sil_weak CP? - // CHECK: [[SRC_REF_ADDR:%.*]] = getelementptr inbounds { %swift.weak, ptr }, ptr %0, i32 0, i32 0 + // CHECK: [[SRC_REF_ADDR:%.*]] = getelementptr inbounds{{.*}} { %swift.weak, ptr }, ptr %0, i32 0, i32 0 // CHECK: [[DEST_REF:%.*]] = call ptr @swift_unknownObjectWeakTakeStrong(ptr [[SRC_REF_ADDR]]) - // CHECK: [[SRC_WITNESS_ADDR:%.*]] = getelementptr inbounds { %swift.weak, ptr }, ptr %0, i32 0, i32 1 + // CHECK: [[SRC_WITNESS_ADDR:%.*]] = getelementptr inbounds{{.*}} { %swift.weak, ptr }, ptr %0, i32 0, i32 1 // CHECK: [[DEST_WITNESS:%.*]] = load ptr, ptr [[SRC_WITNESS_ADDR]] %b = load_weak [take] %w : $*@sil_weak CP? - // CHECK: [[SRC_REF_ADDR:%.*]] = getelementptr inbounds { %swift.weak, ptr }, ptr %0, i32 0, i32 0 + // CHECK: [[SRC_REF_ADDR:%.*]] = getelementptr inbounds{{.*}} { %swift.weak, ptr }, ptr %0, i32 0, i32 0 // CHECK: [[DEST_REF:%.*]] = call ptr @swift_unknownObjectWeakLoadStrong(ptr [[SRC_REF_ADDR]]) - // CHECK: [[SRC_WITNESS_ADDR:%.*]] = getelementptr inbounds { %swift.weak, ptr }, ptr %0, i32 0, i32 1 + // CHECK: [[SRC_WITNESS_ADDR:%.*]] = getelementptr inbounds{{.*}} { %swift.weak, ptr }, ptr %0, i32 0, i32 1 // CHECK: [[DEST_WITNESS:%.*]] = load ptr, ptr [[SRC_WITNESS_ADDR]] %c = load_weak %w : $*@sil_weak CP? diff --git a/test/IRGen/existentials_opaque_boxed.sil b/test/IRGen/existentials_opaque_boxed.sil index 1315c54be3722..044b906b96f0b 100644 --- a/test/IRGen/existentials_opaque_boxed.sil +++ b/test/IRGen/existentials_opaque_boxed.sil @@ -46,18 +46,18 @@ entry(%0 : $*T): } // CHECK-LABEL: define{{( dllexport)?}}{{( protected)?}} linkonce_odr hidden ptr @__swift_allocate_boxed_opaque_existential_1(ptr %0) -// CHECK: [[METATYPE_ADDR:%.*]] = getelementptr inbounds %__opaque_existential_type_1, ptr %0, i32 0, i32 1 +// CHECK: [[METATYPE_ADDR:%.*]] = getelementptr inbounds{{.*}} %__opaque_existential_type_1, ptr %0, i32 0, i32 1 // CHECK: [[METATYPE:%.*]] = load ptr, ptr [[METATYPE_ADDR]] // CHECK: [[VWT_ADDR:%.*]] = getelementptr inbounds ptr, ptr [[METATYPE]], {{(i64|i32)}} -1 // CHECK: [[VWT:%.*]] = load ptr, ptr [[VWT_ADDR]] // CHECK-arm64e-NEXT: ptrtoint ptr [[VWT_ADDR]] to i64 // CHECK-arm64e-NEXT: call i64 @llvm.ptrauth.blend // CHECK-arm64e: [[VWT:%.*]] = inttoptr i64 {{%.*}} to ptr -// CHECK: [[FLAGS_ADDR:%.*]] = getelementptr inbounds %swift.vwtable, ptr [[VWT]], i32 0, i32 10 +// CHECK: [[FLAGS_ADDR:%.*]] = getelementptr inbounds{{.*}} %swift.vwtable, ptr [[VWT]], i32 0, i32 10 // CHECK: [[FLAGS:%.*]] = load i32, ptr [[FLAGS_ADDR]] // CHECK: [[ISNOTINLINE:%.*]] = and i32 [[FLAGS]], 131072 // CHECK: [[ISINLINE:%.*]] = icmp eq i32 [[ISNOTINLINE]], 0 -// CHECK: [[EXISTENTIAL_BUFFER:%.*]] = getelementptr inbounds %__opaque_existential_type_1, ptr %0, i32 0, i32 0 +// CHECK: [[EXISTENTIAL_BUFFER:%.*]] = getelementptr inbounds{{.*}} %__opaque_existential_type_1, ptr %0, i32 0, i32 0 // CHECK: br i1 [[ISINLINE]], label %done, label %allocateBox // // CHECK:done: @@ -79,8 +79,8 @@ entry(%0 : $*T): // CHECK-LABEL: define {{.*}} @test_init_existential_fixed // CHECK: [[CONTAINER:%.*]] = alloca %T25existentials_opaque_boxed11ExistentialP // The first inline buffer reference is from the emitOpaqueExistentialContainerInit call. -// CHECK: [[INLINEBUFFER:%.*]] = getelementptr inbounds %T25existentials_opaque_boxed11ExistentialP, ptr [[CONTAINER]], i32 0, i32 0 -// CHECK: [[INLINEBUFFER:%.*]] = getelementptr inbounds %T25existentials_opaque_boxed11ExistentialP, ptr [[CONTAINER]], i32 0, i32 0 +// CHECK: [[INLINEBUFFER:%.*]] = getelementptr inbounds{{.*}} %T25existentials_opaque_boxed11ExistentialP, ptr [[CONTAINER]], i32 0, i32 0 +// CHECK: [[INLINEBUFFER:%.*]] = getelementptr inbounds{{.*}} %T25existentials_opaque_boxed11ExistentialP, ptr [[CONTAINER]], i32 0, i32 0 sil @test_init_existential_fixed : $@convention(thin) () -> () { entry: %exist_container = alloc_stack $Existential @@ -101,10 +101,10 @@ entry: // CHECK-LABEL: define {{.*}} @test_init_existential_fixed_not_inline() // CHECK: [[CONTAINER:%.*]] = alloca %T25existentials_opaque_boxed11ExistentialP -// CHECK: [[INLINEBUFFER:%.*]] = getelementptr inbounds %T25existentials_opaque_boxed11ExistentialP, ptr [[CONTAINER]], i32 0, i32 0 -// CHECK: [[INLINEBUFFER:%.*]] = getelementptr inbounds %T25existentials_opaque_boxed11ExistentialP, ptr [[CONTAINER]], i32 0, i32 0 +// CHECK: [[INLINEBUFFER:%.*]] = getelementptr inbounds{{.*}} %T25existentials_opaque_boxed11ExistentialP, ptr [[CONTAINER]], i32 0, i32 0 +// CHECK: [[INLINEBUFFER:%.*]] = getelementptr inbounds{{.*}} %T25existentials_opaque_boxed11ExistentialP, ptr [[CONTAINER]], i32 0, i32 0 // CHECK: [[BOX:%.*]] = call noalias ptr @swift_allocObject(ptr getelementptr inbounds (%swift.full_boxmetadata, ptr @metadata, i32 0, i32 2), {{(i64 48|i32 40)}}, {{(i64|i32)}} 7) -// CHECK: [[VALUE_ADDR:%.*]] = getelementptr inbounds <{ %swift.refcounted{{(, \[4 x i8\])?}}, [32 x i8] }>, ptr [[BOX]], i32 0, i32 {{(1|2)}} +// CHECK: [[VALUE_ADDR:%.*]] = getelementptr inbounds{{.*}} <{ %swift.refcounted{{(, \[4 x i8\])?}}, [32 x i8] }>, ptr [[BOX]], i32 0, i32 {{(1|2)}} // CHECK: store ptr [[BOX]], ptr [[INLINEBUFFER]] // CHECK: ret void sil @test_init_existential_fixed_not_inline : $@convention(thin) () -> () { @@ -148,14 +148,14 @@ entry: } // CHECK-LABEL: define{{( dllexport)?}}{{( protected)?}} linkonce_odr hidden void @__swift_deallocate_boxed_opaque_existential_1(ptr %0) -// CHECK: [[META_ADDR:%.*]] = getelementptr inbounds %__opaque_existential_type_1, ptr %0, i32 0, i32 1 +// CHECK: [[META_ADDR:%.*]] = getelementptr inbounds{{.*}} %__opaque_existential_type_1, ptr %0, i32 0, i32 1 // CHECK: [[META:%.*]] = load ptr, ptr [[META_ADDR]] // CHECK: [[VWT_ADDR:%.*]] = getelementptr inbounds ptr, ptr %2, {{(i64|i32)}} -1 // CHECK: [[VWT:%.*]] = load ptr, ptr [[VWT_ADDR]] // CHECK-arm64e-NEXT: ptrtoint ptr [[VWT_ADDR]] to i64 // CHECK-arm64e-NEXT: call i64 @llvm.ptrauth.blend // CHECK-arm64e: [[VWT:%.*]] = inttoptr i64 {{%.*}} to ptr -// CHECK: [[FLAGS_ADDR:%.*]] = getelementptr inbounds %swift.vwtable, ptr [[VWT]], i32 0, i32 10 +// CHECK: [[FLAGS_ADDR:%.*]] = getelementptr inbounds{{.*}} %swift.vwtable, ptr [[VWT]], i32 0, i32 10 // CHECK: [[FLAGS:%.*]] = load i32, ptr [[FLAGS_ADDR]] // CHECK: [[ISNOTINLINE:%.*]] = and i32 [[FLAGS]], 131072 // CHECK: [[ISINLINE:%.*]] = icmp eq i32 [[ISNOTINLINE]], 0 @@ -165,14 +165,14 @@ entry: // CHECK: ret void // CHECK: deallocateBox: -// CHECK: [[BUFFER:%.*]] = getelementptr inbounds %__opaque_existential_type_1, ptr %0, i32 0, i32 0 +// CHECK: [[BUFFER:%.*]] = getelementptr inbounds{{.*}} %__opaque_existential_type_1, ptr %0, i32 0, i32 0 // CHECK: [[REFERENCE:%.*]] = load ptr, ptr [[BUFFER]] // CHECK: [[VWT_ADDR2:%.*]] = getelementptr inbounds ptr, ptr [[META]], {{(i64|i32)}} -1 // CHECK: [[VWT2:%.*]] = load ptr, ptr [[VWT_ADDR2]] // CHECK-arm64e-NEXT: ptrtoint ptr [[VWT_ADDR2]] to i64 // CHECK-arm64e-NEXT: call i64 @llvm.ptrauth.blend // CHECK-arm64e: [[VWT2:%.*]] = inttoptr i64 {{%.*}} to ptr -// CHECK: [[SIZE2_ADDR:%.*]] = getelementptr inbounds %swift.vwtable, ptr [[VWT2]], i32 0, i32 8 +// CHECK: [[SIZE2_ADDR:%.*]] = getelementptr inbounds{{.*}} %swift.vwtable, ptr [[VWT2]], i32 0, i32 8 // CHECK: [[SIZE:%.*]] = load [[INT]], ptr [[SIZE2_ADDR]] // CHECK-64:[[T0:%.*]] = zext i32 [[FLAGS]] to i64 // CHECK-64:[[ALIGNMASK:%.*]] = and i64 [[T0]], 255 @@ -188,9 +188,9 @@ entry: // CHECK: ret void // CHECK-LABEL: define {{.*}} @test_open_existential_addr_immutable(ptr -// CHECK: [[META_ADDR:%.*]] = getelementptr inbounds %T25existentials_opaque_boxed11ExistentialP, ptr %0, i32 0, i32 1 +// CHECK: [[META_ADDR:%.*]] = getelementptr inbounds{{.*}} %T25existentials_opaque_boxed11ExistentialP, ptr %0, i32 0, i32 1 // CHECK: [[METATYPE:%.*]] = load ptr, ptr [[META_ADDR]] -// CHECK: [[VWT_ADDR:%.*]] = getelementptr inbounds %T25existentials_opaque_boxed11ExistentialP, ptr %0, i32 0, i32 2 +// CHECK: [[VWT_ADDR:%.*]] = getelementptr inbounds{{.*}} %T25existentials_opaque_boxed11ExistentialP, ptr %0, i32 0, i32 2 // CHECK: [[VWT:%.*]] = load ptr, ptr [[VWT_ADDR]] // CHECK: [[VALUE_ADDR:%.*]] = call ptr @__swift_project_boxed_opaque_existential_1(ptr %0, ptr [[METATYPE]]) // CHECK: ret void @@ -207,7 +207,7 @@ bb0(%0 : $*Existential): // CHECK-arm64e-NEXT: ptrtoint ptr [[VWT_ADDR]] to i64 // CHECK-arm64e-NEXT: call i64 @llvm.ptrauth.blend // CHECK-arm64e: [[VWT:%.*]] = inttoptr i64 {{%.*}} to ptr -// CHECK: [[FLAGS_ADDR:%.*]] = getelementptr inbounds %swift.vwtable, ptr [[VWT]], i32 0, i32 10 +// CHECK: [[FLAGS_ADDR:%.*]] = getelementptr inbounds{{.*}} %swift.vwtable, ptr [[VWT]], i32 0, i32 10 // CHECK: [[FLAGS:%.*]] = load i32, ptr [[FLAGS_ADDR]] // CHECK: [[ISNOTINLINE:%.*]] = and i32 [[FLAGS]], 131072 // CHECK: [[ISINLINE:%.*]] = icmp eq i32 [[ISNOTINLINE]], 0 @@ -231,9 +231,9 @@ bb0(%0 : $*Existential): // CHECK-LABEL: define{{( dllexport)?}}{{( protected)?}} {{.*}} @test_open_existential_addr_mutable -// CHECK: [[META_ADDR:%.*]] = getelementptr inbounds %T25existentials_opaque_boxed11ExistentialP, ptr %0, i32 0, i32 1 +// CHECK: [[META_ADDR:%.*]] = getelementptr inbounds{{.*}} %T25existentials_opaque_boxed11ExistentialP, ptr %0, i32 0, i32 1 // CHECK: [[METATYPE:%.*]] = load ptr, ptr [[META_ADDR]] -// CHECK: [[VWT_ADDR:%.*]] = getelementptr inbounds %T25existentials_opaque_boxed11ExistentialP, ptr %0, i32 0, i32 2 +// CHECK: [[VWT_ADDR:%.*]] = getelementptr inbounds{{.*}} %T25existentials_opaque_boxed11ExistentialP, ptr %0, i32 0, i32 2 // CHECK: [[VWT:%.*]] = load ptr, ptr [[VWT_ADDR]] // CHECK: [[VALUE_ADDR:%.*]] = call ptr @__swift_mutable_project_boxed_opaque_existential_1(ptr %0, ptr [[METATYPE]]) // CHECK: ret void @@ -250,7 +250,7 @@ bb0(%0 : $*Existential): // CHECK-arm64e-NEXT: ptrtoint ptr [[VWT_ADDR]] to i64 // CHECK-arm64e-NEXT: call i64 @llvm.ptrauth.blend // CHECK-arm64e: [[VWT:%.*]] = inttoptr i64 {{%.*}} to ptr -// CHECK: [[FLAGS_ADDR:%.*]] = getelementptr inbounds %swift.vwtable, ptr [[VWT]], i32 0, i32 10 +// CHECK: [[FLAGS_ADDR:%.*]] = getelementptr inbounds{{.*}} %swift.vwtable, ptr [[VWT]], i32 0, i32 10 // CHECK: [[FLAGS:%.*]] = load i32, ptr [[FLAGS_ADDR]] // CHECK: [[ISNOTINLINE:%.*]] = and i32 [[FLAGS]], 131072 // CHECK: [[ISINLINE:%.*]] = icmp eq i32 [[ISNOTINLINE]], 0 @@ -290,15 +290,15 @@ bb0(%0 : $*OtherExistential): } // CHECK-LABEL: define{{( dllexport)?}}{{( protected)?}} linkonce_odr hidden void @__swift_destroy_boxed_opaque_existential_1(ptr %0) -// CHECK: [[METADATA_ADDR:%.*]] = getelementptr inbounds %__opaque_existential_type_1, ptr %0, i32 0, i32 1 +// CHECK: [[METADATA_ADDR:%.*]] = getelementptr inbounds{{.*}} %__opaque_existential_type_1, ptr %0, i32 0, i32 1 // CHECK: [[METADATA:%.*]] = load ptr, ptr [[METADATA_ADDR]] -// CHECK: [[BUFFER_ADDR:%.*]] = getelementptr inbounds %__opaque_existential_type_1, ptr %0, i32 0, i32 0 +// CHECK: [[BUFFER_ADDR:%.*]] = getelementptr inbounds{{.*}} %__opaque_existential_type_1, ptr %0, i32 0, i32 0 // CHECK: [[VWT_ADDR:%.*]] = getelementptr inbounds ptr, ptr [[METADATA]], {{(i64|i32)}} -1 // CHECK: [[VWT:%.*]] = load ptr, ptr [[VWT_ADDR]] // CHECK-arm64e-NEXT: ptrtoint ptr [[VWT_ADDR]] to i64 // CHECK-arm64e-NEXT: call i64 @llvm.ptrauth.blend // CHECK-arm64e: [[VWT:%.*]] = inttoptr i64 {{%.*}} to ptr -// CHECK: [[FLAGS_ADDR:%.*]] = getelementptr inbounds %swift.vwtable, ptr [[VWT]], i32 0, i32 10 +// CHECK: [[FLAGS_ADDR:%.*]] = getelementptr inbounds{{.*}} %swift.vwtable, ptr [[VWT]], i32 0, i32 10 // CHECK: [[FLAGS:%.*]] = load i32, ptr [[FLAGS_ADDR]] // CHECK: [[ISNOTINLINE:%.*]] = and i32 [[FLAGS]], 131072 // CHECK: [[ISINLINE:%.*]] = icmp eq i32 [[ISNOTINLINE]], 0 @@ -349,11 +349,11 @@ bb0(%0 : $*OtherExistential): // CHECK: br i1 [[SELFASSIGN]], label %done, label %cont // // CHECK: cont: -// CHECK: [[DEST_BUFFERADDR:%.*]] = getelementptr inbounds %__opaque_existential_type_1, ptr %0, i32 0, i32 0 -// CHECK: [[SRC_BUFFERADDR:%.*]] = getelementptr inbounds %__opaque_existential_type_1, ptr %1, i32 0, i32 0 -// CHECK: [[DEST_TYPEADDR:%.*]] = getelementptr inbounds %__opaque_existential_type_1, ptr %0, i32 0, i32 1 +// CHECK: [[DEST_BUFFERADDR:%.*]] = getelementptr inbounds{{.*}} %__opaque_existential_type_1, ptr %0, i32 0, i32 0 +// CHECK: [[SRC_BUFFERADDR:%.*]] = getelementptr inbounds{{.*}} %__opaque_existential_type_1, ptr %1, i32 0, i32 0 +// CHECK: [[DEST_TYPEADDR:%.*]] = getelementptr inbounds{{.*}} %__opaque_existential_type_1, ptr %0, i32 0, i32 1 // CHECK: [[DEST_TYPE:%.*]] = load ptr, ptr [[DEST_TYPEADDR]] -// CHECK: [[SRC_TYPEADDR:%.*]] = getelementptr inbounds %__opaque_existential_type_1, ptr %1, i32 0, i32 1 +// CHECK: [[SRC_TYPEADDR:%.*]] = getelementptr inbounds{{.*}} %__opaque_existential_type_1, ptr %1, i32 0, i32 1 // CHECK: [[SRC_TYPE:%.*]] = load ptr, ptr [[SRC_TYPEADDR]] // CHECK: [[ISSAME:%.*]] = icmp eq ptr [[DEST_TYPE]], [[SRC_TYPE]] // CHECK: br i1 [[ISSAME]], label %match, label %no-match @@ -364,7 +364,7 @@ bb0(%0 : $*OtherExistential): // CHECK-arm64e-NEXT: ptrtoint ptr [[VWT_ADDR]] to i64 // CHECK-arm64e-NEXT: call i64 @llvm.ptrauth.blend // CHECK-arm64e: [[VWT:%.*]] = inttoptr i64 {{%.*}} to ptr -// CHECK: [[FLAGS_ADDR:%.*]] = getelementptr inbounds %swift.vwtable, ptr [[VWT]], i32 0, i32 10 +// CHECK: [[FLAGS_ADDR:%.*]] = getelementptr inbounds{{.*}} %swift.vwtable, ptr [[VWT]], i32 0, i32 10 // CHECK: [[FLAGS:%.*]] = load i32, ptr [[FLAGS_ADDR]] // CHECK: [[ISNOTINLINE:%.*]] = and i32 [[FLAGS]], 131072 // CHECK: [[ISINLINE:%.*]] = icmp eq i32 [[ISNOTINLINE]], 0 @@ -391,8 +391,8 @@ bb0(%0 : $*OtherExistential): // CHECK: no-match: // CHECK: store ptr [[SRC_TYPE]], ptr [[DEST_TYPEADDR]] -// CHECK: [[DEST_PWT_ADDR:%.*]] = getelementptr inbounds %__opaque_existential_type_1, ptr %0, i32 0, i32 2 -// CHECK: [[SRC_PWT_ADDR:%.*]] = getelementptr inbounds %__opaque_existential_type_1, ptr %1, i32 0, i32 2 +// CHECK: [[DEST_PWT_ADDR:%.*]] = getelementptr inbounds{{.*}} %__opaque_existential_type_1, ptr %0, i32 0, i32 2 +// CHECK: [[SRC_PWT_ADDR:%.*]] = getelementptr inbounds{{.*}} %__opaque_existential_type_1, ptr %1, i32 0, i32 2 // CHECK: [[SRC_PTW:%.*]] = load ptr, ptr [[SRC_PWT_ADDR]] // CHECK: store ptr [[SRC_PTW]], ptr [[DEST_PWT_ADDR]] // CHECK: [[DEST_VWT_ADDR:%.*]] = getelementptr inbounds ptr, ptr [[DEST_TYPE]], {{(i64|i32)}} -1 @@ -400,7 +400,7 @@ bb0(%0 : $*OtherExistential): // CHECK-arm64e-NEXT: ptrtoint ptr [[DEST_VWT_ADDR]] to i64 // CHECK-arm64e-NEXT: call i64 @llvm.ptrauth.blend // CHECK-arm64e: [[DEST_VWT:%.*]] = inttoptr i64 {{%.*}} to ptr -// CHECK: [[DEST_FLAGS_ADDR:%.*]] = getelementptr inbounds %swift.vwtable, ptr [[DEST_VWT]], i32 0, i32 10 +// CHECK: [[DEST_FLAGS_ADDR:%.*]] = getelementptr inbounds{{.*}} %swift.vwtable, ptr [[DEST_VWT]], i32 0, i32 10 // CHECK: [[DEST_FLAGS:%.*]] = load i32, ptr [[DEST_FLAGS_ADDR]] // CHECK: [[DEST_ISNOTINLINE:%.*]] = and i32 [[DEST_FLAGS]], 131072 // CHECK: [[DEST_ISINLINE:%.*]] = icmp eq i32 [[DEST_ISNOTINLINE]], 0 @@ -409,7 +409,7 @@ bb0(%0 : $*OtherExistential): // CHECK-arm64e-NEXT: ptrtoint ptr [[SRC_VWT_ADDR]] to i64 // CHECK-arm64e-NEXT: call i64 @llvm.ptrauth.blend // CHECK-arm64e: [[SRC_VWT:%.*]] = inttoptr i64 {{%.*}} to ptr -// CHECK: [[SRC_FLAGS_ADDR:%.*]] = getelementptr inbounds %swift.vwtable, ptr [[SRC_VWT]], i32 0, i32 10 +// CHECK: [[SRC_FLAGS_ADDR:%.*]] = getelementptr inbounds{{.*}} %swift.vwtable, ptr [[SRC_VWT]], i32 0, i32 10 // CHECK: [[SRC_FLAGS:%.*]] = load i32, ptr [[SRC_FLAGS_ADDR]] // CHECK: [[SRC_ISNOTINLINE:%.*]] = and i32 [[SRC_FLAGS]], 131072 // CHECK: [[SRC_ISINLINE:%.*]] = icmp eq i32 [[SRC_ISNOTINLINE]], 0 @@ -536,16 +536,16 @@ bb0(%0 : $*OtherExistential): // CHECK: call ptr @"$s25existentials_opaque_boxed11Existential_pWOc"(ptr %0, ptr [[LOCAL]]) // CHECK: ret void // CHECK-LABEL: define linkonce_odr hidden ptr @"$s25existentials_opaque_boxed11Existential_pWOc"(ptr %0, ptr %1) -// CHECK: [[TYPE_ADDR:%.*]] = getelementptr inbounds %T25existentials_opaque_boxed11ExistentialP, ptr %0, i32 0, i32 1 +// CHECK: [[TYPE_ADDR:%.*]] = getelementptr inbounds{{.*}} %T25existentials_opaque_boxed11ExistentialP, ptr %0, i32 0, i32 1 // CHECK: [[ARG_TYPE:%.*]] = load ptr, ptr [[TYPE_ADDR]] -// CHECK: [[LOCAL_TYPE_ADDR:%.*]] = getelementptr inbounds %T25existentials_opaque_boxed11ExistentialP, ptr %1, i32 0, i32 1 +// CHECK: [[LOCAL_TYPE_ADDR:%.*]] = getelementptr inbounds{{.*}} %T25existentials_opaque_boxed11ExistentialP, ptr %1, i32 0, i32 1 // CHECK: store ptr [[ARG_TYPE]], ptr [[LOCAL_TYPE_ADDR]] -// CHECK: [[PWT_ADDR:%.*]] = getelementptr inbounds %T25existentials_opaque_boxed11ExistentialP, ptr %0, i32 0, i32 2 +// CHECK: [[PWT_ADDR:%.*]] = getelementptr inbounds{{.*}} %T25existentials_opaque_boxed11ExistentialP, ptr %0, i32 0, i32 2 // CHECK: [[PWT:%.*]] = load ptr, ptr [[PWT_ADDR]] -// CHECK: [[LOCAL_PWT_ADDR:%.*]] = getelementptr inbounds %T25existentials_opaque_boxed11ExistentialP, ptr %1, i32 0, i32 2 +// CHECK: [[LOCAL_PWT_ADDR:%.*]] = getelementptr inbounds{{.*}} %T25existentials_opaque_boxed11ExistentialP, ptr %1, i32 0, i32 2 // CHECK: store ptr [[PWT]], ptr [[LOCAL_PWT_ADDR]] -// CHECK: [[BUFFER_ARG_ADDR:%.*]] = getelementptr inbounds %T25existentials_opaque_boxed11ExistentialP, ptr %0, i32 0, i32 0 -// CHECK: [[BUFFER_LOCAL_ADDR:%.*]] = getelementptr inbounds %T25existentials_opaque_boxed11ExistentialP, ptr %1, i32 0, i32 0 +// CHECK: [[BUFFER_ARG_ADDR:%.*]] = getelementptr inbounds{{.*}} %T25existentials_opaque_boxed11ExistentialP, ptr %0, i32 0, i32 0 +// CHECK: [[BUFFER_LOCAL_ADDR:%.*]] = getelementptr inbounds{{.*}} %T25existentials_opaque_boxed11ExistentialP, ptr %1, i32 0, i32 0 // CHECK: [[VWT_ADDR:%.*]] = getelementptr inbounds ptr, ptr [[ARG_TYPE]], {{(i64|i32)}} -1 // CHECK: [[VWT:%.*]] = load ptr, ptr [[VWT_ADDR]] // CHECK-arm64e-NEXT: ptrtoint ptr [[VWT_ADDR]] to i64 @@ -581,8 +581,8 @@ struct FixedOveralign : Existential { // CHECK-LABEL: define {{.*}} @test_init_existential_fixed_align_not_inline() // CHECK: [[CONTAINER:%.*]] = alloca %T25existentials_opaque_boxed11ExistentialP -// CHECK: [[INLINEBUFFER:%.*]] = getelementptr inbounds %T25existentials_opaque_boxed11ExistentialP, ptr [[CONTAINER]], i32 0, i32 0 -// CHECK: [[INLINEBUFFER:%.*]] = getelementptr inbounds %T25existentials_opaque_boxed11ExistentialP, ptr [[CONTAINER]], i32 0, i32 0 +// CHECK: [[INLINEBUFFER:%.*]] = getelementptr inbounds{{.*}} %T25existentials_opaque_boxed11ExistentialP, ptr [[CONTAINER]], i32 0, i32 0 +// CHECK: [[INLINEBUFFER:%.*]] = getelementptr inbounds{{.*}} %T25existentials_opaque_boxed11ExistentialP, ptr [[CONTAINER]], i32 0, i32 0 // CHECK: [[BOX:%.*]] = call noalias ptr @swift_allocObject(ptr getelementptr inbounds (%swift.full_boxmetadata, ptr @metadata.4, i32 0, i32 2), {{(i64|i32)}} 32, {{(i64|i32)}} 15) // CHECK: [[VALUE_ADDR:%.*]] = getelementptr inbounds {{.*}}, ptr [[BOX]], i32 0, i32 {{(1|2)}} // CHECK: store ptr [[BOX]], ptr [[INLINEBUFFER]] diff --git a/test/IRGen/fixed_layout_class.swift b/test/IRGen/fixed_layout_class.swift index 202dc9e4af623..294188e8595f4 100644 --- a/test/IRGen/fixed_layout_class.swift +++ b/test/IRGen/fixed_layout_class.swift @@ -12,7 +12,7 @@ import fixed_layout_class // CHECK-LABEL: define{{( dllexport)?}}{{( protected)?}} swiftcc void @"$s16class_resilience20useRootClassPropertyyy013fixed_layout_A0026OutsideParentWithResilientF0CF"(ptr %0) public func useRootClassProperty(_ o: OutsideParentWithResilientProperty) { - // CHECK: getelementptr inbounds %T18fixed_layout_class34OutsideParentWithResilientPropertyC, ptr %0, i32 0, i32 1 + // CHECK: getelementptr inbounds{{.*}} %T18fixed_layout_class34OutsideParentWithResilientPropertyC, ptr %0, i32 0, i32 1 let a = o.p // CHECK: load [[INT]], ptr @"$s18fixed_layout_class34OutsideParentWithResilientPropertyC1s16resilient_struct4SizeVvpWvd" let b = o.s @@ -23,9 +23,9 @@ public func useRootClassProperty(_ o: OutsideParentWithResilientProperty) { // CHECK-LABEL: define{{( dllexport)?}}{{( protected)?}} swiftcc void @"$s16class_resilience19useSubclassPropertyyy013fixed_layout_A012OutsideChildCF"(ptr %0) public func useSubclassProperty(_ o: OutsideChild) { - // CHECK: getelementptr inbounds %T18fixed_layout_class13OutsideParentC, ptr {{%[0-9]+}}, i32 0, i32 1 + // CHECK: getelementptr inbounds{{.*}} %T18fixed_layout_class13OutsideParentC, ptr {{%[0-9]+}}, i32 0, i32 1 let a = o.property - // CHECK: getelementptr inbounds %T18fixed_layout_class12OutsideChildC, ptr %0, i32 0, i32 2 + // CHECK: getelementptr inbounds{{.*}} %T18fixed_layout_class12OutsideChildC, ptr %0, i32 0, i32 2 let b = o.childProperty // CHECK: ret void } @@ -51,7 +51,7 @@ public func useGenericRootClassProperty(_ o: GenericOutsideParent) { // CHECK-LABEL: define{{( dllexport)?}}{{( protected)?}} swiftcc void @"$s16class_resilience27useGenericRootClassPropertyyy013fixed_layout_A00D13OutsideParentCySiGF"(ptr %0) public func useGenericRootClassProperty(_ o: GenericOutsideParent) { - // CHECK: getelementptr inbounds %T18fixed_layout_class20GenericOutsideParentCySiG, ptr %0, i32 0, i32 1 + // CHECK: getelementptr inbounds{{.*}} %T18fixed_layout_class20GenericOutsideParentCySiG, ptr %0, i32 0, i32 1 let a = o.property // CHECK: ret void @@ -87,10 +87,10 @@ public func useGenericSubclassProperty(_ o: GenericOutsideChild) { // CHECK-LABEL: define{{( dllexport)?}}{{( protected)?}} swiftcc void @"$s16class_resilience26useGenericSubclassPropertyyy013fixed_layout_A00D12OutsideChildCySiGF"(ptr %0) public func useGenericSubclassProperty(_ o: GenericOutsideChild) { - // CHECK: getelementptr inbounds %T18fixed_layout_class20GenericOutsideParentCySiG, ptr %0, i32 0, i32 1 + // CHECK: getelementptr inbounds{{.*}} %T18fixed_layout_class20GenericOutsideParentCySiG, ptr %0, i32 0, i32 1 let a = o.property - // CHECK: getelementptr inbounds %T18fixed_layout_class19GenericOutsideChildCySiG, ptr %0, i32 0, i32 2 + // CHECK: getelementptr inbounds{{.*}} %T18fixed_layout_class19GenericOutsideChildCySiG, ptr %0, i32 0, i32 2 let b = o.childProperty // CHECK: ret void diff --git a/test/IRGen/fixed_size_buffer_peepholes.sil b/test/IRGen/fixed_size_buffer_peepholes.sil index d155865530ac2..378f5c92032d2 100644 --- a/test/IRGen/fixed_size_buffer_peepholes.sil +++ b/test/IRGen/fixed_size_buffer_peepholes.sil @@ -5,7 +5,7 @@ import Builtin protocol P {} // CHECK-LABEL: define{{( dllexport)?}}{{( protected)?}} swiftcc void @dont_crash( -// CHECK: [[TYPE_ADDR:%.*]] = getelementptr inbounds %T27fixed_size_buffer_peepholes1PP, ptr %0, i32 0, i32 1 +// CHECK: [[TYPE_ADDR:%.*]] = getelementptr inbounds{{.*}} %T27fixed_size_buffer_peepholes1PP, ptr %0, i32 0, i32 1 // CHECK: [[TYPE:%.*]] = load ptr, ptr [[TYPE_ADDR]] // CHECK: call {{.*}} @__swift_project_boxed_opaque_existential_1 // CHECK: [[VWT_ADDR:%.*]] = getelementptr inbounds ptr, ptr [[TYPE]], {{(i64|i32)}} -1 diff --git a/test/IRGen/generic_casts.swift b/test/IRGen/generic_casts.swift index edb132269d1f4..4d34360cb01e0 100644 --- a/test/IRGen/generic_casts.swift +++ b/test/IRGen/generic_casts.swift @@ -39,12 +39,12 @@ func allToInt(_ x: T) -> Int { // CHECK: [[INT_TEMP:%.*]] = alloca %TSi, // CHECK: [[VWT_ADDR:%.*]] = getelementptr inbounds ptr, ptr %T, i64 -1 // CHECK: [[VWT:%.*]] = load ptr, ptr [[VWT_ADDR]] - // CHECK: [[SIZE_ADDR:%.*]] = getelementptr inbounds %swift.vwtable, ptr [[VWT]], i32 0, i32 8 + // CHECK: [[SIZE_ADDR:%.*]] = getelementptr inbounds{{.*}} %swift.vwtable, ptr [[VWT]], i32 0, i32 8 // CHECK: [[SIZE:%.*]] = load i64, ptr [[SIZE_ADDR]] // CHECK: [[T_ALLOCA:%.*]] = alloca i8, {{.*}} [[SIZE]], align 16 // CHECK: [[TEMP:%.*]] = call ptr {{.*}}(ptr noalias [[T_ALLOCA]], ptr noalias %0, ptr %T) // CHECK: call zeroext i1 @swift_dynamicCast(ptr [[INT_TEMP]], ptr [[T_ALLOCA]], ptr %T, ptr @"$sSiN", i64 7) - // CHECK: [[T0:%.*]] = getelementptr inbounds %TSi, ptr [[INT_TEMP]], i32 0, i32 0 + // CHECK: [[T0:%.*]] = getelementptr inbounds{{.*}} %TSi, ptr [[INT_TEMP]], i32 0, i32 0 // CHECK: [[INT_RESULT:%.*]] = load i64, ptr [[T0]], // CHECK: ret i64 [[INT_RESULT]] } @@ -52,7 +52,7 @@ func allToInt(_ x: T) -> Int { // CHECK: define hidden swiftcc void @"$s13generic_casts8intToAllyxSilF"(ptr noalias sret({{.*}}) %0, i64 %1, ptr %T) {{.*}} { func intToAll(_ x: Int) -> T { // CHECK: [[INT_TEMP:%.*]] = alloca %TSi, - // CHECK: [[T0:%.*]] = getelementptr inbounds %TSi, ptr [[INT_TEMP]], i32 0, i32 0 + // CHECK: [[T0:%.*]] = getelementptr inbounds{{.*}} %TSi, ptr [[INT_TEMP]], i32 0, i32 0 // CHECK: store i64 %1, ptr [[T0]], // CHECK: call zeroext i1 @swift_dynamicCast(ptr %0, ptr [[INT_TEMP]], ptr @"$sSiN", ptr %T, i64 7) return x as! T diff --git a/test/IRGen/generic_classes.sil b/test/IRGen/generic_classes.sil index e21c9b8006bd5..42638f18799d6 100644 --- a/test/IRGen/generic_classes.sil +++ b/test/IRGen/generic_classes.sil @@ -274,7 +274,7 @@ entry: // RootGeneric.x has fixed layout // CHECK: define{{( dllexport)?}}{{( protected)?}} swiftcc i8 @RootGeneric_concrete_fragile_dependent_member_access_x -// CHECK: getelementptr inbounds [[ROOTGENERIC]], ptr %0, i32 0, i32 1 +// CHECK: getelementptr inbounds{{.*}} [[ROOTGENERIC]], ptr %0, i32 0, i32 1 sil @RootGeneric_concrete_fragile_dependent_member_access_x : $ (RootGeneric) -> UInt8 { entry(%c : $RootGeneric): %p = ref_element_addr %c : $RootGeneric, #RootGeneric.x @@ -321,7 +321,7 @@ entry(%c : $RootGeneric): // CHECK-LABEL: define{{( dllexport)?}}{{( protected)?}} swiftcc i8 @RootGeneric_subst_concrete_fragile_dependent_member_access_z // CHECK: [[Z_ADDR:%.*]] = getelementptr inbounds {{.*}}, ptr %0, i32 0, i32 4 -// CHECK: [[T0:%.*]] = getelementptr inbounds %Ts5UInt8V, ptr [[Z_ADDR]], i32 0, i32 0 +// CHECK: [[T0:%.*]] = getelementptr inbounds{{.*}} %Ts5UInt8V, ptr [[Z_ADDR]], i32 0, i32 0 // CHECK: load i8, ptr [[T0]], align sil @RootGeneric_subst_concrete_fragile_dependent_member_access_z : $(RootGeneric) -> UInt8 { entry(%c : $RootGeneric): @@ -377,7 +377,7 @@ entry(%c : $RootGeneric): // Initialize our own dependent field offsets. // CHECK-objc: [[OFFSETS:%.*]] = getelementptr inbounds i64, ptr [[METADATA]], i64 20 // CHECK-native: [[OFFSETS:%.*]] = getelementptr inbounds i64, ptr [[METADATA]], i64 17 -// CHECK: [[FIELDS_ADDR:%.*]] = getelementptr inbounds [1 x ptr], ptr %classFields, i32 0, i32 0 +// CHECK: [[FIELDS_ADDR:%.*]] = getelementptr inbounds{{.*}} [1 x ptr], ptr %classFields, i32 0, i32 0 // CHECK: [[T0:%.*]] = call{{( tail)?}} swiftcc %swift.metadata_response @swift_checkMetadataState(i64 319, ptr %B) // CHECK: [[B_CHECKED:%.*]] = extractvalue %swift.metadata_response [[T0]], 0 // CHECK: [[B_STATUS:%.*]] = extractvalue %swift.metadata_response [[T0]], 1 diff --git a/test/IRGen/generic_metatypes.swift b/test/IRGen/generic_metatypes.swift index d27fe84c46160..7a37d2b923e76 100644 --- a/test/IRGen/generic_metatypes.swift +++ b/test/IRGen/generic_metatypes.swift @@ -60,11 +60,11 @@ protocol Bas {} // CHECK: define hidden swiftcc { ptr, ptr } @"$s17generic_metatypes14protocolTypeof{{.*}}"(ptr noalias nocapture dereferenceable({{.*}}) %0) func protocolTypeof(_ x: Bas) -> Bas.Type { - // CHECK: [[METADATA_ADDR:%.*]] = getelementptr inbounds %T17generic_metatypes3BasP, ptr [[X:%.*]], i32 0, i32 1 + // CHECK: [[METADATA_ADDR:%.*]] = getelementptr inbounds{{.*}} %T17generic_metatypes3BasP, ptr [[X:%.*]], i32 0, i32 1 // CHECK: [[METADATA:%.*]] = load ptr, ptr [[METADATA_ADDR]] // CHECK: [[VALUE_ADDR:%.*]] = call ptr @__swift_project_boxed_opaque_existential_1(ptr [[X]], ptr [[METADATA]]) // CHECK: [[METATYPE:%.*]] = call ptr @swift_getDynamicType(ptr [[VALUE_ADDR]], ptr [[METADATA]], i1 true) - // CHECK: [[WTABLE_ADDR:%.*]] = getelementptr inbounds %T17generic_metatypes3BasP, ptr %0, i32 0, i32 2 + // CHECK: [[WTABLE_ADDR:%.*]] = getelementptr inbounds{{.*}} %T17generic_metatypes3BasP, ptr %0, i32 0, i32 2 // CHECK: [[WTABLE:%.*]] = load ptr, ptr [[WTABLE_ADDR]] // CHECK-NOT: call void @__swift_destroy_boxed_opaque_existential_1(ptr %0) // CHECK: [[T0:%.*]] = insertvalue { ptr, ptr } undef, ptr [[METATYPE]], 0 diff --git a/test/IRGen/generic_metatypes_future.swift b/test/IRGen/generic_metatypes_future.swift index f1492f3c9f46e..f67ec6edcc5b2 100644 --- a/test/IRGen/generic_metatypes_future.swift +++ b/test/IRGen/generic_metatypes_future.swift @@ -61,11 +61,11 @@ protocol Bas {} // CHECK: define hidden swiftcc { ptr, ptr } @"$s17generic_metatypes14protocolTypeof{{.*}}"(ptr noalias nocapture dereferenceable({{.*}}) %0) func protocolTypeof(_ x: Bas) -> Bas.Type { - // CHECK: [[METADATA_ADDR:%.*]] = getelementptr inbounds %T17generic_metatypes3BasP, ptr [[X:%.*]], i32 0, i32 1 + // CHECK: [[METADATA_ADDR:%.*]] = getelementptr inbounds{{.*}} %T17generic_metatypes3BasP, ptr [[X:%.*]], i32 0, i32 1 // CHECK: [[METADATA:%.*]] = load ptr, ptr [[METADATA_ADDR]] // CHECK: [[VALUE_ADDR:%.*]] = call ptr @__swift_project_boxed_opaque_existential_1(ptr [[X]], ptr [[METADATA]]) // CHECK: [[METATYPE:%.*]] = call ptr @swift_getDynamicType(ptr [[VALUE_ADDR]], ptr [[METADATA]], i1 true) - // CHECK: [[WTABLE_ADDR:%.*]] = getelementptr inbounds %T17generic_metatypes3BasP, ptr %0, i32 0, i32 2 + // CHECK: [[WTABLE_ADDR:%.*]] = getelementptr inbounds{{.*}} %T17generic_metatypes3BasP, ptr %0, i32 0, i32 2 // CHECK: [[WTABLE:%.*]] = load ptr, ptr [[WTABLE_ADDR]] // CHECK-NOT: call void @__swift_destroy_boxed_opaque_existential_1(ptr %0) // CHECK: [[T0:%.*]] = insertvalue { ptr, ptr } undef, ptr [[METATYPE]], 0 diff --git a/test/IRGen/generic_tuples.swift b/test/IRGen/generic_tuples.swift index b1ad0a699daa8..773f302150a41 100644 --- a/test/IRGen/generic_tuples.swift +++ b/test/IRGen/generic_tuples.swift @@ -15,7 +15,7 @@ func dup(_ x: T) -> (T, T) { var x = x; return (x,x) } // Allocate a local variable for 'x'. // CHECK: [[VWT_ADDR:%.*]] = getelementptr inbounds ptr, ptr %T, i64 -1 // CHECK: [[VWT:%.*]] = load ptr, ptr [[VWT_ADDR]] -// CHECK: [[SIZE_ADDR:%.*]] = getelementptr inbounds %swift.vwtable, ptr [[VWT]], i32 0, i32 8 +// CHECK: [[SIZE_ADDR:%.*]] = getelementptr inbounds{{.*}} %swift.vwtable, ptr [[VWT]], i32 0, i32 8 // CHECK: [[SIZE:%.*]] = load i64, ptr [[SIZE_ADDR]] // CHECK: [[X_ALLOCA:%.*]] = alloca i8, {{.*}} [[SIZE]], align 16 // Debug info shadow copy. diff --git a/test/IRGen/global_resilience.sil b/test/IRGen/global_resilience.sil index 4d655b1683278..058ee7345c61a 100644 --- a/test/IRGen/global_resilience.sil +++ b/test/IRGen/global_resilience.sil @@ -94,7 +94,7 @@ bb0: %addr = global_addr @fixedGlobal : $*LargeResilientStruct - // CHECK: [[VALUE:%.*]] = load i64, ptr getelementptr inbounds (%T17global_resilience20LargeResilientStructV, ptr @fixedGlobal, i32 0, i32 1) + // CHECK: [[VALUE:%.*]] = load i64, ptr getelementptr inbounds{{.*}} (%T17global_resilience20LargeResilientStructV, ptr @fixedGlobal, i32 0, i32 1) %x_addr = struct_element_addr %addr : $*LargeResilientStruct, #LargeResilientStruct.x %x = load %x_addr : $*Int64 @@ -126,7 +126,7 @@ bb0: // CHECK-arm64e-NEXT: ptrtoint ptr [[VWT_ADDR]] to i64 // CHECK-arm64e-NEXT: call i64 @llvm.ptrauth.blend // CHECK-arm64e: [[VWT:%.*]] = inttoptr i64 {{%.*}} to ptr -// CHECK: [[FLAGS_ADDR:%.*]] = getelementptr inbounds %swift.vwtable, ptr [[VWT]], i32 0, i32 10 +// CHECK: [[FLAGS_ADDR:%.*]] = getelementptr inbounds{{.*}} %swift.vwtable, ptr [[VWT]], i32 0, i32 10 // CHECK: [[FLAGS:%.*]] = load i32, ptr [[FLAGS_ADDR]] // CHECK: [[ISNOTINLINE:%.*]] = and i32 [[FLAGS]], 131072 // CHECK: [[ISINLINE:%.*]] = icmp eq i32 [[ISNOTINLINE]], 0 @@ -138,7 +138,7 @@ bb0: // CHECK-arm64e-NEXT: ptrtoint ptr [[VWT_ADDR]] to i64 // CHECK-arm64e-NEXT: call i64 @llvm.ptrauth.blend // CHECK-arm64e: [[VWT:%.*]] = inttoptr i64 {{%.*}} to ptr -// CHECK: [[SIZE_ADDR:%.*]] = getelementptr inbounds %swift.vwtable, ptr [[VWT]], i32 0, i32 8 +// CHECK: [[SIZE_ADDR:%.*]] = getelementptr inbounds{{.*}} %swift.vwtable, ptr [[VWT]], i32 0, i32 8 // CHECK: [[SIZE:%.*]] = load [[INT]], ptr [[SIZE_ADDR]] // CHECK: [[ALIGN:%.*]] = and {{.*}}, 255 // CHECK: [[PTR:%.*]] = call noalias ptr @swift_slowAlloc({{.*}} [[SIZE]], {{.*}} [[ALIGN]]) @@ -156,7 +156,7 @@ bb0: // CHECK-arm64e-NEXT: ptrtoint ptr [[VWT_ADDR]] to i64 // CHECK-arm64e-NEXT: call i64 @llvm.ptrauth.blend // CHECK-arm64e: [[VWT:%.*]] = inttoptr i64 {{%.*}} to ptr -// CHECK: [[FLAGS_ADDR:%.*]] = getelementptr inbounds %swift.vwtable, ptr [[VWT]], i32 0, i32 10 +// CHECK: [[FLAGS_ADDR:%.*]] = getelementptr inbounds{{.*}} %swift.vwtable, ptr [[VWT]], i32 0, i32 10 // CHECK: [[FLAGS:%.*]] = load i32, ptr [[FLAGS_ADDR]] // CHECK: [[ISNOTINLINE:%.*]] = and i32 [[FLAGS]], 131072 // CHECK: [[ISINLINE:%.*]] = icmp eq i32 [[ISNOTINLINE]], 0 diff --git a/test/IRGen/indexing.sil b/test/IRGen/indexing.sil index a908a84d15d9e..9076f8adab6f3 100644 --- a/test/IRGen/indexing.sil +++ b/test/IRGen/indexing.sil @@ -41,7 +41,7 @@ entry(%p : $*(), %i: $Builtin.Word): // CHECK: define{{( protected)?}} {{.*}}void @dynamic_size(ptr noalias %0, i64 %1, ptr %T) {{.*}} { // CHECK: [[T1:%.*]] = getelementptr inbounds ptr, ptr %T, i64 -1 // CHECK-NEXT: [[VWT:%T.valueWitnesses]] = load ptr, ptr [[T1]], align 8 -// CHECK: [[STRIDE_ADDR:%.*]] = getelementptr inbounds %swift.vwtable, ptr [[VWT]], i32 0, i32 9 +// CHECK: [[STRIDE_ADDR:%.*]] = getelementptr inbounds{{.*}} %swift.vwtable, ptr [[VWT]], i32 0, i32 9 // CHECK: [[STRIDE:%.*]] = load i64, ptr [[STRIDE_ADDR]] // CHECK-NEXT: [[T0:%.*]] = mul nsw i64 %1, [[STRIDE]] // CHECK-NEXT: getelementptr inbounds i8, ptr %0, i64 [[T0]] diff --git a/test/IRGen/indirect_argument.sil b/test/IRGen/indirect_argument.sil index bb521b9ba5907..466fbc81686ac 100644 --- a/test/IRGen/indirect_argument.sil +++ b/test/IRGen/indirect_argument.sil @@ -71,7 +71,7 @@ entry(%o : $*Huge, %x : $Huge): // CHECK: call swiftcc {{.*}} @"$s24huge_partial_applicationTA{{(\.ptrauth)?}}"{{.*}}(ptr noalias nocapture dereferenceable({{.*}}) %0, ptr swiftself [[CLOSURE]]) // CHECK: define internal swiftcc void @"$s24huge_partial_applicationTA"(ptr noalias nocapture dereferenceable({{.*}}) %0, ptr swiftself %1) // CHECK-NOT: alloca -// CHECK: [[GEP:%.*]] = getelementptr inbounds <{ %swift.refcounted, %T17indirect_argument4HugeV }>, ptr %1, i32 0, i32 1 +// CHECK: [[GEP:%.*]] = getelementptr inbounds{{.*}} <{ %swift.refcounted, %T17indirect_argument4HugeV }>, ptr %1, i32 0, i32 1 // CHECK-NOT: alloca // CHECK-NOT: tail // CHECK: call swiftcc void @huge_partial_application(ptr noalias nocapture dereferenceable({{.*}}) %0, ptr noalias nocapture dereferenceable({{.*}}) [[GEP]] @@ -90,7 +90,7 @@ entry(%x : $Huge, %y : $Huge): // CHECK: call swiftcc {{.*}} @"$s30huge_partial_application_stretTA{{(\.ptrauth)?}}"{{.*}}(ptr noalias nocapture sret({{.*}}) [[TMP_RET]], ptr noalias nocapture dereferenceable({{.*}}) %1, ptr swiftself [[CLOSURE]]) // CHECK: define internal swiftcc void @"$s30huge_partial_application_stretTA"(ptr noalias nocapture sret({{.*}}) %0, ptr noalias nocapture dereferenceable({{.*}}) %1, ptr swiftself %2) // CHECK-NOT: alloca -// CHECK: [[GEP:%.*]] = getelementptr inbounds <{ %swift.refcounted, %T17indirect_argument4HugeV }>, ptr %2, i32 0, i32 1 +// CHECK: [[GEP:%.*]] = getelementptr inbounds{{.*}} <{ %swift.refcounted, %T17indirect_argument4HugeV }>, ptr %2, i32 0, i32 1 // CHECK-NOT: alloca // CHECK-NOT: tail // CHECK: call swiftcc void @huge_partial_application_stret(ptr noalias nocapture sret({{.*}}) %0, ptr noalias nocapture dereferenceable({{.*}}) %1, ptr noalias nocapture dereferenceable({{.*}}) [[GEP]]) diff --git a/test/IRGen/isolated_any.sil b/test/IRGen/isolated_any.sil index 5c688a2ab94cf..c85559c203b09 100644 --- a/test/IRGen/isolated_any.sil +++ b/test/IRGen/isolated_any.sil @@ -25,12 +25,12 @@ entry(%actor: $Optional, %int: $Int): // ptr: int capture // CHECK-64: [[BOX:%.*]] = call noalias ptr @swift_allocObject(ptr {{.*}}, [[INT]] 48, [[INT]] 7) // CHECK-32: [[BOX:%.*]] = call noalias ptr @swift_allocObject(ptr {{.*}}, [[INT]] 24, [[INT]] 3) -// CHECK-NEXT: [[ISO_ADDR:%.*]] = getelementptr inbounds <{ %swift.refcounted, %TScA_pSg, [{{4|8}} x i8], %TSi }>, ptr [[BOX]], i32 0, i32 1 -// CHECK-NEXT: [[ISO_REF_ADDR:%.*]] = getelementptr inbounds { [[INT]], [[INT]] }, ptr [[ISO_ADDR]], i32 0, i32 0 +// CHECK-NEXT: [[ISO_ADDR:%.*]] = getelementptr inbounds{{.*}} <{ %swift.refcounted, %TScA_pSg, [{{4|8}} x i8], %TSi }>, ptr [[BOX]], i32 0, i32 1 +// CHECK-NEXT: [[ISO_REF_ADDR:%.*]] = getelementptr inbounds{{.*}} { [[INT]], [[INT]] }, ptr [[ISO_ADDR]], i32 0, i32 0 // CHECK-NEXT: store [[INT]] %0, ptr [[ISO_REF_ADDR]], align -// CHECK-NEXT: [[ISO_WT_ADDR:%.*]] = getelementptr inbounds { [[INT]], [[INT]] }, ptr [[ISO_ADDR]], i32 0, i32 1 +// CHECK-NEXT: [[ISO_WT_ADDR:%.*]] = getelementptr inbounds{{.*}} { [[INT]], [[INT]] }, ptr [[ISO_ADDR]], i32 0, i32 1 // CHECK-NEXT: store [[INT]] %1, ptr [[ISO_WT_ADDR]], align -// CHECK-NEXT: [[T_ADDR:%.*]] = getelementptr inbounds <{ %swift.refcounted, %TScA_pSg, [{{4|8}} x i8], %TSi }>, ptr [[BOX]], i32 0, i32 2 +// CHECK-NEXT: [[T_ADDR:%.*]] = getelementptr inbounds{{.*}} <{ %swift.refcounted, %TScA_pSg, [{{4|8}} x i8], %TSi }>, ptr [[BOX]], i32 0, i32 2 // CHECK-NEXT: store ptr %T, ptr [[T_ADDR]], align // CHECK: [[RESULT:%.*]] = insertvalue { ptr, ptr } { ptr @"$s7closureTA{{(\.ptrauth.*)?}}", ptr undef }, ptr [[BOX]], 1 // CHECK-NEXT: ret { ptr, ptr } [[RESULT]] @@ -44,9 +44,9 @@ entry(%fn : $@callee_guaranteed @isolated(any) () -> ()): // CHECK-LABEL-32: define{{( dllexport)?}}{{( protected)?}} swiftcc { i32, i32 } @extract_closure_isolation // CHECK-64: [[ISO_ADDR:%.*]] = getelementptr inbounds i8, ptr %1, i32 16 // CHECK-32: [[ISO_ADDR:%.*]] = getelementptr inbounds i8, ptr %1, i32 8 -// CHECK-NEXT: [[ISO_REF_ADDR:%.*]] = getelementptr inbounds { [[INT]], [[INT]] }, ptr [[ISO_ADDR]], i32 0, i32 0 +// CHECK-NEXT: [[ISO_REF_ADDR:%.*]] = getelementptr inbounds{{.*}} { [[INT]], [[INT]] }, ptr [[ISO_ADDR]], i32 0, i32 0 // CHECK-NEXT: [[ISO_REF:%.*]] = load [[INT]], ptr [[ISO_REF_ADDR]], align -// CHECK-NEXT: [[ISO_WT_ADDR:%.*]] = getelementptr inbounds { [[INT]], [[INT]] }, ptr [[ISO_ADDR]], i32 0, i32 1 +// CHECK-NEXT: [[ISO_WT_ADDR:%.*]] = getelementptr inbounds{{.*}} { [[INT]], [[INT]] }, ptr [[ISO_ADDR]], i32 0, i32 1 // CHECK-NEXT: [[ISO_WT:%.*]] = load [[INT]], ptr [[ISO_WT_ADDR]], align // CHECK-NEXT: [[T0:%.*]] = insertvalue { [[INT]], [[INT]] } undef, [[INT]] [[ISO_REF]], 0 // CHECK-NEXT: [[T1:%.*]] = insertvalue { [[INT]], [[INT]] } [[T0]], [[INT]] [[ISO_WT]], 1 diff --git a/test/IRGen/large_argument_c.sil b/test/IRGen/large_argument_c.sil index 1141d8714d73b..656d480899d07 100644 --- a/test/IRGen/large_argument_c.sil +++ b/test/IRGen/large_argument_c.sil @@ -21,7 +21,7 @@ sil @pass_and_return : $@convention(c) (large_thing, large_thing) -> large_thing // CHECK: define{{.*}} swiftcc void @test(ptr {{.*}} dereferenceable(256) %0) // CHECK: [[TMP:%.*]] = alloca %TSo11large_thinga -// CHECK: [[PROJ_ADDR:%.*]] = getelementptr inbounds i8, ptr %0, i64 128 +// CHECK: [[PROJ_ADDR:%.*]] = getelementptr inbounds{{.*}} i8, ptr %0, i64 128 // CHECK: [[VAL:%.*]] = load i64, ptr %.sroa.3.0..sroa_idx // CHECK: store i64 [[VAL]], ptr [[TMP]] sil @test : $@convention(thin) (@in ContainingLargeThing) -> () { diff --git a/test/IRGen/large_argument_result_c.swift b/test/IRGen/large_argument_result_c.swift index c90042fbd4b66..fa05e2f14a025 100644 --- a/test/IRGen/large_argument_result_c.swift +++ b/test/IRGen/large_argument_result_c.swift @@ -16,7 +16,7 @@ // CHECK: call void @pass_and_return(ptr {{.*}} [[CALL_ALLOCA]], ptr nonnull [[TMP_ALLOCA]], ptr nonnull [[TMP_ALLOCA2]]) // CHECK: call {{.*}} @swift_allocObject // CHECK: [[BOX:%.*]] = call noalias ptr @swift_allocObject( -// CHECK: [[ADDR_IN_BOX:%.*]] = getelementptr inbounds i8, ptr [[BOX]], i64 16 +// CHECK: [[ADDR_IN_BOX:%.*]] = getelementptr inbounds{{.*}} i8, ptr [[BOX]], i64 16 // CHECK: call void @llvm.memcpy.p0.p0.i64(ptr {{.*}} [[ADDR_IN_BOX]], ptr {{.*}} [[CALL_ALLOCA]], i64 128, i1 false) // CHECK: call void @llvm.lifetime.end.p0(i64 128, ptr nonnull [[CALL_ALLOCA]]) public func runTest(_ l : large_thing) { diff --git a/test/IRGen/large_argument_result_c_x86_64.swift b/test/IRGen/large_argument_result_c_x86_64.swift index be69a0c5e09af..831837ba726cf 100644 --- a/test/IRGen/large_argument_result_c_x86_64.swift +++ b/test/IRGen/large_argument_result_c_x86_64.swift @@ -15,7 +15,7 @@ // CHECK: call void @pass_and_return(ptr {{.*}} [[CALL_ALLOCA]], ptr nonnull byval{{.*}} %0, ptr nonnull byval{{.*}} %0) // CHECK: call {{.*}} @swift_allocObject // CHECK: [[BOX:%.*]] = {{.*}}call noalias ptr @swift_allocObject( -// CHECK: [[ADDR_IN_BOX:%.*]] = getelementptr inbounds i8, ptr [[BOX]], i64 16 +// CHECK: [[ADDR_IN_BOX:%.*]] = getelementptr inbounds{{.*}} i8, ptr [[BOX]], i64 16 // CHECK: call void @llvm.memcpy.p0.p0.i64(ptr {{.*}} [[ADDR_IN_BOX]], ptr {{.*}} [[CALL_ALLOCA]], i64 128, i1 false) // CHECK: call void @llvm.lifetime.end.p0(i64 128, ptr nonnull [[CALL_ALLOCA]]) public func runTest(_ l : large_thing) { diff --git a/test/IRGen/lazy_globals.swift b/test/IRGen/lazy_globals.swift index 457e33fbfaf81..1998c17726a77 100644 --- a/test/IRGen/lazy_globals.swift +++ b/test/IRGen/lazy_globals.swift @@ -34,7 +34,7 @@ var (x, y, z) = (1, 2, 3) // CHECK: define hidden swiftcc i64 @"$s12lazy_globals4getXSiyF"() {{.*}} { // CHECK: entry: // CHECK: %0 = call swiftcc ptr @"$s12lazy_globals1xSivau"() -// CHECK: %._value = getelementptr inbounds %TSi, ptr %0, i32 0, i32 0 +// CHECK: %._value = getelementptr inbounds{{.*}} %TSi, ptr %0, i32 0, i32 0 // CHECK: [[V:%.*]] = load i64, ptr %._value, align 8 // CHECK: ret i64 [[V]] // CHECK: } diff --git a/test/IRGen/lazy_multi_file.swift b/test/IRGen/lazy_multi_file.swift index 7e53cbd4d6833..95444fc142e8d 100644 --- a/test/IRGen/lazy_multi_file.swift +++ b/test/IRGen/lazy_multi_file.swift @@ -16,7 +16,7 @@ class Subclass : LazyContainerClass { // // CHECK-LABEL: @"$s15lazy_multi_file8SubclassC6getStrSSyF"({{(ptr noalias nocapture sret, )?}}ptr swiftself %0) {{.*}} { func getStr() -> String { - // CHECK: = getelementptr inbounds %T15lazy_multi_file8SubclassC, ptr %0, i32 0, i32 3 + // CHECK: = getelementptr inbounds{{.*}} %T15lazy_multi_file8SubclassC, ptr %0, i32 0, i32 3 return str } } diff --git a/test/IRGen/lifetime.sil b/test/IRGen/lifetime.sil index e4909f3356dd9..84dd8e1d6f9bf 100644 --- a/test/IRGen/lifetime.sil +++ b/test/IRGen/lifetime.sil @@ -21,7 +21,7 @@ bb0(%x : $*T): // CHECK-arm64e-NEXT: ptrtoint ptr [[VWT_ADDR]] to i64 // CHECK-arm64e-NEXT: call i64 @llvm.ptrauth.blend // CHECK-arm64e: [[VWT:%.*]] = inttoptr i64 {{%.*}} to ptr -// CHECK-NEXT: [[SIZE_ADDR:%.*]] = getelementptr inbounds %swift.vwtable, ptr [[VWT]], i32 0, i32 8 +// CHECK-NEXT: [[SIZE_ADDR:%.*]] = getelementptr inbounds{{.*}} %swift.vwtable, ptr [[VWT]], i32 0, i32 8 // CHECK-NEXT: [[SIZE:%.*]] = load [[INT]], ptr [[SIZE_ADDR]] // CHECK-NEXT: [[Y_ALLOCA:%.*]] = alloca i8, {{.*}} [[SIZE]], align 16 // CHECK-NEXT: call void @llvm.lifetime.start.p0({{(i32|i64)}} -1, ptr [[Y_ALLOCA]]) @@ -61,7 +61,7 @@ bb0(%x : $*T): // CHECK-arm64e-NEXT: ptrtoint ptr [[VWT_ADDR]] to i64 // CHECK-arm64e-NEXT: call i64 @llvm.ptrauth.blend // CHECK-arm64e: [[VWT:%.*]] = inttoptr i64 {{%.*}} to ptr -// CHECK-NEXT: [[SIZE_ADDR:%.*]] = getelementptr inbounds %swift.vwtable, ptr [[VWT]], i32 0, i32 8 +// CHECK-NEXT: [[SIZE_ADDR:%.*]] = getelementptr inbounds{{.*}} %swift.vwtable, ptr [[VWT]], i32 0, i32 8 // CHECK-NEXT: [[SIZE:%.*]] = load [[INT]], ptr [[SIZE_ADDR]] // CHECK-NEXT: [[Y_ALLOCA:%.*]] = alloca i8, {{.*}} [[SIZE]], align 16 // CHECK-NEXT: call void @llvm.lifetime.start.p0({{(i32|i64)}} -1, ptr [[Y_ALLOCA]]) diff --git a/test/IRGen/mixed_mode_class_with_unimportable_fields.swift b/test/IRGen/mixed_mode_class_with_unimportable_fields.swift index 9bd7f2bd40a94..8b64e7cba224f 100644 --- a/test/IRGen/mixed_mode_class_with_unimportable_fields.swift +++ b/test/IRGen/mixed_mode_class_with_unimportable_fields.swift @@ -36,9 +36,9 @@ public func accessFinalFields(of holder: ButtHolder) -> (Any, Any) { // ButtHolder.y is correctly imported in Swift 5 mode, so we can use fixed offsets. - // CHECK-V5: [[OFFSET:%.*]] = getelementptr inbounds %T14UsingObjCStuff10ButtHolderC, ptr %2, i32 0, i32 1 + // CHECK-V5: [[OFFSET:%.*]] = getelementptr inbounds{{.*}} %T14UsingObjCStuff10ButtHolderC, ptr %2, i32 0, i32 1 - // CHECK-V5: [[OFFSET:%.*]] = getelementptr inbounds %T14UsingObjCStuff10ButtHolderC, ptr %2, i32 0, i32 3 + // CHECK-V5: [[OFFSET:%.*]] = getelementptr inbounds{{.*}} %T14UsingObjCStuff10ButtHolderC, ptr %2, i32 0, i32 3 return (holder.x, holder.z) } @@ -63,11 +63,11 @@ public func accessFinalFields(ofSub holder: SubButtHolder) -> (Any, Any, Any) { // ButtHolder.y is correctly imported in Swift 5 mode, so we can use fixed offsets. - // CHECK-V5: [[OFFSET:%.*]] = getelementptr inbounds %T14UsingObjCStuff10ButtHolderC, ptr %3, i32 0, i32 1 + // CHECK-V5: [[OFFSET:%.*]] = getelementptr inbounds{{.*}} %T14UsingObjCStuff10ButtHolderC, ptr %3, i32 0, i32 1 - // CHECK-V5: [[OFFSET:%.*]] = getelementptr inbounds %T14UsingObjCStuff10ButtHolderC, ptr %3, i32 0, i32 3 + // CHECK-V5: [[OFFSET:%.*]] = getelementptr inbounds{{.*}} %T14UsingObjCStuff10ButtHolderC, ptr %3, i32 0, i32 3 - // CHECK-V5: [[OFFSET:%.*]] = getelementptr inbounds %T4main13SubButtHolderC, ptr %3, i32 0, i32 4 + // CHECK-V5: [[OFFSET:%.*]] = getelementptr inbounds{{.*}} %T4main13SubButtHolderC, ptr %3, i32 0, i32 4 return (holder.x, holder.z, holder.w) } diff --git a/test/IRGen/moveonly_deinits.swift b/test/IRGen/moveonly_deinits.swift index b79317436b508..3c30170943138 100644 --- a/test/IRGen/moveonly_deinits.swift +++ b/test/IRGen/moveonly_deinits.swift @@ -66,11 +66,11 @@ var value: Bool { false } // IR: br i1 {{%.*}}, label %[[BB1:[0-9]+]], label %[[BB2:[0-9]+]] // // IR: [[BB1]]: -// IR-NEXT: [[GEP:%.*]] = getelementptr inbounds [[TYPE]], ptr [[ALLOCA]], i32 0, i32 0 -// IR-NEXT: [[GEP2:%.*]] = getelementptr inbounds %TSi, ptr [[GEP]], i32 0, i32 0 +// IR-NEXT: [[GEP:%.*]] = getelementptr inbounds{{.*}} [[TYPE]], ptr [[ALLOCA]], i32 0, i32 0 +// IR-NEXT: [[GEP2:%.*]] = getelementptr inbounds{{.*}} %TSi, ptr [[GEP]], i32 0, i32 0 // IR-NEXT: [[LHS:%.*]] = load i64, ptr [[GEP2]] -// IR-NEXT: [[GEP:%.*]] = getelementptr inbounds [[TYPE]], ptr [[ALLOCA]], i32 0, i32 1 -// IR-NEXT: [[GEP2:%.*]] = getelementptr inbounds %TSi, ptr [[GEP]], i32 0, i32 0 +// IR-NEXT: [[GEP:%.*]] = getelementptr inbounds{{.*}} [[TYPE]], ptr [[ALLOCA]], i32 0, i32 1 +// IR-NEXT: [[GEP2:%.*]] = getelementptr inbounds{{.*}} %TSi, ptr [[GEP]], i32 0, i32 0 // IR-NEXT: [[RHS:%.*]] = load i64, ptr [[GEP2]] // IR-NEXT: call swiftcc void @"$s16moveonly_deinits27consumeIntPairWithoutDeinityyAA0defG0VnF"(i64 [[LHS]], i64 [[RHS]]) // IR-NEXT: br label %[[CONT:[0-9]+]] @@ -95,21 +95,21 @@ public func testIntPairWithoutDeinit() { // IR: br i1 {{%.*}}, label %[[BB1:[0-9]+]], label %[[BB2:[0-9]+]] // // IR: [[BB1]]: -// IR-NEXT: [[GEP:%.*]] = getelementptr inbounds [[TYPE]], ptr [[ALLOCA]], i32 0, i32 0 -// IR-NEXT: [[GEP2:%.*]] = getelementptr inbounds %TSi, ptr [[GEP]], i32 0, i32 0 +// IR-NEXT: [[GEP:%.*]] = getelementptr inbounds{{.*}} [[TYPE]], ptr [[ALLOCA]], i32 0, i32 0 +// IR-NEXT: [[GEP2:%.*]] = getelementptr inbounds{{.*}} %TSi, ptr [[GEP]], i32 0, i32 0 // IR-NEXT: [[LHS:%.*]] = load i64, ptr [[GEP2]] -// IR-NEXT: [[GEP:%.*]] = getelementptr inbounds [[TYPE]], ptr [[ALLOCA]], i32 0, i32 1 -// IR-NEXT: [[GEP2:%.*]] = getelementptr inbounds %TSi, ptr [[GEP]], i32 0, i32 0 +// IR-NEXT: [[GEP:%.*]] = getelementptr inbounds{{.*}} [[TYPE]], ptr [[ALLOCA]], i32 0, i32 1 +// IR-NEXT: [[GEP2:%.*]] = getelementptr inbounds{{.*}} %TSi, ptr [[GEP]], i32 0, i32 0 // IR-NEXT: [[RHS:%.*]] = load i64, ptr [[GEP2]] // IR-NEXT: call swiftcc void @"$s16moveonly_deinits24consumeIntPairWithDeinityyAA0defG0VnF"( // IR-NEXT: br label %[[CONT:[0-9]+]] // // IR: [[BB2]]: -// IR-NEXT: [[GEP:%.*]] = getelementptr inbounds [[TYPE]], ptr [[ALLOCA]], i32 0, i32 0 -// IR-NEXT: [[GEP2:%.*]] = getelementptr inbounds %TSi, ptr [[GEP]], i32 0, i32 0 +// IR-NEXT: [[GEP:%.*]] = getelementptr inbounds{{.*}} [[TYPE]], ptr [[ALLOCA]], i32 0, i32 0 +// IR-NEXT: [[GEP2:%.*]] = getelementptr inbounds{{.*}} %TSi, ptr [[GEP]], i32 0, i32 0 // IR-NEXT: [[LHS:%.*]] = load i64, ptr [[GEP2]] -// IR-NEXT: [[GEP:%.*]] = getelementptr inbounds [[TYPE]], ptr [[ALLOCA]], i32 0, i32 1 -// IR-NEXT: [[GEP2:%.*]] = getelementptr inbounds %TSi, ptr [[GEP]], i32 0, i32 0 +// IR-NEXT: [[GEP:%.*]] = getelementptr inbounds{{.*}} [[TYPE]], ptr [[ALLOCA]], i32 0, i32 1 +// IR-NEXT: [[GEP2:%.*]] = getelementptr inbounds{{.*}} %TSi, ptr [[GEP]], i32 0, i32 0 // IR-NEXT: [[RHS:%.*]] = load i64, ptr [[GEP2]] // IR-NEXT: call swiftcc void @"$s16moveonly_deinits17IntPairWithDeinitVfD"(i64 [[LHS]], i64 [[RHS]]) // IR-NEXT: br label %[[CONT]] @@ -130,9 +130,9 @@ public func testIntPairWithDeinit() { // IR: br i1 {{%.*}}, label %[[BB1:[0-9]+]], label %[[BB2:[0-9]+]] // // IR: [[BB1]]: -// IR-NEXT: [[GEP:%.*]] = getelementptr inbounds [[TYPE]], ptr [[ALLOCA]], i32 0, i32 0 +// IR-NEXT: [[GEP:%.*]] = getelementptr inbounds{{.*}} [[TYPE]], ptr [[ALLOCA]], i32 0, i32 0 // IR-NEXT: [[LHS:%.*]] = load ptr, ptr [[GEP]] -// IR-NEXT: [[GEP:%.*]] = getelementptr inbounds [[TYPE]], ptr [[ALLOCA]], i32 0, i32 1 +// IR-NEXT: [[GEP:%.*]] = getelementptr inbounds{{.*}} [[TYPE]], ptr [[ALLOCA]], i32 0, i32 1 // IR-NEXT: [[RHS:%.*]] = load ptr, ptr [[GEP]] // IR-NEXT: call swiftcc void @"$s16moveonly_deinits29consumeKlassPairWithoutDeinityyAA0defG0VnF"(ptr [[LHS]], ptr [[RHS]]) // IR-NEXT: br label %[[CONT:[0-9]+]] @@ -157,17 +157,17 @@ public func testKlassPairWithoutDeinit() { // IR: br i1 {{%.*}}, label %[[BB1:[0-9]+]], label %[[BB2:[0-9]+]] // // IR: [[BB1]]: -// IR-NEXT: [[GEP:%.*]] = getelementptr inbounds [[TYPE]], ptr [[ALLOCA]], i32 0, i32 0 +// IR-NEXT: [[GEP:%.*]] = getelementptr inbounds{{.*}} [[TYPE]], ptr [[ALLOCA]], i32 0, i32 0 // IR-NEXT: [[LHS:%.*]] = load ptr, ptr [[GEP]] -// IR-NEXT: [[GEP:%.*]] = getelementptr inbounds [[TYPE]], ptr [[ALLOCA]], i32 0, i32 1 +// IR-NEXT: [[GEP:%.*]] = getelementptr inbounds{{.*}} [[TYPE]], ptr [[ALLOCA]], i32 0, i32 1 // IR-NEXT: [[RHS:%.*]] = load ptr, ptr [[GEP]] // IR-NEXT: call swiftcc void @"$s16moveonly_deinits26consumeKlassPairWithDeinityyAA0defG0VnF"(ptr [[LHS]], ptr [[RHS]]) // IR-NEXT: br label %[[CONT:[0-9]+]] // // IR: [[BB2]]: -// IR-NEXT: [[GEP:%.*]] = getelementptr inbounds [[TYPE]], ptr [[ALLOCA]], i32 0, i32 0 +// IR-NEXT: [[GEP:%.*]] = getelementptr inbounds{{.*}} [[TYPE]], ptr [[ALLOCA]], i32 0, i32 0 // IR-NEXT: [[LHS:%.*]] = load ptr, ptr [[GEP]] -// IR-NEXT: [[GEP:%.*]] = getelementptr inbounds [[TYPE]], ptr [[ALLOCA]], i32 0, i32 1 +// IR-NEXT: [[GEP:%.*]] = getelementptr inbounds{{.*}} [[TYPE]], ptr [[ALLOCA]], i32 0, i32 1 // IR-NEXT: [[RHS:%.*]] = load ptr, ptr [[GEP]] // IR-NEXT: call swiftcc void @"$s16moveonly_deinits19KlassPairWithDeinitVfD"(ptr [[LHS]], ptr [[RHS]]) // IR-NEXT: br label %[[CONT]] @@ -230,7 +230,7 @@ func consumeKlassEnumPairWithDeinit(_ x: __owned KlassEnumPairWithDeinit) { } // // IR: [[BB1]]: // IR-NEXT: [[LHS:%.*]] = load i64, ptr [[ALLOCA]] -// IR-NEXT: [[GEP:%.*]] = getelementptr inbounds [[TYPE]], ptr [[ALLOCA]], i32 0, i32 1 +// IR-NEXT: [[GEP:%.*]] = getelementptr inbounds{{.*}} [[TYPE]], ptr [[ALLOCA]], i32 0, i32 1 // IR-NEXT: [[RHS:%.*]] = load i8, ptr [[GEP]] // IR-NEXT: call swiftcc void @"$s16moveonly_deinits31consumeIntEnumPairWithoutDeinityyAA0defgH0OnF"(i64 [[LHS]], i8 [[RHS]]) // IR-NEXT: br label %[[CONT:[0-9]+]] @@ -255,14 +255,14 @@ public func testIntEnumPairWithoutDeinit() { // // IR: [[BB1]]: // IR-NEXT: [[LHS:%.*]] = load i64, ptr [[ALLOCA]] -// IR-NEXT: [[GEP:%.*]] = getelementptr inbounds [[TYPE]], ptr [[ALLOCA]], i32 0, i32 1 +// IR-NEXT: [[GEP:%.*]] = getelementptr inbounds{{.*}} [[TYPE]], ptr [[ALLOCA]], i32 0, i32 1 // IR-NEXT: [[RHS:%.*]] = load i8, ptr [[GEP]] // IR-NEXT: call swiftcc void @"$s16moveonly_deinits28consumeIntEnumPairWithDeinityyAA0defgH0OnF"(i64 [[LHS]], i8 [[RHS]]) // IR-NEXT: br label %[[CONT:[0-9]+]] // // IR: [[BB2]]: // IR-NEXT: [[LHS:%.*]] = load i64, ptr [[ALLOCA]] -// IR-NEXT: [[GEP:%.*]] = getelementptr inbounds [[TYPE]], ptr [[ALLOCA]], i32 0, i32 1 +// IR-NEXT: [[GEP:%.*]] = getelementptr inbounds{{.*}} [[TYPE]], ptr [[ALLOCA]], i32 0, i32 1 // IR-NEXT: [[RHS:%.*]] = load i8, ptr [[GEP]] // IR-NEXT: call swiftcc void @"$s16moveonly_deinits21IntEnumPairWithDeinitOfD"(i64 [[LHS]], i8 [[RHS]]) // IR-NEXT: br label %[[CONT]] diff --git a/test/IRGen/moveonly_split_module_source_deinit.swift b/test/IRGen/moveonly_split_module_source_deinit.swift index a9b1836263f0d..e9e1035d52683 100644 --- a/test/IRGen/moveonly_split_module_source_deinit.swift +++ b/test/IRGen/moveonly_split_module_source_deinit.swift @@ -15,9 +15,9 @@ // Make sure that in the other module, we do call the deinit directly from the value witness. // DEFINING_MODULE-LABEL: define internal void @"$s6server8MoveOnlyVwxx"(ptr noalias %object, ptr %MoveOnly) {{.*}} { -// DEFINING_MODULE: [[VAR:%.*]] = getelementptr inbounds {{%.*}}, ptr %object +// DEFINING_MODULE: [[VAR:%.*]] = getelementptr inbounds{{.*}} {{%.*}}, ptr %object // DEFINING_MODULE: [[LOADED_VAR:%.*]] = load ptr, ptr [[VAR]], -// DEFINING_MODULE: [[VAR2:%.*]] = getelementptr inbounds {{%.*}}, ptr %object +// DEFINING_MODULE: [[VAR2:%.*]] = getelementptr inbounds{{.*}} {{%.*}}, ptr %object // DEFINING_MODULE: [[LOADED_VAR2:%.*]] = load ptr, ptr [[VAR2]], // DEFINING_MODULE: call swiftcc void @"$s6server8MoveOnlyVfD"(ptr [[LOADED_VAR]], ptr [[LOADED_VAR2]]) @main diff --git a/test/IRGen/moveonly_value_functions.sil b/test/IRGen/moveonly_value_functions.sil index 2c3e4625ab694..f7f2eae7bf0d4 100644 --- a/test/IRGen/moveonly_value_functions.sil +++ b/test/IRGen/moveonly_value_functions.sil @@ -29,7 +29,7 @@ sil @deinit_count : $@convention(method) <τ_0_0 where τ_0_0 : ~Copyable> (move // CHECK: entry: // CHECK: [[CELL_VWT_ADDR:%[^,]+]] = getelementptr inbounds ptr, ptr %"_Cell", [[INT]] -1 // CHECK: %"_Cell.valueWitnesses" = load ptr, ptr [[CELL_VWT_ADDR]] -// CHECK: [[CELL_SIZE_ADDR:%[^,]+]] = getelementptr inbounds %swift.vwtable +// CHECK: [[CELL_SIZE_ADDR:%[^,]+]] = getelementptr inbounds{{.*}} %swift.vwtable // : ptr %"_Cell.valueWitnesses", // CHECK-SAME: i32 0 // CHECK-SAME: i32 8 diff --git a/test/IRGen/multi_file_resilience.swift b/test/IRGen/multi_file_resilience.swift index c3742a80a90da..4538ea2aed631 100644 --- a/test/IRGen/multi_file_resilience.swift +++ b/test/IRGen/multi_file_resilience.swift @@ -23,7 +23,7 @@ // CHECK-arm64e: call i64 @llvm.ptrauth.blend // CHECK-arm64e: [[VWT:%.*]] = inttoptr i64 {{%.*}} to ptr // Allocate 'copy'. -// CHECK: [[SIZE_ADDR:%.*]] = getelementptr inbounds %swift.vwtable, ptr [[VWT]], i32 0, i32 8 +// CHECK: [[SIZE_ADDR:%.*]] = getelementptr inbounds{{.*}} %swift.vwtable, ptr [[VWT]], i32 0, i32 8 // CHECK: [[SIZE:%.*]] = load [[INT]], ptr [[SIZE_ADDR]] // CHECK: [[ALLOCA:%.*]] = alloca i8, [[INT]] [[SIZE]], // Perform 'initializeWithCopy' via the VWT instead of trying to inline it. diff --git a/test/IRGen/multi_module_resilience.swift b/test/IRGen/multi_module_resilience.swift index 97fb2a0928d89..74616044c9eaf 100644 --- a/test/IRGen/multi_module_resilience.swift +++ b/test/IRGen/multi_module_resilience.swift @@ -22,7 +22,7 @@ import OtherModule // CHECK-arm64e: call i64 @llvm.ptrauth.blend // CHECK-arm64e: [[VWT:%.*]] = inttoptr i64 {{%.*}} to ptr // Allocate 'copy'. -// CHECK: [[SIZE_ADDR:%.*]] = getelementptr inbounds %swift.vwtable, ptr [[VWT]], i32 0, i32 8 +// CHECK: [[SIZE_ADDR:%.*]] = getelementptr inbounds{{.*}} %swift.vwtable, ptr [[VWT]], i32 0, i32 8 // CHECK: [[SIZE:%.*]] = load [[INT]], ptr [[SIZE_ADDR]] // CHECK: [[ALLOCA:%.*]] = alloca i8, [[INT]] [[SIZE]], // Perform 'initializeWithCopy' via the VWT instead of trying to inline it. @@ -43,7 +43,7 @@ public func copyFoo(foo: Foo) -> Foo { // CHECK-arm64e: call i64 @llvm.ptrauth.blend // CHECK-arm64e: [[VWT:%.*]] = inttoptr i64 {{%.*}} to ptr // Allocate 'copy'. -// CHECK: [[SIZE_ADDR:%.*]] = getelementptr inbounds %swift.vwtable, ptr [[VWT]], i32 0, i32 8 +// CHECK: [[SIZE_ADDR:%.*]] = getelementptr inbounds{{.*}} %swift.vwtable, ptr [[VWT]], i32 0, i32 8 // CHECK: [[SIZE:%.*]] = load [[INT]], ptr [[SIZE_ADDR]] // CHECK: [[ALLOCA:%.*]] = alloca i8, [[INT]] [[SIZE]], // Perform 'initializeWithCopy' via the VWT instead of trying to inline it. diff --git a/test/IRGen/multi_payload_shifting.swift b/test/IRGen/multi_payload_shifting.swift index 253f6c5467d71..1ef8792f461b1 100644 --- a/test/IRGen/multi_payload_shifting.swift +++ b/test/IRGen/multi_payload_shifting.swift @@ -25,7 +25,7 @@ enum Node { } // CHECK: define internal i32 @"$s22multi_payload_shifting4NodeOwet"(ptr noalias %value, i32 %numEmptyCases, ptr %Node) -// CHECK: [[ADDR:%.*]] = getelementptr inbounds { i64, i64, i64, i8 }, ptr {{.*}}, i32 0, i32 3 +// CHECK: [[ADDR:%.*]] = getelementptr inbounds{{.*}} { i64, i64, i64, i8 }, ptr {{.*}}, i32 0, i32 3 // CHECK: [[BYTE:%.*]] = load i8, ptr [[ADDR]] // Make sure we zext before we shift. // CHECK: [[ZEXT:%.*]] = zext i8 [[BYTE]] to i32 diff --git a/test/IRGen/non_fixed_return.swift b/test/IRGen/non_fixed_return.swift index a2ae029bcddb9..080ebd8864aa4 100644 --- a/test/IRGen/non_fixed_return.swift +++ b/test/IRGen/non_fixed_return.swift @@ -55,17 +55,17 @@ func create(_ t: T) -> C { // We use opaque storage types because LLVM performs type based analysis based // on the sret storage type which goes wrong with non fixed types. -// CHECK-LABEL: define hidden swiftcc void @"$s16non_fixed_return1CVACyxGycfC"(ptr noalias sret(%swift.opaque) %0 +// CHECK-LABEL: define hidden swiftcc void @"$s16non_fixed_return1CVACyxGycfC"(ptr noalias sret(%swift.opaque){{.*}} %0 // CHECK-LABEL: define hidden swiftcc void @"$s16non_fixed_return6createyAA1CVyxGxlF"(ptr noalias sret(%swift.opaque) %0, ptr noalias %1, ptr %T) // CHECK: call swiftcc void @"$s16non_fixed_return1CVACyxGycfC"(ptr noalias sret(%swift.opaque) %0 // CHECK: ret void // Make sure we don't loose the stores for the optional UInt32? in optimize mode. -// OPT-LABEL: define hidden swiftcc void @"$s16non_fixed_return1CVACyxGycfC"(ptr noalias sret(%swift.opaque) %0 +// OPT-LABEL: define hidden swiftcc void @"$s16non_fixed_return1CVACyxGycfC"(ptr noalias sret(%swift.opaque){{.*}} %0 // OPT: store i32 0, ptr [[BASE:%[0-9]+]] -// OPT: [[ADDR2:%.*]] = getelementptr inbounds i8, ptr [[BASE]], i64 4 +// OPT: [[ADDR2:%.*]] = getelementptr inbounds{{.*}} i8, ptr [[BASE]], i64 4 // OPT: store i8 1, ptr [[ADDR2]] -// OPT: [[ADDR4:%.*]] = getelementptr inbounds i8, ptr [[BASE]], i64 8 +// OPT: [[ADDR4:%.*]] = getelementptr inbounds{{.*}} i8, ptr [[BASE]], i64 8 // OPT: call void @llvm.memset.p0.i64(ptr {{.*}}[[ADDR4]], i8 0, i64 16, i1 false) // OPT: ret void diff --git a/test/IRGen/objc_block.sil b/test/IRGen/objc_block.sil index 277d3488cd90e..7133f42ba82e3 100644 --- a/test/IRGen/objc_block.sil +++ b/test/IRGen/objc_block.sil @@ -16,7 +16,7 @@ entry(%b : $@convention(block) (Foo) -> Foo, %x : $Foo): } // CHECK-LABEL: define{{( dllexport)?}}{{( protected)?}} swiftcc ptr @call_block(ptr %0, ptr %1) {{.*}} { // CHECK: entry: -// CHECK: [[T0:%.*]] = getelementptr inbounds %objc_block, ptr %0, i32 0, i32 3 +// CHECK: [[T0:%.*]] = getelementptr inbounds{{.*}} %objc_block, ptr %0, i32 0, i32 3 // CHECK: [[T1:%.*]] = load ptr, ptr [[T0]] // CHECK: [[T4:%.*]] = call ptr [[T1]](ptr %0, ptr %1) // CHECK: ret ptr [[T4]] diff --git a/test/IRGen/objc_block_storage.sil b/test/IRGen/objc_block_storage.sil index 5ecd6d590d1a5..64f23214c4d44 100644 --- a/test/IRGen/objc_block_storage.sil +++ b/test/IRGen/objc_block_storage.sil @@ -40,7 +40,7 @@ import gizmo // CHECK-LABEL: define{{( dllexport)?}}{{( protected)?}} swiftcc ptr @project_block_storage(ptr nocapture dereferenceable({{.*}}) %0) {{.*}} { // CHECK-NEXT: entry: -// CHECK-NEXT: %1 = getelementptr inbounds { %objc_block, ptr }, ptr %0, i32 0, i32 1 +// CHECK-NEXT: %1 = getelementptr inbounds{{.*}} { %objc_block, ptr }, ptr %0, i32 0, i32 1 // CHECK-NEXT: %2 = load ptr, ptr %1, align 8 // CHECK-NEXT: ret ptr %2 // CHECK-NEXT: } @@ -53,7 +53,7 @@ entry(%0 : $*@block_storage Builtin.RawPointer): // CHECK-LABEL: define{{( dllexport)?}}{{( protected)?}} swiftcc fp128 @overaligned_project_block_storage(ptr nocapture dereferenceable({{.*}}) %0) {{.*}} { // CHECK-NEXT: entry: -// CHECK-NEXT: %1 = getelementptr inbounds { %objc_block, fp128 }, ptr %0, i32 0, i32 1 +// CHECK-NEXT: %1 = getelementptr inbounds{{.*}} { %objc_block, fp128 }, ptr %0, i32 0, i32 1 // CHECK-NEXT: %2 = load fp128, ptr %1, align 16 // CHECK-NEXT: ret fp128 %2 // CHECK-NEXT: } @@ -65,17 +65,17 @@ entry(%0 : $*@block_storage Builtin.FPIEEE128): } // CHECK-LABEL: define{{( dllexport)?}}{{( protected)?}} swiftcc ptr @init_block_header_trivial(ptr nocapture dereferenceable({{.*}}) %0) {{.*}} { -// CHECK: [[HEADER:%.*]] = getelementptr inbounds { %objc_block, ptr }, ptr %0, i32 0, i32 0 -// CHECK: [[T0:%.*]] = getelementptr inbounds %objc_block, ptr [[HEADER]], i32 0, i32 0 +// CHECK: [[HEADER:%.*]] = getelementptr inbounds{{.*}} { %objc_block, ptr }, ptr %0, i32 0, i32 0 +// CHECK: [[T0:%.*]] = getelementptr inbounds{{.*}} %objc_block, ptr [[HEADER]], i32 0, i32 0 // CHECK: store ptr [[BLOCK_ISA]], ptr [[T0]] -// CHECK: [[T0:%.*]] = getelementptr inbounds %objc_block, ptr [[HEADER]], i32 0, i32 1 +// CHECK: [[T0:%.*]] = getelementptr inbounds{{.*}} %objc_block, ptr [[HEADER]], i32 0, i32 1 // -- 0x4000_0000 -- HAS_SIGNATURE // CHECK: store i32 1073741824, ptr [[T0]] -// CHECK: [[T0:%.*]] = getelementptr inbounds %objc_block, ptr [[HEADER]], i32 0, i32 2 +// CHECK: [[T0:%.*]] = getelementptr inbounds{{.*}} %objc_block, ptr [[HEADER]], i32 0, i32 2 // CHECK: store i32 0, ptr [[T0]] -// CHECK: [[T0:%.*]] = getelementptr inbounds %objc_block, ptr [[HEADER]], i32 0, i32 3 +// CHECK: [[T0:%.*]] = getelementptr inbounds{{.*}} %objc_block, ptr [[HEADER]], i32 0, i32 3 // CHECK: store ptr @invoke_trivial, ptr [[T0]] -// CHECK: [[T0:%.*]] = getelementptr inbounds %objc_block, ptr [[HEADER]], i32 0, i32 4 +// CHECK: [[T0:%.*]] = getelementptr inbounds{{.*}} %objc_block, ptr [[HEADER]], i32 0, i32 4 // CHECK: store ptr [[TRIVIAL_BLOCK_DESCRIPTOR]], ptr [[T0]] // CHECK: ret ptr %0 sil @init_block_header_trivial : $@convention(thin) (@inout_aliasable @block_storage Builtin.RawPointer) -> @convention(block) () -> () { @@ -86,7 +86,7 @@ entry(%0 : $*@block_storage Builtin.RawPointer): } // CHECK-LABEL: define{{( dllexport)?}}{{( protected)?}} void @invoke_trivial(ptr %0) {{.*}} { -// CHECK: %1 = getelementptr inbounds { %objc_block, ptr }, ptr %0, i32 0, i32 1 +// CHECK: %1 = getelementptr inbounds{{.*}} { %objc_block, ptr }, ptr %0, i32 0, i32 1 sil @invoke_trivial : $@convention(c) (@inout_aliasable @block_storage Builtin.RawPointer) -> () { entry(%0 : $*@block_storage Builtin.RawPointer): %c = project_block_storage %0 : $*@block_storage Builtin.RawPointer @@ -111,16 +111,16 @@ entry(%0 : $*@block_storage Builtin.RawPointer, %1 : $Int): // CHECK-LABEL: define{{( dllexport)?}}{{( protected)?}} swiftcc ptr @init_block_header_nontrivial(ptr nocapture dereferenceable({{.*}}) %0) {{.*}} { // CHECK: [[HEADER:%.*]] = getelementptr inbounds -// CHECK: [[T0:%.*]] = getelementptr inbounds %objc_block, ptr [[HEADER]], i32 0, i32 0 +// CHECK: [[T0:%.*]] = getelementptr inbounds{{.*}} %objc_block, ptr [[HEADER]], i32 0, i32 0 // CHECK: store ptr [[BLOCK_ISA]], ptr [[T0]] -// CHECK: [[T0:%.*]] = getelementptr inbounds %objc_block, ptr [[HEADER]], i32 0, i32 1 +// CHECK: [[T0:%.*]] = getelementptr inbounds{{.*}} %objc_block, ptr [[HEADER]], i32 0, i32 1 // -- 0x4200_0000 -- HAS_SIGNATURE, HAS_COPY_DISPOSE // CHECK: store i32 1107296256, ptr [[T0]] -// CHECK: [[T0:%.*]] = getelementptr inbounds %objc_block, ptr [[HEADER]], i32 0, i32 2 +// CHECK: [[T0:%.*]] = getelementptr inbounds{{.*}} %objc_block, ptr [[HEADER]], i32 0, i32 2 // CHECK: store i32 0, ptr [[T0]] -// CHECK: [[T0:%.*]] = getelementptr inbounds %objc_block, ptr [[HEADER]], i32 0, i32 3 +// CHECK: [[T0:%.*]] = getelementptr inbounds{{.*}} %objc_block, ptr [[HEADER]], i32 0, i32 3 // CHECK: store ptr @invoke_nontrivial, ptr [[T0]] -// CHECK: [[T0:%.*]] = getelementptr inbounds %objc_block, ptr [[HEADER]], i32 0, i32 4 +// CHECK: [[T0:%.*]] = getelementptr inbounds{{.*}} %objc_block, ptr [[HEADER]], i32 0, i32 4 // CHECK: store ptr [[NONTRIVIAL_BLOCK_DESCRIPTOR]], ptr [[T0]] sil @init_block_header_nontrivial : $@convention(thin) (@inout_aliasable @block_storage Builtin.NativeObject) -> @convention(block) () -> () { entry(%0 : $*@block_storage Builtin.NativeObject): @@ -131,8 +131,8 @@ entry(%0 : $*@block_storage Builtin.NativeObject): // CHECK: define internal void [[NONTRIVIAL_BLOCK_COPY]] // CHECK-NEXT: entry: -// CHECK-NEXT: %2 = getelementptr inbounds { %objc_block, ptr }, ptr %0, i32 0, i32 1 -// CHECK-NEXT: %3 = getelementptr inbounds { %objc_block, ptr }, ptr %1, i32 0, i32 1 +// CHECK-NEXT: %2 = getelementptr inbounds{{.*}} { %objc_block, ptr }, ptr %0, i32 0, i32 1 +// CHECK-NEXT: %3 = getelementptr inbounds{{.*}} { %objc_block, ptr }, ptr %1, i32 0, i32 1 // CHECK-NEXT: %4 = load ptr, ptr %3, align 8 // CHECK-NEXT: call ptr @swift_retain(ptr returned %4) {{#[0-9]+}} // CHECK-NEXT: store ptr %4, ptr %2, align 8 @@ -140,7 +140,7 @@ entry(%0 : $*@block_storage Builtin.NativeObject): // CHECK: define internal void [[NONTRIVIAL_BLOCK_DISPOSE]] // CHECK-NEXT: entry: -// CHECK-NEXT: %1 = getelementptr inbounds { %objc_block, ptr }, ptr %0, i32 0, i32 1 +// CHECK-NEXT: %1 = getelementptr inbounds{{.*}} { %objc_block, ptr }, ptr %0, i32 0, i32 1 // CHECK-NEXT: %toDestroy = load ptr, ptr %1, align 8 // CHECK-NEXT: call void @swift_release(ptr %toDestroy) {{#[0-9]+}} // CHECK-NEXT: ret void @@ -149,16 +149,16 @@ sil public_external @invoke_nontrivial : $@convention(c) (@inout_aliasable @bloc // CHECK-LABEL: define{{( dllexport)?}}{{( protected)?}} swiftcc ptr @init_block_header_stret(ptr nocapture dereferenceable({{.*}}) %0) {{.*}} { // CHECK: [[HEADER:%.*]] = getelementptr inbounds -// CHECK: [[T0:%.*]] = getelementptr inbounds %objc_block, ptr [[HEADER]], i32 0, i32 0 +// CHECK: [[T0:%.*]] = getelementptr inbounds{{.*}} %objc_block, ptr [[HEADER]], i32 0, i32 0 // CHECK: store ptr [[BLOCK_ISA]], ptr [[T0]] -// CHECK: [[T0:%.*]] = getelementptr inbounds %objc_block, ptr [[HEADER]], i32 0, i32 1 +// CHECK: [[T0:%.*]] = getelementptr inbounds{{.*}} %objc_block, ptr [[HEADER]], i32 0, i32 1 // -- 0x6000_0000 -- HAS_STRET, HAS_SIGNATURE // CHECK: store i32 1610612736, ptr [[T0]] -// CHECK: [[T0:%.*]] = getelementptr inbounds %objc_block, ptr [[HEADER]], i32 0, i32 2 +// CHECK: [[T0:%.*]] = getelementptr inbounds{{.*}} %objc_block, ptr [[HEADER]], i32 0, i32 2 // CHECK: store i32 0, ptr [[T0]] -// CHECK: [[T0:%.*]] = getelementptr inbounds %objc_block, ptr [[HEADER]], i32 0, i32 3 +// CHECK: [[T0:%.*]] = getelementptr inbounds{{.*}} %objc_block, ptr [[HEADER]], i32 0, i32 3 // CHECK: store ptr @invoke_stret, ptr [[T0]] -// CHECK: [[T0:%.*]] = getelementptr inbounds %objc_block, ptr [[HEADER]], i32 0, i32 4 +// CHECK: [[T0:%.*]] = getelementptr inbounds{{.*}} %objc_block, ptr [[HEADER]], i32 0, i32 4 // CHECK: store ptr [[STRET_BLOCK_DESCRIPTOR]], ptr [[T0]] sil @init_block_header_stret : $@convention(thin) (@inout_aliasable @block_storage Builtin.RawPointer) -> @convention(block) () -> NSRect { entry(%0 : $*@block_storage Builtin.RawPointer): diff --git a/test/IRGen/objc_dealloc.sil b/test/IRGen/objc_dealloc.sil index aecdf14bc3174..54a53824a7ecd 100644 --- a/test/IRGen/objc_dealloc.sil +++ b/test/IRGen/objc_dealloc.sil @@ -94,9 +94,9 @@ bb0(%0 : @unowned $SwiftGizmo): // Call super -dealloc. // CHECK: [[TMP:%.*]] = call swiftcc %swift.metadata_response @"$s12objc_dealloc10SwiftGizmoCMa"(i64 0) // CHECK-NEXT: [[T0:%.*]] = extractvalue %swift.metadata_response [[TMP]], 0 - // CHECK-NEXT: [[OBJC_SUPER_RECEIVER:%[a-zA-Z0-9]+]] = getelementptr inbounds %objc_super, ptr [[OBJC_SUPER]], i32 0, i32 0 + // CHECK-NEXT: [[OBJC_SUPER_RECEIVER:%[a-zA-Z0-9]+]] = getelementptr inbounds{{.*}} %objc_super, ptr [[OBJC_SUPER]], i32 0, i32 0 // CHECK-NEXT: store ptr %0, ptr [[OBJC_SUPER_RECEIVER]], align 8 - // CHECK-NEXT: [[OBJC_SUPER_CLASS:%[a-zA-Z0-9]+]] = getelementptr inbounds %objc_super, ptr [[OBJC_SUPER]], i32 0, i32 1 + // CHECK-NEXT: [[OBJC_SUPER_CLASS:%[a-zA-Z0-9]+]] = getelementptr inbounds{{.*}} %objc_super, ptr [[OBJC_SUPER]], i32 0, i32 1 // CHECK-NEXT: store ptr [[T0]], ptr [[OBJC_SUPER_CLASS]], align 8 // CHECK-NEXT: [[DEALLOC_SEL:%[a-zA-Z0-9]+]] = load ptr, ptr @"\01L_selector(dealloc)", align 8 // CHECK-NEXT: call void @objc_msgSendSuper2(ptr [[OBJC_SUPER]], ptr [[DEALLOC_SEL]]) diff --git a/test/IRGen/objc_extensions.swift b/test/IRGen/objc_extensions.swift index 059ca2df9c36a..a9874b87d1412 100644 --- a/test/IRGen/objc_extensions.swift +++ b/test/IRGen/objc_extensions.swift @@ -230,8 +230,8 @@ extension FungingArray { // CHECK-SAME: (ptr %0, ptr swiftself %1) // CHECK: [[ALLOCA:%[^, =]+]] = alloca %Any, align 8 // CHECK: @__swift_instantiateConcreteTypeFromMangledName{{.*}}@"$sSo9NSFunging_pMD"{{.*}}!dbg - // CHECK: {{%[^, =]+}} = getelementptr inbounds %Any, ptr [[ALLOCA]], i32 0, i32 0 - // CHECK: [[ANYBUF:%[^, =]+]] = getelementptr inbounds %Any, ptr [[ALLOCA]], i32 0, i32 0 + // CHECK: {{%[^, =]+}} = getelementptr inbounds{{.*}} %Any, ptr [[ALLOCA]], i32 0, i32 0 + // CHECK: [[ANYBUF:%[^, =]+]] = getelementptr inbounds{{.*}} %Any, ptr [[ALLOCA]], i32 0, i32 0 // CHECK: [[BUFPTR:%[^, =]+]] = {{.*}} [[ANYBUF]] // CHECK: store {{.*}} %0, {{.*}} [[BUFPTR]] // CHECK: call swiftcc void @"$s15objc_extensions11opaquePrintyyypF"(ptr {{.*}} [[ALLOCA]]) @@ -249,8 +249,8 @@ extension FungingArray { // CHECK: [[ALLOCA:%[^, =]+]] = alloca %Any, align 8 // CHECK: @__swift_instantiateConcreteTypeFromMangledName{{.*}}@"$sSo9NSFunging_pMD"{{.*}}!dbg // CHECK: [[OBJC_CLASS:%[^, =]+]] = call ptr @swift_getObjCClassFromMetadata(ptr %0) - // CHECK: {{%[^, =]+}} = getelementptr inbounds %Any, ptr [[ALLOCA]], i32 0, i32 0 - // CHECK: [[ANYBUF:%[^, =]+]] = getelementptr inbounds %Any, ptr [[ALLOCA]], i32 0, i32 0 + // CHECK: {{%[^, =]+}} = getelementptr inbounds{{.*}} %Any, ptr [[ALLOCA]], i32 0, i32 0 + // CHECK: [[ANYBUF:%[^, =]+]] = getelementptr inbounds{{.*}} %Any, ptr [[ALLOCA]], i32 0, i32 0 // CHECK: [[BUFPTR:%[^, =]+]] = {{.*}} [[ANYBUF]] // CHECK: store {{.*}} [[OBJC_CLASS]], {{.*}} [[BUFPTR]] // CHECK: call swiftcc void @"$s15objc_extensions11opaquePrintyyypF"(ptr {{.*}} [[ALLOCA]]) diff --git a/test/IRGen/objc_function_merge.swift b/test/IRGen/objc_function_merge.swift index c2e07effb02fc..19ee8d37c6857 100644 --- a/test/IRGen/objc_function_merge.swift +++ b/test/IRGen/objc_function_merge.swift @@ -43,9 +43,9 @@ class Derived : Base { // Check if the objc methods are not generated with the unnamed_addr attribute. -// CHECK-IR-DAG: define {{.*}} @"$s4test4BaseC20supportsSecureCodingSbvgZTo"({{[^\)]*}}) #{{[0-9]+}} { -// CHECK-IR-DAG: define {{.*}} @"$s4test4BaseC6encode4withySo7NSCoderC_tFTo"({{[^\)]*}}) #{{[0-9]+}} { -// CHECK-IR-DAG: define {{.*}} @"$s4test7DerivedC20supportsSecureCodingSbvgZTo"({{[^\)]*}}) #{{[0-9]+}} { +// CHECK-IR-DAG: define {{.*}} @"$s4test4BaseC20supportsSecureCodingSbvgZTo"({{.*}}) #{{[0-9]+}} { +// CHECK-IR-DAG: define {{.*}} @"$s4test4BaseC6encode4withySo7NSCoderC_tFTo"({{.*}}) #{{[0-9]+}} { +// CHECK-IR-DAG: define {{.*}} @"$s4test7DerivedC20supportsSecureCodingSbvgZTo"({{.*}}) #{{[0-9]+}} { let d = Derived(s: "") if #available(macOS 10.13, iOS 11, tvOS 11, watchOS 4, *) { diff --git a/test/IRGen/objc_implementation.swift b/test/IRGen/objc_implementation.swift index 844ef699cbc0d..6b1384eeb8de5 100644 --- a/test/IRGen/objc_implementation.swift +++ b/test/IRGen/objc_implementation.swift @@ -357,7 +357,7 @@ public func fn(impl: ImplClass, swiftSub: SwiftSubclass) { // // This function should directly gather the field sizes and invoke the metadata update. // CHECK: %classFields = alloca [4 x ptr] -// CHECK: [[FIELDS_ARRAY:%[0-9]+]] = getelementptr inbounds [4 x ptr], ptr %classFields, i32 0, i32 0 +// CHECK: [[FIELDS_ARRAY:%[0-9]+]] = getelementptr inbounds{{.*}} [4 x ptr], ptr %classFields, i32 0, i32 0 // CHECK: store ptr getelementptr inbounds (ptr, ptr @"$sBi32_WV", i32 8), ptr {{%[0-9]+}} // CHECK: {{%[0-9]+}} = call swiftcc %swift.metadata_response @"$ss6MirrorVSgMa"(i64 63) // CHECK: store ptr {{%[0-9]+}}, ptr {{%[0-9]+}} diff --git a/test/IRGen/pack_metadata_marker_inserter_onone.swift b/test/IRGen/pack_metadata_marker_inserter_onone.swift index 343dd62131a4d..4a7f79365db7f 100644 --- a/test/IRGen/pack_metadata_marker_inserter_onone.swift +++ b/test/IRGen/pack_metadata_marker_inserter_onone.swift @@ -23,7 +23,7 @@ public struct S { // CHECK-LLVM: [[G_METADATA_PACK:%[^,]+]] = alloca [1 x ptr] // CHECK-LLVM: call void @llvm.lifetime.start.p0( // CHECK-LLVM-SAME: ptr [[G_METADATA_PACK]]) -// CHECK-LLVM: [[G_METADATA_PACK_T_SLOT:%[^,]+]] = getelementptr inbounds [1 x ptr], ptr [[G_METADATA_PACK]] +// CHECK-LLVM: [[G_METADATA_PACK_T_SLOT:%[^,]+]] = getelementptr inbounds{{.*}} [1 x ptr], ptr [[G_METADATA_PACK]] // CHECK-LLVM: store ptr [[T_METADATA]], ptr [[G_METADATA_PACK_T_SLOT]] // CHECK-LLVM: [[G_METADATA_RESPONSE:%[^,]+]] = call swiftcc %swift.metadata_response @"$s35pack_metadata_marker_inserter_onone1GVMa"( // CHECK-LLVM-SAME: ptr [[G_METADATA_PACK]]) @@ -72,7 +72,7 @@ public func consume2S(_: consuming S, _: consuming S) {} // CHECK-LLVM: [[S_METADATA:%[^,]+]] = extractvalue %swift.metadata_response [[S_METADATA_RESPONSE]] // CHECK-LLVM: [[S_VWT_ADDR:%[^,]+]] = getelementptr inbounds ptr, ptr [[S_METADATA]], [[INT]] -1 // CHECK-LLVM: [[S_VWT:%[^,]+]] = load ptr, ptr [[S_VWT_ADDR]] -// CHECK-LLVM: [[S_SIZE_ADDR:%[^,]+]] = getelementptr inbounds %swift.vwtable, ptr +// CHECK-LLVM: [[S_SIZE_ADDR:%[^,]+]] = getelementptr inbounds{{.*}} %swift.vwtable, ptr // HECK-LLVM-SAME: [[S_VWT]] // CHECK-LLVM: [[S_SIZE:%[^,]+]] = load [[INT]], ptr [[S_SIZE_ADDR]] // CHECK-LLVM: [[COPY_1_ADDR:%[^,]+]] = alloca i8, [[INT]] [[S_SIZE]] @@ -83,7 +83,7 @@ public func consume2S(_: consuming S, _: consuming S) {} // CHECK-LLVM-SAME: ptr [[COPY_2_ADDR]]) // CHECK-LLVM: call void @llvm.lifetime.start.p0( // CHECK-LLVM-SAME: ptr [[G_METADATA_PACK]]) -// CHECK-LLVM: [[G_METADATA_PACK_T_SLOT:%[^,]+]] = getelementptr inbounds [1 x ptr], ptr [[G_METADATA_PACK]] +// CHECK-LLVM: [[G_METADATA_PACK_T_SLOT:%[^,]+]] = getelementptr inbounds{{.*}} [1 x ptr], ptr [[G_METADATA_PACK]] // CHECK-LLVM: store ptr [[T_METADATA]], ptr [[G_METADATA_PACK_T_SLOT]] // CHECK-LLVM: [[G_METADATA_RESPONSE:%[^,]+]] = call swiftcc %swift.metadata_response @"$s35pack_metadata_marker_inserter_onone1GVMa"( // CHECK-LLVM-SAME: ptr [[G_METADATA_PACK]]) diff --git a/test/IRGen/package_bypass_resilience_class.swift b/test/IRGen/package_bypass_resilience_class.swift index 9496cfe063e82..0df131fdd0a76 100644 --- a/test/IRGen/package_bypass_resilience_class.swift +++ b/test/IRGen/package_bypass_resilience_class.swift @@ -46,7 +46,7 @@ final public class Pub { // method lookup function for Core.Pub // CHECK-COMMON-DAG: define {{(dllexport |protected )?}}swiftcc ptr @"$s4Core3PubCMu"(ptr %0, ptr %1) - // CHECK-COMMON-DAG: define {{(dllexport |protected )?}}swiftcc ptr @"$s4Core3PubCfd"(ptr readnone returned swiftself %0) + // CHECK-COMMON-DAG: define {{(dllexport |protected )?}}swiftcc ptr @"$s4Core3PubCfd"(ptr readnone returned swiftself{{.*}} %0) // CHECK-COMMON-DAG: define {{(dllexport |protected )?}}swiftcc void @"$s4Core3PubCfD"(ptr swiftself %0) } @@ -97,7 +97,7 @@ package class Foo { // CHECK-COMMON-DAG: define {{(dllexport |protected )?}}swiftcc { ptr, ptr } @"$s4Core3FooC02myB0AA3PubCSgvMTj" // Core.Foo.deinit - // CHECK-COMMON-DAG: define {{(dllexport |protected )?}}swiftcc ptr @"$s4Core3FooCfd"(ptr readonly returned swiftself %0) + // CHECK-COMMON-DAG: define {{(dllexport |protected )?}}swiftcc ptr @"$s4Core3FooCfd"(ptr readonly returned swiftself{{.*}} %0) // Core.Foo.__deallocating_deinit // CHECK-COMMON-DAG: define {{(dllexport |protected )?}}swiftcc void @"$s4Core3FooCfD"(ptr swiftself %0) @@ -119,7 +119,7 @@ final package class Bar { // method lookup function for Core.Bar // CHECK-COMMON-DAG: define {{(dllexport |protected )?}}swiftcc ptr @"$s4Core3BarCMu"(ptr %0, ptr %1) - // CHECK-COMMON-DAG: define {{(dllexport |protected )?}}swiftcc ptr @"$s4Core3BarCfd"(ptr readonly returned swiftself %0) + // CHECK-COMMON-DAG: define {{(dllexport |protected )?}}swiftcc ptr @"$s4Core3BarCfd"(ptr readonly returned swiftself{{.*}} %0) // CHECK-COMMON-DAG: define {{(dllexport |protected )?}}swiftcc void @"$s4Core3BarCfD"(ptr swiftself %0) package var myBar: Pub? diff --git a/test/IRGen/package_resilience.swift b/test/IRGen/package_resilience.swift index ab089270ecd9c..c00033a5b2081 100644 --- a/test/IRGen/package_resilience.swift +++ b/test/IRGen/package_resilience.swift @@ -172,22 +172,22 @@ package class ClassWithResilientThenEmpty { // ClassWithResilientProperty.color getter // CHECK-LABEL: define{{( dllexport)?}}{{( protected)?}} swiftcc i32 @"$s18package_resilience26ClassWithResilientPropertyC5colors5Int32Vvg"(ptr swiftself %0) -// CHECK: [[FIELD_ADDR:%.*]] = getelementptr inbounds %T18package_resilience26ClassWithResilientPropertyC, ptr %0, -// CHECK-NEXT: [[FIELD_PAYLOAD:%.*]] = getelementptr inbounds %Ts5Int32V, ptr [[FIELD_ADDR]], i32 0, i32 0 +// CHECK: [[FIELD_ADDR:%.*]] = getelementptr inbounds{{.*}} %T18package_resilience26ClassWithResilientPropertyC, ptr %0, +// CHECK-NEXT: [[FIELD_PAYLOAD:%.*]] = getelementptr inbounds{{.*}} %Ts5Int32V, ptr [[FIELD_ADDR]], i32 0, i32 0 // CHECK-NEXT: [[FIELD_VALUE:%.*]] = load i32, ptr [[FIELD_PAYLOAD]] // CHECK: ret i32 [[FIELD_VALUE]] // CHECK-LABEL: define{{( dllexport)?}}{{( protected)?}} swiftcc i32 @"$s18package_resilience33ClassWithResilientlySizedPropertyC5colors5Int32Vvg"(ptr swiftself %0) -// CHECK: [[FIELD_ADDR:%.*]] = getelementptr inbounds %T18package_resilience33ClassWithResilientlySizedPropertyC, ptr %0, -// CHECK-NEXT: [[FIELD_PAYLOAD:%.*]] = getelementptr inbounds %Ts5Int32V, ptr [[FIELD_ADDR]], i32 0, i32 0 +// CHECK: [[FIELD_ADDR:%.*]] = getelementptr inbounds{{.*}} %T18package_resilience33ClassWithResilientlySizedPropertyC, ptr %0, +// CHECK-NEXT: [[FIELD_PAYLOAD:%.*]] = getelementptr inbounds{{.*}} %Ts5Int32V, ptr [[FIELD_ADDR]], i32 0, i32 0 // CHECK-NEXT: [[FIELD_VALUE:%.*]] = load i32, ptr [[FIELD_PAYLOAD]] // CHECK: ret i32 [[FIELD_VALUE]] // ClassWithIndirectResilientEnum.color getter // CHECK-LABEL: define{{( dllexport)?}}{{( protected)?}} swiftcc i32 @"$s18package_resilience30ClassWithIndirectResilientEnumC5colors5Int32Vvg"(ptr swiftself %0) -// CHECK: [[FIELD_PTR:%.*]] = getelementptr inbounds %T18package_resilience30ClassWithIndirectResilientEnumC, ptr %0, i32 0, i32 2 -// CHECK-NEXT: [[FIELD_PAYLOAD:%.*]] = getelementptr inbounds %Ts5Int32V, ptr [[FIELD_PTR]], i32 0, i32 0 +// CHECK: [[FIELD_PTR:%.*]] = getelementptr inbounds{{.*}} %T18package_resilience30ClassWithIndirectResilientEnumC, ptr %0, i32 0, i32 2 +// CHECK-NEXT: [[FIELD_PAYLOAD:%.*]] = getelementptr inbounds{{.*}} %Ts5Int32V, ptr [[FIELD_PTR]], i32 0, i32 0 // CHECK-NEXT: [[FIELD_VALUE:%.*]] = load i32, ptr [[FIELD_PAYLOAD]] // CHECK-NEXT: ret i32 [[FIELD_VALUE]] @@ -197,8 +197,8 @@ package class ClassWithResilientThenEmpty { // MyResilientChild.field getter // CHECK-LABEL: define{{( dllexport)?}}{{( protected)?}} swiftcc i32 @"$s18package_resilience16MyResilientChildC5fields5Int32Vvg"(ptr swiftself %0) -// CHECK: [[FIELD_ADDR:%.*]] = getelementptr inbounds %T18package_resilience16MyResilientChildC, ptr %0, i32 0, i32 2 -// CHECK-NEXT: [[PAYLOAD_ADDR:%.*]] = getelementptr inbounds %Ts5Int32V, ptr [[FIELD_ADDR]], i32 0, i32 0 +// CHECK: [[FIELD_ADDR:%.*]] = getelementptr inbounds{{.*}} %T18package_resilience16MyResilientChildC, ptr %0, i32 0, i32 2 +// CHECK-NEXT: [[PAYLOAD_ADDR:%.*]] = getelementptr inbounds{{.*}} %Ts5Int32V, ptr [[FIELD_ADDR]], i32 0, i32 0 // CHECK-NEXT: [[RESULT:%.*]] = load i32, ptr [[PAYLOAD_ADDR]] // CHECK: ret i32 [[RESULT]] @@ -232,14 +232,14 @@ public func memoryLayoutDotAlignmentWithResilientStruct() -> Int { // CHECK: define{{( dllexport)?}}{{( protected)?}} swiftcc void @"$s18package_resilience31constructResilientEnumNoPayload14resilient_enum6MediumOyF" package func constructResilientEnumNoPayload() -> Medium { - // CHECK: [[FIELD_PTR:%.*]] = getelementptr inbounds %T14resilient_enum6MediumO, ptr %0, i32 0, i32 1 + // CHECK: [[FIELD_PTR:%.*]] = getelementptr inbounds{{.*}} %T14resilient_enum6MediumO, ptr %0, i32 0, i32 1 // CHECK: ret void return Medium.Paper } // CHECK: define{{( dllexport)?}}{{( protected)?}} swiftcc void @"$s18package_resilience39constructExhaustiveWithResilientMembers14resilient_enum11SimpleShapeOyF" package func constructExhaustiveWithResilientMembers() -> SimpleShape { - // CHECK: [[FIELD_PTR:%.*]] = getelementptr inbounds %T14resilient_enum11SimpleShapeO, ptr %0, i32 0, i32 1 + // CHECK: [[FIELD_PTR:%.*]] = getelementptr inbounds{{.*}} %T14resilient_enum11SimpleShapeO, ptr %0, i32 0, i32 1 // CHECK: ret void return .KleinBottle } diff --git a/test/IRGen/package_resilient_as_public_by_default.swift b/test/IRGen/package_resilient_as_public_by_default.swift index dedf6470da569..ac3dce2659aee 100644 --- a/test/IRGen/package_resilient_as_public_by_default.swift +++ b/test/IRGen/package_resilient_as_public_by_default.swift @@ -87,7 +87,7 @@ public class PublicClassWithPbProperties { // CHECK: define{{.*}} swiftcc {{.*}} @"$s18package_resilience27PublicClassWithPbPropertiesC5colors5Int32Vvg"(ptr swiftself %0) // CHECK: [[OFFSET:%.*]] = load {{i32|i64}}, ptr @"$s18package_resilience27PublicClassWithPbPropertiesC5colors5Int32VvpWvd" // CHECK-NEXT: [[PTR:%.*]] = getelementptr inbounds i8, ptr {{.*}}, {{i32|i64}} [[OFFSET]] -// CHECK-NEXT: [[VALUE:%.*]] = getelementptr inbounds %Ts5Int32V, ptr [[PTR]] +// CHECK-NEXT: [[VALUE:%.*]] = getelementptr inbounds{{.*}} %Ts5Int32V, ptr [[PTR]] // CHECK-NEXT: [[RET:%.*]] = load {{i32|i64}}, ptr [[VALUE]] // CHECK-NEXT: ret {{i32|i64}} [[RET]] @@ -126,7 +126,7 @@ package class PkgClassWithPublicProperties { // CHECK: define{{.*}} swiftcc {{.*}} @"$s18package_resilience28PkgClassWithPublicPropertiesC5colors5Int32Vvg"(ptr swiftself %0) // CHECK: [[OFFSET:%.*]] = load {{i32|i64}}, ptr @"$s18package_resilience28PkgClassWithPublicPropertiesC5colors5Int32VvpWvd" // CHECK-NEXT: [[PTR:%.*]] = getelementptr inbounds i8, ptr {{.*}}, {{i32|i64}} [[OFFSET]] -// CHECK-NEXT: [[VALUE:%.*]] = getelementptr inbounds %Ts5Int32V, ptr [[PTR]] +// CHECK-NEXT: [[VALUE:%.*]] = getelementptr inbounds{{.*}} %Ts5Int32V, ptr [[PTR]] // CHECK-NEXT: [[RET:%.*]] = load {{i32|i64}}, ptr [[VALUE]] // CHECK-NEXT: ret {{i32|i64}} [[RET]] @@ -162,7 +162,7 @@ package class PkgWithPackageProperties { // CHECK: define{{.*}} swiftcc {{.*}} @"$s18package_resilience24PkgWithPackagePropertiesC5colors5Int32Vvg"(ptr swiftself %0) // CHECK: [[OFFSET:%.*]] = load {{i32|i64}}, ptr @"$s18package_resilience24PkgWithPackagePropertiesC5colors5Int32VvpWvd" // CHECK-NEXT: [[PTR:%.*]] = getelementptr inbounds i8, ptr {{.*}}, {{i32|i64}} [[OFFSET]] -// CHECK-NEXT: [[VALUE:%.*]] = getelementptr inbounds %Ts5Int32V, ptr [[PTR]] +// CHECK-NEXT: [[VALUE:%.*]] = getelementptr inbounds{{.*}} %Ts5Int32V, ptr [[PTR]] // CHECK-NEXT: [[RET:%.*]] = load {{i32|i64}}, ptr [[VALUE]] // CHECK-NEXT: ret {{i32|i64}} [[RET]] @@ -182,12 +182,12 @@ public class PublicClassWithFrozenPbProperties { // PublicClassWithFrozenPbProperties.p getter // CHECK: define{{.*}} swiftcc { {{i32|i64}}, {{i32|i64}} } @"$s18package_resilience33PublicClassWithFrozenPbPropertiesC1p16resilient_struct0fC5PointVvg"(ptr swiftself %0) -// CHECK: [[T1:%.*]] = getelementptr inbounds %T18package_resilience33PublicClassWithFrozenPbPropertiesC, ptr {{.*}} -// CHECK-NEXT: [[X:%.*]] = getelementptr inbounds %T16resilient_struct17FrozenPublicPointV, ptr [[T1]] -// CHECK-NEXT: [[XVAL:%.*]] = getelementptr inbounds %TSi, ptr [[X]] +// CHECK: [[T1:%.*]] = getelementptr inbounds{{.*}} %T18package_resilience33PublicClassWithFrozenPbPropertiesC, ptr {{.*}} +// CHECK-NEXT: [[X:%.*]] = getelementptr inbounds{{.*}} %T16resilient_struct17FrozenPublicPointV, ptr [[T1]] +// CHECK-NEXT: [[XVAL:%.*]] = getelementptr inbounds{{.*}} %TSi, ptr [[X]] // CHECK-NEXT: [[T2:%.*]] = load {{i32|i64}}, ptr [[XVAL]] -// CHECK-NEXT: [[Y:%.*]] = getelementptr inbounds %T16resilient_struct17FrozenPublicPointV, ptr [[T1]] -// CHECK-NEXT: [[YVAL:%.*]] = getelementptr inbounds %TSi, ptr [[Y]] +// CHECK-NEXT: [[Y:%.*]] = getelementptr inbounds{{.*}} %T16resilient_struct17FrozenPublicPointV, ptr [[T1]] +// CHECK-NEXT: [[YVAL:%.*]] = getelementptr inbounds{{.*}} %TSi, ptr [[Y]] // CHECK-NEXT: [[T3:%.*]] = load {{i32|i64}}, ptr [[YVAL]] // CHECK-NEXT: [[T4:%.*]] = insertvalue {{.*}} undef, {{i32|i64}} [[T2]], 0 // CHECK-NEXT: [[T5:%.*]] = insertvalue {{.*}} [[T4]], {{i32|i64}} [[T3]], 1 @@ -197,8 +197,8 @@ public class PublicClassWithFrozenPbProperties { // PublicClassWithFrozenPbProperties.color getter // CHECK: define{{.*}} swiftcc {{i32|64}} @"$s18package_resilience33PublicClassWithFrozenPbPropertiesC5colors5Int32Vvg"(ptr swiftself %0) -// CHECK: [[T1:%.*]] = getelementptr inbounds %T18package_resilience33PublicClassWithFrozenPbPropertiesC, ptr {{.*}} -// CHECK-NEXT: [[VAL:%.*]] = getelementptr inbounds %Ts5Int32V, ptr [[T1]] +// CHECK: [[T1:%.*]] = getelementptr inbounds{{.*}} %T18package_resilience33PublicClassWithFrozenPbPropertiesC, ptr {{.*}} +// CHECK-NEXT: [[VAL:%.*]] = getelementptr inbounds{{.*}} %Ts5Int32V, ptr [[T1]] // CHECK-NEXT: [[T2:%.*]] = load {{i32|i64}}, ptr [[VAL]] // CHECK-NEXT: ret {{i32|i64}} [[T2]] @@ -219,12 +219,12 @@ package class PkgClassWithFrozenPublicProperties { // PkgClassWithFrozenPublicProperties.p getter // CHECK: define{{.*}} swiftcc { i64, i64 } @"$s18package_resilience34PkgClassWithFrozenPublicPropertiesC1p16resilient_struct0fG5PointVvg"(ptr swiftself %0) -// CHECK: [[T1:%.*]] = getelementptr inbounds %T18package_resilience34PkgClassWithFrozenPublicPropertiesC, ptr {{.*}} -// CHECK-NEXT: [[X:%.*]] = getelementptr inbounds %T16resilient_struct17FrozenPublicPointV, ptr [[T1]] -// CHECK-NEXT: [[XVAL:%.*]] = getelementptr inbounds %TSi, ptr [[X]] +// CHECK: [[T1:%.*]] = getelementptr inbounds{{.*}} %T18package_resilience34PkgClassWithFrozenPublicPropertiesC, ptr {{.*}} +// CHECK-NEXT: [[X:%.*]] = getelementptr inbounds{{.*}} %T16resilient_struct17FrozenPublicPointV, ptr [[T1]] +// CHECK-NEXT: [[XVAL:%.*]] = getelementptr inbounds{{.*}} %TSi, ptr [[X]] // CHECK-NEXT: [[T2:%.*]] = load {{i32|i64}}, ptr [[XVAL]] -// CHECK-NEXT: [[Y:%.*]] = getelementptr inbounds %T16resilient_struct17FrozenPublicPointV, ptr [[T1]] -// CHECK-NEXT: [[YVAL:%.*]] = getelementptr inbounds %TSi, ptr [[Y]] +// CHECK-NEXT: [[Y:%.*]] = getelementptr inbounds{{.*}} %T16resilient_struct17FrozenPublicPointV, ptr [[T1]] +// CHECK-NEXT: [[YVAL:%.*]] = getelementptr inbounds{{.*}} %TSi, ptr [[Y]] // CHECK-NEXT: [[T3:%.*]] = load {{i32|i64}}, ptr [[YVAL]] // CHECK-NEXT: [[T4:%.*]] = insertvalue { i64, i64 } undef, i64 [[T2]], 0 // CHECK-NEXT: [[T5:%.*]] = insertvalue { i64, i64 } %4, i64 [[T3]], 1 @@ -233,8 +233,8 @@ package class PkgClassWithFrozenPublicProperties { // PkgClassWithFrozenPublicProperties.color getter // CHECK: define{{.*}} swiftcc {{i32|64}} @"$s18package_resilience34PkgClassWithFrozenPublicPropertiesC5colors5Int32Vvg"(ptr swiftself %0) #0 { -// CHECK: [[T1:%.*]] = getelementptr inbounds %T18package_resilience34PkgClassWithFrozenPublicPropertiesC, ptr {{.*}} -// CHECK-NEXT: [[VAL:%.*]] = getelementptr inbounds %Ts5Int32V, ptr [[T1]] +// CHECK: [[T1:%.*]] = getelementptr inbounds{{.*}} %T18package_resilience34PkgClassWithFrozenPublicPropertiesC, ptr {{.*}} +// CHECK-NEXT: [[VAL:%.*]] = getelementptr inbounds{{.*}} %Ts5Int32V, ptr [[T1]] // CHECK-NEXT: [[T2:%.*]] = load {{i32|i64}}, ptr [[VAL]] // CHECK-NEXT: ret {{i32|i64}} [[T2]] @@ -269,7 +269,7 @@ public class PublicClassWithEnumIndirectCases { // CHECK: define{{( dllexport)?}}{{( protected)?}} swiftcc {{.*}} @"$s18package_resilience32PublicClassWithEnumIndirectCasesC5colors5Int32Vvg"(ptr swiftself %0) // CHECK: [[OFFSET:%.*]] = load {{i32|i64}}, ptr @"$s18package_resilience32PublicClassWithEnumIndirectCasesC5colors5Int32VvpWvd", // CHECK-NEXT: [[PTR:%.*]] = getelementptr inbounds i8, ptr {{.*}}, {{i32|i64}} [[OFFSET]] -// CHECK-NEXT: [[VALUE:%.*]] = getelementptr inbounds %Ts5Int32V, ptr [[PTR]] +// CHECK-NEXT: [[VALUE:%.*]] = getelementptr inbounds{{.*}} %Ts5Int32V, ptr [[PTR]] // CHECK-NEXT: [[RET:%.*]] = load {{i32|i64}}, ptr [[VALUE]] // CHECK-NEXT: ret {{i32|i64}} [[RET]] @@ -302,7 +302,7 @@ package class PkgClassWithEnumIndirectCases { // CHECK: define{{( dllexport)?}}{{( protected)?}} swiftcc {{i32|64}} @"$s18package_resilience29PkgClassWithEnumIndirectCasesC5colors5Int32Vvg"(ptr swiftself %0) // CHECK: [[OFFSET:%.*]] = load {{i32|i64}}, ptr @"$s18package_resilience29PkgClassWithEnumIndirectCasesC5colors5Int32VvpWvd", // CHECK-NEXT: [[PTR:%.*]] = getelementptr inbounds i8, ptr {{.*}}, {{i32|i64}} [[OFFSET]] -// CHECK-NEXT: [[VALUE:%.*]] = getelementptr inbounds %Ts5Int32V, ptr [[PTR]] +// CHECK-NEXT: [[VALUE:%.*]] = getelementptr inbounds{{.*}} %Ts5Int32V, ptr [[PTR]] // CHECK-NEXT: [[RET:%.*]] = load {{i32|i64}}, ptr [[VALUE]] // CHECK-NEXT: ret {{i32|i64}} [[RET]] @@ -339,8 +339,8 @@ public class PublicClassConcreteChild : PublicClassGenericParent { // PublicClassConcreteChild.x getter // CHECK: define{{( dllexport)?}}{{( protected)?}} swiftcc {{.*}} @"$s18package_resilience24PublicClassConcreteChildC1xSivg"(ptr swiftself %0) -// CHECK: [[PTR:%.*]] = getelementptr inbounds %T18package_resilience24PublicClassConcreteChildC, ptr {{.*}} -// CHECK-NEXT: [[VAL:%.*]] = getelementptr inbounds %TSi, ptr [[PTR]] +// CHECK: [[PTR:%.*]] = getelementptr inbounds{{.*}} %T18package_resilience24PublicClassConcreteChildC, ptr {{.*}} +// CHECK-NEXT: [[VAL:%.*]] = getelementptr inbounds{{.*}} %TSi, ptr [[PTR]] // CHECK-NEXT: [[RET:%.*]] = load {{i32|i64}}, ptr [[VAL]] // CHECK-NEXT: ret {{i32|i64}} [[RET]] @@ -379,8 +379,8 @@ package class PkgClassConcreteChild : PkgClassGenericParent { // PkgClassConcreteChild.x getter // CHECK: define{{( dllexport)?}}{{( protected)?}} swiftcc {{.*}} @"$s18package_resilience21PkgClassConcreteChildC1xSivg"(ptr swiftself %0) -// CHECK: [[PTR:%.*]] = getelementptr inbounds %T18package_resilience21PkgClassConcreteChildC, ptr {{.*}} -// CHECK-NEXT: [[VAL:%.*]] = getelementptr inbounds %TSi, ptr [[PTR]] +// CHECK: [[PTR:%.*]] = getelementptr inbounds{{.*}} %T18package_resilience21PkgClassConcreteChildC, ptr {{.*}} +// CHECK-NEXT: [[VAL:%.*]] = getelementptr inbounds{{.*}} %TSi, ptr [[PTR]] // CHECK-NEXT: [[RET:%.*]] = load {{i32|i64}}, ptr [[VAL]] // CHECK-NEXT: ret {{i32|i64}} [[RET]] @@ -470,7 +470,7 @@ package class PkgClassWithResilientThenEmpty { // CHECK: define{{.*}} swiftcc {{.*}} @"$s18package_resilience35memoryLayoutDotSizeWithPublicStructSiyF"() public func memoryLayoutDotSizeWithPublicStruct() -> Int { // CHECK: [[FIELD_VALUE:%.*]] = load ptr, ptr {{.*}}, - // CHECK-NEXT: [[FIELD_PTR:%.*]] = getelementptr inbounds %swift.vwtable, ptr [[FIELD_VALUE]], + // CHECK-NEXT: [[FIELD_PTR:%.*]] = getelementptr inbounds{{.*}} %swift.vwtable, ptr [[FIELD_VALUE]], // CHECK-NEXT: [[SIZE:%.*]] = load {{i32|i64}}, ptr [[FIELD_PTR]], // CHECK-NEXT: ret {{i32|i64}} [[SIZE]] return MemoryLayout.size @@ -479,7 +479,7 @@ public func memoryLayoutDotSizeWithPublicStruct() -> Int { // CHECK: define{{.*}} swiftcc {{.*}} @"$s18package_resilience32memoryLayoutDotSizeWithPkgStructSiyF"() package func memoryLayoutDotSizeWithPkgStruct() -> Int { // CHECK: [[FIELD_VALUE:%.*]] = load ptr, ptr {{.*}}, -// CHECK-NEXT: [[FIELD_PTR:%.*]] = getelementptr inbounds %swift.vwtable, ptr [[FIELD_VALUE]], +// CHECK-NEXT: [[FIELD_PTR:%.*]] = getelementptr inbounds{{.*}} %swift.vwtable, ptr [[FIELD_VALUE]], // CHECK-NEXT: [[SIZE:%.*]] = load {{i32|i64}}, ptr [[FIELD_PTR]], // CHECK-NEXT: ret {{i32|i64}} [[SIZE]] return MemoryLayout.size @@ -495,7 +495,7 @@ public func memoryLayoutDotSizeWithFrozenPublicStruct() -> Int { // CHECK: define{{.*}} swiftcc {{.*}} @"$s18package_resilience37memoryLayoutDotStrideWithPublicStructSiyF"() public func memoryLayoutDotStrideWithPublicStruct() -> Int { // CHECK: [[FIELD_VALUE:%.*]] = load ptr, ptr {{.*}}, -// CHECK-NEXT: [[FIELD_PTR:%.*]] = getelementptr inbounds %swift.vwtable, ptr [[FIELD_VALUE]], +// CHECK-NEXT: [[FIELD_PTR:%.*]] = getelementptr inbounds{{.*}} %swift.vwtable, ptr [[FIELD_VALUE]], // CHECK-NEXT: [[STRIDE:%.*]] = load {{i32|i64}}, ptr [[FIELD_PTR]], // CHECK-NEXT: ret {{i32|i64}} [[STRIDE]] return MemoryLayout.stride @@ -504,7 +504,7 @@ public func memoryLayoutDotStrideWithPublicStruct() -> Int { // CHECK: define{{.*}} swiftcc {{.*}} @"$s18package_resilience34memoryLayoutDotStrideWithPkgStructSiyF"() package func memoryLayoutDotStrideWithPkgStruct() -> Int { // CHECK: [[FIELD_VALUE:%.*]] = load ptr, ptr {{.*}}, -// CHECK-NEXT: [[FIELD_PTR:%.*]] = getelementptr inbounds %swift.vwtable, ptr [[FIELD_VALUE]], +// CHECK-NEXT: [[FIELD_PTR:%.*]] = getelementptr inbounds{{.*}} %swift.vwtable, ptr [[FIELD_VALUE]], // CHECK-NEXT: [[STRIDE:%.*]] = load {{i32|i64}}, ptr [[FIELD_PTR]], // CHECK-NEXT: ret {{i32|i64}} [[STRIDE]] return MemoryLayout.stride @@ -520,7 +520,7 @@ public func memoryLayoutDotStrideWithFrozenPublicStruct() -> Int { // CHECK: define{{.*}} swiftcc {{.*}} @"$s18package_resilience40memoryLayoutDotAlignmentWithPublicStructSiyF"() public func memoryLayoutDotAlignmentWithPublicStruct() -> Int { // CHECK: [[FIELD_VALUE:%.*]] = load ptr, ptr {{.*}}, -// CHECK-NEXT: [[FIELD_PTR:%.*]] = getelementptr inbounds %swift.vwtable, ptr [[FIELD_VALUE]], +// CHECK-NEXT: [[FIELD_PTR:%.*]] = getelementptr inbounds{{.*}} %swift.vwtable, ptr [[FIELD_VALUE]], // CHECK-NEXT: [[FIELD_FLAGS:%.*]] = load {{i32|i64}}, ptr [[FIELD_PTR]], // CHECK-NEXT: [[FIELD_ADDR:%.*]] = zext {{i32|i64}} [[FIELD_FLAGS]] to {{i32|i64}} // CHECK-NEXT: [[FIELD_MASK:%.*]] = and {{i32|i64}} [[FIELD_ADDR]] @@ -532,7 +532,7 @@ public func memoryLayoutDotAlignmentWithPublicStruct() -> Int { // CHECK: define{{.*}} swiftcc {{.*}} @"$s18package_resilience43memoryLayoutDotAlignmentWithResilientStructSiyF"() package func memoryLayoutDotAlignmentWithResilientStruct() -> Int { // CHECK: [[FIELD_VALUE:%.*]] = load ptr, ptr {{.*}}, -// CHECK-NEXT: [[FIELD_PTR:%.*]] = getelementptr inbounds %swift.vwtable, ptr [[FIELD_VALUE]], +// CHECK-NEXT: [[FIELD_PTR:%.*]] = getelementptr inbounds{{.*}} %swift.vwtable, ptr [[FIELD_VALUE]], // CHECK-NEXT: [[FIELD_FLAGS:%.*]] = load {{i32|i64}}, ptr [[FIELD_PTR]], // CHECK-NEXT: [[FIELD_ADDR:%.*]] = zext {{i32|i64}} [[FIELD_FLAGS]] to {{i32|i64}} // CHECK-NEXT: [[FIELD_MASK:%.*]] = and {{i32|i64}} [[FIELD_ADDR]] diff --git a/test/IRGen/partial_apply.sil b/test/IRGen/partial_apply.sil index 6ebfac8e03a82..0c79bfae956a2 100644 --- a/test/IRGen/partial_apply.sil +++ b/test/IRGen/partial_apply.sil @@ -53,9 +53,9 @@ entry(%a : $SwiftClass): // CHECK: define{{.*}} swiftcc void @partial_apply_two_classes_on_stack(ptr %0, ptr %1) // CHECK: entry: // CHECK: [[CTX:%.*]] = alloca i8, i64 32, align 16 -// CHECK: [[CAPTURE1:%.*]] = getelementptr inbounds <{ %swift.refcounted, ptr, ptr }>, ptr [[CTX]], i32 0, i32 1 +// CHECK: [[CAPTURE1:%.*]] = getelementptr inbounds{{.*}} <{ %swift.refcounted, ptr, ptr }>, ptr [[CTX]], i32 0, i32 1 // CHECK: store ptr %0, ptr [[CAPTURE1]], align 8 -// CHECK: [[CAPTURE2:%.*]] = getelementptr inbounds <{ %swift.refcounted, ptr, ptr }>, ptr [[CTX]], i32 0, i32 2 +// CHECK: [[CAPTURE2:%.*]] = getelementptr inbounds{{.*}} <{ %swift.refcounted, ptr, ptr }>, ptr [[CTX]], i32 0, i32 2 // CHECK: store ptr %1, ptr [[CAPTURE2]], align 8 // CHECK: call swiftcc void @use_closure(ptr @"$s34partially_applyable_to_two_classesTA", ptr [[CTX]]) // CHECK: call void @swift_release(ptr %0) @@ -199,9 +199,9 @@ sil public_external @guaranteed_captured_class_pair_param : $@convention(thin) ( // CHECK-LABEL: define{{( dllexport)?}}{{( protected)?}} swiftcc { ptr, ptr } @partial_apply_guaranteed_class_pair_param(ptr %0, ptr %1) // CHECK: [[CONTEXT_OBJ:%.*]] = call noalias ptr @swift_allocObject // CHECK: [[PAIR_ADDR:%.*]] = getelementptr -// CHECK-NEXT: [[X_ADDR:%.*]] = getelementptr inbounds %T13partial_apply14SwiftClassPairV, ptr [[PAIR_ADDR]], i32 0, i32 0 +// CHECK-NEXT: [[X_ADDR:%.*]] = getelementptr inbounds{{.*}} %T13partial_apply14SwiftClassPairV, ptr [[PAIR_ADDR]], i32 0, i32 0 // CHECK-NEXT: store ptr %0, ptr [[X_ADDR]], align -// CHECK-NEXT: [[Y_ADDR:%.*]] = getelementptr inbounds %T13partial_apply14SwiftClassPairV, ptr [[PAIR_ADDR]], i32 0, i32 1 +// CHECK-NEXT: [[Y_ADDR:%.*]] = getelementptr inbounds{{.*}} %T13partial_apply14SwiftClassPairV, ptr [[PAIR_ADDR]], i32 0, i32 1 // CHECK-NEXT: store ptr %1, ptr [[Y_ADDR]], align // CHECK-NOT: {{retain|release}} // CHECK: [[T0:%.*]] = insertvalue {{.*}} [[PARTIAL_APPLY_FORWARDER:@"\$s[A-Za-z0-9_]+TA"]], {{.*}} [[CONTEXT_OBJ]] @@ -209,9 +209,9 @@ sil public_external @guaranteed_captured_class_pair_param : $@convention(thin) ( // CHECK: define internal swiftcc i64 [[PARTIAL_APPLY_FORWARDER]] // CHECK: [[PAIR_ADDR:%.*]] = getelementptr -// CHECK-NEXT: [[X_ADDR:%.*]] = getelementptr inbounds %T13partial_apply14SwiftClassPairV, ptr [[PAIR_ADDR]], i32 0, i32 0 +// CHECK-NEXT: [[X_ADDR:%.*]] = getelementptr inbounds{{.*}} %T13partial_apply14SwiftClassPairV, ptr [[PAIR_ADDR]], i32 0, i32 0 // CHECK-NEXT: [[X:%.*]] = load ptr, ptr [[X_ADDR]], align -// CHECK-NEXT: [[Y_ADDR:%.*]] = getelementptr inbounds %T13partial_apply14SwiftClassPairV, ptr [[PAIR_ADDR]], i32 0, i32 1 +// CHECK-NEXT: [[Y_ADDR:%.*]] = getelementptr inbounds{{.*}} %T13partial_apply14SwiftClassPairV, ptr [[PAIR_ADDR]], i32 0, i32 1 // CHECK-NEXT: [[Y:%.*]] = load ptr, ptr [[Y_ADDR]], align // CHECK-NOT: retain // CHECK: [[RESULT:%.*]] = call swiftcc i64 @guaranteed_captured_class_pair_param(i64 %0, ptr [[X]], ptr [[Y]]) @@ -276,7 +276,7 @@ sil public_external @captured_fixed_and_dependent_params : $@convention(thin) , ptr [[T0]], i32 0, i32 1 +// CHECK-NEXT: [[BUFFER:%.*]] = getelementptr inbounds{{.*}} <{ %swift.refcounted, [24 x i8], %TSi }>, ptr [[T0]], i32 0, i32 1 // CHECK-NEXT: store ptr %T, ptr [[BUFFER]], align 8 // CHECK-NEXT: [[T0:%.*]] = getelementptr inbounds ptr, ptr [[BUFFER]], i32 1 // CHECK-NEXT: store ptr %T.P2, ptr [[T0]], align 8 @@ -617,7 +617,7 @@ bb0(%x : $*SwiftClassPair): sil public_external @use_closure2 : $@convention(thin) (@noescape @callee_guaranteed (Int) -> Int) -> () // CHECK-LABEL: define{{.*}} swiftcc void @partial_apply_stack_callee_guaranteed_indirect_guaranteed_class_pair_param(ptr {{.*}} %0) -// CHECK: [[CLOSURE_STACK_ADDR:%.*]] = getelementptr inbounds <{ %swift.refcounted, ptr }>, ptr {{.*}}, i32 0, i32 1 +// CHECK: [[CLOSURE_STACK_ADDR:%.*]] = getelementptr inbounds{{.*}} <{ %swift.refcounted, ptr }>, ptr {{.*}}, i32 0, i32 1 // CHECK: store ptr %0, ptr [[CLOSURE_STACK_ADDR]] // CHECK: call swiftcc void @use_closure2(ptr [[FORWARDER:@[^,]*]], ptr {{.*}}) // CHECK: ret void @@ -641,7 +641,7 @@ bb0(%x : $*SwiftClassPair): } // CHECK: define{{.*}} swiftcc void @partial_apply_stack_callee_guaranteed_indirect_in_class_pair_param(ptr {{.*}} %0) -// CHECK: [[CLOSURE_STACK_ADDR:%.*]] = getelementptr inbounds <{ %swift.refcounted, ptr }>, ptr {{.*}}, i32 0, i32 1 +// CHECK: [[CLOSURE_STACK_ADDR:%.*]] = getelementptr inbounds{{.*}} <{ %swift.refcounted, ptr }>, ptr {{.*}}, i32 0, i32 1 // CHECK: store ptr %0, ptr [[CLOSURE_STACK_ADDR]] // CHECK: call swiftcc void @use_closure2(ptr [[FORWARDER:@[^,]*]], ptr {{.*}}) // CHECK: ret void @@ -675,7 +675,7 @@ sil public_external @closure : $@convention(thin) (@in_guaranteed ResilientInt, // CHECK: [[MD:%.*]] = extractvalue %swift.metadata_response [[T0]], 0 // CHECK: [[VWT_PTR:%.*]] = getelementptr inbounds ptr, ptr [[MD]], i64 -1 // CHECK: [[VWT:%.*]] = load ptr, ptr [[VWT_PTR]] -// CHECK: [[FLAGS_PTR:%.*]] = getelementptr inbounds %swift.vwtable, ptr [[VWT]], i32 0, i32 10 +// CHECK: [[FLAGS_PTR:%.*]] = getelementptr inbounds{{.*}} %swift.vwtable, ptr [[VWT]], i32 0, i32 10 // CHECK: [[FLAGS:%.*]] = load i32, ptr [[FLAGS_PTR]] // CHECK: [[FLAGS2:%.*]] = zext i32 [[FLAGS]] to i64 // CHECK: [[ALIGNMASK:%.*]] = and i64 [[FLAGS2]], 255 diff --git a/test/IRGen/partial_apply_coro.sil b/test/IRGen/partial_apply_coro.sil index 26ed13a46b652..0d728dbb08645 100644 --- a/test/IRGen/partial_apply_coro.sil +++ b/test/IRGen/partial_apply_coro.sil @@ -46,10 +46,10 @@ bb2: // CHECK-NEXT: entry: // CHECK-NEXT: %[[CTX:.*]] = alloca [[[BUFFER_SIZE]] x i8] // CHECK-NEXT: %[[PA_CTX_BOX:.*]] = call noalias ptr @swift_allocObject(ptr getelementptr inbounds (%swift.full_boxmetadata, ptr @metadata -// CHECK-NEXT: %[[PA_CTX:.*]] = getelementptr inbounds <{ %swift.refcounted, %TSf }>, ptr %[[PA_CTX_BOX]], i32 0, i32 1 -// CHECK-NEXT: %[[PA_ARG:.*]] = getelementptr inbounds %TSf, ptr %[[PA_CTX]], i32 0, i32 0 +// CHECK-NEXT: %[[PA_CTX:.*]] = getelementptr inbounds{{.*}} <{ %swift.refcounted, %TSf }>, ptr %[[PA_CTX_BOX]], i32 0, i32 1 +// CHECK-NEXT: %[[PA_ARG:.*]] = getelementptr inbounds{{.*}} %TSf, ptr %[[PA_CTX]], i32 0, i32 0 // CHECK-NEXT: store float %[[ARG]], ptr %[[PA_ARG]] -// CHECK-NEXT: %[[CTXPTR:.*]] = getelementptr inbounds [[[BUFFER_SIZE]] x i8], ptr %[[CTX]], i32 0, i32 0 +// CHECK-NEXT: %[[CTXPTR:.*]] = getelementptr inbounds{{.*}} [[[BUFFER_SIZE]] x i8], ptr %[[CTX]], i32 0, i32 0 // CHECK-NEXT: call void @llvm.lifetime.start.p0(i64 [[BUFFER_SIZE]], ptr %[[CTXPTR]]) // CHECK-NEXT: %[[YIELD_PAIR:.*]] = call swiftcc { ptr, float } @"$s6yield1TA{{.*}}"(ptr noalias dereferenceable([[BUFFER_SIZE]]) %[[CTXPTR]], ptr swiftself %[[PA_CTX_BOX]]) // CHECK-NEXT: %[[RESUME:.*]] = extractvalue { ptr, float } %[[YIELD_PAIR]], 0 @@ -71,10 +71,10 @@ bb2: // CHECK-NEXT: %[[SPILL:.*]] = call ptr @malloc // CHECK-NEXT: store ptr %[[SPILL]], ptr %[[CTX]] // CHECK-NEXT: %[[FRAME:.*]] = getelementptr inbounds %"$s6yield1TA.Frame", ptr %[[SPILL]], i32 0, i32 0 -// CHECK-NEXT: %[[PA_CTX:.*]] = getelementptr inbounds <{ %swift.refcounted, %TSf }>, ptr %[[PA_CTX_BOX]], i32 0, i32 1 -// CHECK-NEXT: %[[PA_ARG:.*]] = getelementptr inbounds %TSf, ptr %[[PA_CTX]], i32 0, i32 0 +// CHECK-NEXT: %[[PA_CTX:.*]] = getelementptr inbounds{{.*}} <{ %swift.refcounted, %TSf }>, ptr %[[PA_CTX_BOX]], i32 0, i32 1 +// CHECK-NEXT: %[[PA_ARG:.*]] = getelementptr inbounds{{.*}} %TSf, ptr %[[PA_CTX]], i32 0, i32 0 // CHECK-NEXT: %[[ARG:.*]] = load float, ptr %[[PA_ARG]] -// CHECK-NEXT: %[[FRAMEPTR:.*]] = getelementptr inbounds [[[BUFFER_SIZE]] x i8], ptr %[[FRAME]], i32 0, i32 0 +// CHECK-NEXT: %[[FRAMEPTR:.*]] = getelementptr inbounds{{.*}} [[[BUFFER_SIZE]] x i8], ptr %[[FRAME]], i32 0, i32 0 // CHECK-NEXT: call void @llvm.lifetime.start.p0(i64 [[BUFFER_SIZE]], ptr %[[FRAMEPTR]]) // CHECK-NEXT: %[[YIELD_PAIR:.*]] = call swiftcc { ptr, float } @yield1(ptr noalias dereferenceable([[BUFFER_SIZE]]) %[[FRAMEPTR]], float %[[ARG]]) // CHECK-NEXT: %[[RESUME:.*]] = extractvalue { ptr, float } %[[YIELD_PAIR]], 0 @@ -99,7 +99,7 @@ bb2: // CHECK-LABEL: unwind: // CHECK: %[[RESUME_ADDR0:.*]] = getelementptr inbounds %"$s6yield1TA.Frame", ptr %[[FRAME]], i32 0, i32 1 // CHECK-NEXT: %[[RESUME0:.*]] = load ptr, ptr %[[RESUME_ADDR0]] -// CHECK-NEXT: %[[CTX0:.*]] = getelementptr inbounds [[[BUFFER_SIZE]] x i8], ptr %[[FRAMEPTR]], i32 0, i32 0 +// CHECK-NEXT: %[[CTX0:.*]] = getelementptr inbounds{{.*}} [[[BUFFER_SIZE]] x i8], ptr %[[FRAMEPTR]], i32 0, i32 0 // CHECK-NEXT: call swiftcc void %[[RESUME0]](ptr noalias dereferenceable([[BUFFER_SIZE]]) %[[CTX0]], i1 true) // CHECK-NEXT: call void @free(ptr %[[FRAME]]) // CHECK-NEXT: unreachable @@ -107,7 +107,7 @@ bb2: // CHECK-LABEL: resume: // CHECK: %[[RESUME_ADDR1:.*]] = getelementptr inbounds %"$s6yield1TA.Frame", ptr %[[FRAME]], i32 0, i32 1 // CHECK-NEXT: %[[RESUME1:.*]] = load ptr, ptr %[[RESUME_ADDR1]] -// CHECK-NEXT: %[[CTX1:.*]] = getelementptr inbounds [[[BUFFER_SIZE]] x i8], ptr %[[FRAMEPTR]], i32 0, i32 0 +// CHECK-NEXT: %[[CTX1:.*]] = getelementptr inbounds{{.*}} [[[BUFFER_SIZE]] x i8], ptr %[[FRAMEPTR]], i32 0, i32 0 // CHECK-NEXT: call swiftcc void %[[RESUME1]](ptr noalias dereferenceable([[BUFFER_SIZE]]) %[[CTX1]], i1 false) // CHECK-NEXT: call void @free(ptr %[[FRAME]]) // CHECK-NEXT: ret void @@ -174,14 +174,14 @@ bb2: // CHECK-NEXT: entry: // CHECK-NEXT: %[[CTX:.*]] = alloca [[[BUFFER_SIZE]] x i8] // CHECK-NEXT: %[[PA_CTX_BOX:.*]] = call noalias ptr @swift_allocObject(ptr getelementptr inbounds (%swift.full_boxmetadata, ptr @metadata.{{.*}} -// CHECK-NEXT: %[[PA_CTX0:.*]] = getelementptr inbounds <{ %swift.refcounted, %TSi, %TSf }>, ptr %[[PA_CTX_BOX]], i32 0, i32 1 -// CHECK-NEXT: %[[PA_ARG0:.*]] = getelementptr inbounds %TSi, ptr %[[PA_CTX0]], i32 0, i32 0 +// CHECK-NEXT: %[[PA_CTX0:.*]] = getelementptr inbounds{{.*}} <{ %swift.refcounted, %TSi, %TSf }>, ptr %[[PA_CTX_BOX]], i32 0, i32 1 +// CHECK-NEXT: %[[PA_ARG0:.*]] = getelementptr inbounds{{.*}} %TSi, ptr %[[PA_CTX0]], i32 0, i32 0 // CHECK-64-NEXT: store i64 %[[ARG0]], ptr %[[PA_ARG0]], align 8 // CHECK-32-NEXT: store i32 %[[ARG0]], ptr %[[PA_ARG0]], align 4 -// CHECK-NEXT: %[[PA_CTX1:.*]] = getelementptr inbounds <{ %swift.refcounted, %TSi, %TSf }>, ptr %[[PA_CTX_BOX]], i32 0, i32 2 -// CHECK-NEXT: %[[PA_ARG1:.*]] = getelementptr inbounds %TSf, ptr %[[PA_CTX1]], i32 0, i32 0 +// CHECK-NEXT: %[[PA_CTX1:.*]] = getelementptr inbounds{{.*}} <{ %swift.refcounted, %TSi, %TSf }>, ptr %[[PA_CTX_BOX]], i32 0, i32 2 +// CHECK-NEXT: %[[PA_ARG1:.*]] = getelementptr inbounds{{.*}} %TSf, ptr %[[PA_CTX1]], i32 0, i32 0 // CHECK-NEXT: store float %[[ARG1]], ptr %[[PA_ARG1]] -// CHECK-NEXT: %[[CTXPTR:.*]] = getelementptr inbounds [[[BUFFER_SIZE]] x i8], ptr %[[CTX]], i32 0, i32 0 +// CHECK-NEXT: %[[CTXPTR:.*]] = getelementptr inbounds{{.*}} [[[BUFFER_SIZE]] x i8], ptr %[[CTX]], i32 0, i32 0 // CHECK-NEXT: call void @llvm.lifetime.start.p0(i64 [[BUFFER_SIZE]], ptr %[[CTXPTR]]) // CHECK-NEXT: %[[YIELD_PAIR:.*]] = call swiftcc { ptr, float } @"$s6yield2TA{{.*}}"(ptr noalias dereferenceable([[BUFFER_SIZE]]) %[[CTXPTR]], ptr swiftself %[[PA_CTX_BOX]]) // CHECK-NEXT: %[[RESUME:.*]] = extractvalue { ptr, float } %[[YIELD_PAIR]], 0 @@ -202,13 +202,13 @@ bb2: // CHECK-NEXT: %[[SPILL:.*]] = call ptr @malloc // CHECK-NEXT: store ptr %[[SPILL]], ptr %[[CTX]] // CHECK-NEXT: %[[FRAME:.*]] = getelementptr inbounds %"$s6yield2TA.Frame", ptr %[[SPILL]], i32 0, i32 0 -// CHECK-NEXT: %[[BOXPTR0:.*]] = getelementptr inbounds <{ %swift.refcounted, %TSi, %TSf }>, ptr %[[PA_CTX_BOX]], i32 0, i32 1 -// CHECK-NEXT: %[[ARG0PTR:.*]] = getelementptr inbounds %TSi, ptr %[[BOXPTR0]], i32 0, i32 0 +// CHECK-NEXT: %[[BOXPTR0:.*]] = getelementptr inbounds{{.*}} <{ %swift.refcounted, %TSi, %TSf }>, ptr %[[PA_CTX_BOX]], i32 0, i32 1 +// CHECK-NEXT: %[[ARG0PTR:.*]] = getelementptr inbounds{{.*}} %TSi, ptr %[[BOXPTR0]], i32 0, i32 0 // CHECK-NEXT: %[[ARG0:.*]] = load [[ARGTYPE:i(32|64)]], ptr %[[ARG0PTR]] -// CHECK-NEXT: %[[BOXPTR1:.*]] = getelementptr inbounds <{ %swift.refcounted, %TSi, %TSf }>, ptr %[[PA_CTX_BOX]], i32 0, i32 2 -// CHECK-NEXT: %[[ARG1PTR:.*]] = getelementptr inbounds %TSf, ptr %[[BOXPTR1]], i32 0, i32 0 +// CHECK-NEXT: %[[BOXPTR1:.*]] = getelementptr inbounds{{.*}} <{ %swift.refcounted, %TSi, %TSf }>, ptr %[[PA_CTX_BOX]], i32 0, i32 2 +// CHECK-NEXT: %[[ARG1PTR:.*]] = getelementptr inbounds{{.*}} %TSf, ptr %[[BOXPTR1]], i32 0, i32 0 // CHECK-NEXT: %[[ARG1:.*]] = load float, ptr %[[ARG1PTR]] -// CHECK-NEXT: %[[FRAMEPTR:.*]] = getelementptr inbounds [[[BUFFER_SIZE]] x i8], ptr %[[FRAME]], i32 0, i32 0 +// CHECK-NEXT: %[[FRAMEPTR:.*]] = getelementptr inbounds{{.*}} [[[BUFFER_SIZE]] x i8], ptr %[[FRAME]], i32 0, i32 0 // CHECK-NEXT: call void @llvm.lifetime.start.p0(i64 [[BUFFER_SIZE]], ptr %[[FRAMEPTR]]) // CHECK-NEXT: %[[YIELD_PAIR:.*]] = call swiftcc { ptr, float } @yield2(ptr noalias dereferenceable([[BUFFER_SIZE]]) %[[FRAMEPTR]], [[ARGTYPE]] %[[ARG0]], float %[[ARG1]]) // CHECK-NEXT: %[[RESUME:.*]] = extractvalue { ptr, float } %[[YIELD_PAIR]], 0 @@ -235,7 +235,7 @@ bb2: // CHECK-LABEL: unwind: // CHECK: %[[RESUME_ADDR0:.*]] = getelementptr inbounds %"$s6yield2TA.Frame", ptr %[[FRAME]], i32 0, i32 1 // CHECK-NEXT: %[[RESUME0:.*]] = load ptr, ptr %[[RESUME_ADDR0]] -// CHECK-NEXT: %[[CTX0:.*]] = getelementptr inbounds [[[BUFFER_SIZE]] x i8], ptr %[[FRAMEPTR]], i32 0, i32 0 +// CHECK-NEXT: %[[CTX0:.*]] = getelementptr inbounds{{.*}} [[[BUFFER_SIZE]] x i8], ptr %[[FRAMEPTR]], i32 0, i32 0 // CHECK-NEXT: %{{.*}} = call swiftcc [[ARGTYPE]] %[[RESUME0]](ptr noalias dereferenceable([[BUFFER_SIZE]]) %[[CTX0]], i1 true) // CHECK-NEXT: call void @free(ptr %[[FRAME]]) // CHECK-NEXT: unreachable @@ -243,7 +243,7 @@ bb2: // CHECK-LABEL: resume: // CHECK: %[[RESUME_ADDR1:.*]] = getelementptr inbounds %"$s6yield2TA.Frame", ptr %[[FRAME]], i32 0, i32 1 // CHECK-NEXT: %[[RESUME1:.*]] = load ptr, ptr %[[RESUME_ADDR1]] -// CHECK-NEXT: %[[CTX1:.*]] = getelementptr inbounds [[[BUFFER_SIZE]] x i8], ptr %[[FRAMEPTR]], i32 0, i32 0 +// CHECK-NEXT: %[[CTX1:.*]] = getelementptr inbounds{{.*}} [[[BUFFER_SIZE]] x i8], ptr %[[FRAMEPTR]], i32 0, i32 0 // CHECK-NEXT: %[[RET:.*]] = call swiftcc [[ARGTYPE]] %[[RESUME1]](ptr noalias dereferenceable([[BUFFER_SIZE]]) %[[CTX1]], i1 false) // CHECK-NEXT: call void @free(ptr %[[FRAME]]) // CHECK-NEXT: ret [[ARGTYPE]] %[[RET]] @@ -298,7 +298,7 @@ bb2: // CHECK-SAMEL (float %[[ARG:.*]]) // CHECK-NEXT: entry: // CHECK: %[[CTX:.*]] = alloca [[[BUFFER_SIZE]] x i8] -// CHECK: %[[CTXPTR:.*]] = getelementptr inbounds [[[BUFFER_SIZE]] x i8], ptr %[[CTX]], i32 0, i32 0 +// CHECK: %[[CTXPTR:.*]] = getelementptr inbounds{{.*}} [[[BUFFER_SIZE]] x i8], ptr %[[CTX]], i32 0, i32 0 // CHECK: call void @llvm.lifetime.start.p0(i64 [[BUFFER_SIZE]], ptr %[[CTXPTR]]) // CHECK: %[[YIELD_PAIR:.*]] = call swiftcc { ptr, ptr } @"$s9yieldgen1TA{{.*}}"(ptr noalias dereferenceable([[BUFFER_SIZE]]) %[[CTXPTR]], ptr swiftself // CHECK: %[[RESUME:.*]] = extractvalue { ptr, ptr } %[[YIELD_PAIR]], 0 @@ -315,7 +315,7 @@ bb2: // CHECK: %[[SPILL:.*]] = call ptr @malloc // CHECK: store ptr %[[SPILL]], ptr %[[CTX]] // CHECK: %[[FRAME:.*]] = getelementptr inbounds %"$s9yieldgen1TA.Frame", ptr %[[SPILL]], i32 0, i32 0 -// CHECK: %[[FRAMEPTR:.*]] = getelementptr inbounds [[[BUFFER_SIZE]] x i8], ptr %[[FRAME]], i32 0, i32 0 +// CHECK: %[[FRAMEPTR:.*]] = getelementptr inbounds{{.*}} [[[BUFFER_SIZE]] x i8], ptr %[[FRAME]], i32 0, i32 0 // CHECK: call void @llvm.lifetime.start.p0(i64 [[BUFFER_SIZE]], ptr %[[FRAMEPTR]]) // CHECK: %[[YIELD_PAIR:.*]] = call swiftcc { ptr, ptr } @yieldgen1(ptr noalias dereferenceable([[BUFFER_SIZE]]) %[[FRAMEPTR]], ptr noalias %[[PA_CTX_BOX2:.*]], ptr @"$sSfN") // CHECK: %[[RESUME:.*]] = extractvalue { ptr, ptr } %[[YIELD_PAIR]], 0 @@ -339,7 +339,7 @@ bb2: // CHECK-64: %[[RESUME_ADDR0:.*]] = getelementptr inbounds %"$s9yieldgen1TA.Frame", ptr %[[FRAME]], i32 0, i32 1 // CHECK-32: %[[RESUME_ADDR0:.*]] = getelementptr inbounds %"$s9yieldgen1TA.Frame", ptr %[[FRAME]], i32 0, i32 2 // CHECK: %[[RESUME0:.*]] = load ptr, ptr %[[RESUME_ADDR0]] -// CHECK: %[[CTX:.*]] = getelementptr inbounds [[[BUFFER_SIZE]] x i8], ptr %[[FRAMEPTR]], i32 0, i32 0 +// CHECK: %[[CTX:.*]] = getelementptr inbounds{{.*}} [[[BUFFER_SIZE]] x i8], ptr %[[FRAMEPTR]], i32 0, i32 0 // CHECK: call swiftcc void %[[RESUME0]](ptr noalias dereferenceable([[BUFFER_SIZE]]) %[[CTX]], i1 true) // CHECK: call void @free(ptr %[[FRAME]]) // CHECK: unreachable @@ -348,7 +348,7 @@ bb2: // CHECK-64: %[[RESUME_ADDR1:.*]] = getelementptr inbounds %"$s9yieldgen1TA.Frame", ptr %[[FRAME]], i32 0, i32 1 // CHECK-32: %[[RESUME_ADDR1:.*]] = getelementptr inbounds %"$s9yieldgen1TA.Frame", ptr %[[FRAME]], i32 0, i32 2 // CHECK: %[[RESUME1:.*]] = load ptr, ptr %[[RESUME_ADDR1]] -// CHECK: %[[CTX:.*]] = getelementptr inbounds [[[BUFFER_SIZE]] x i8], ptr %[[FRAMEPTR]], i32 0, i32 0 +// CHECK: %[[CTX:.*]] = getelementptr inbounds{{.*}} [[[BUFFER_SIZE]] x i8], ptr %[[FRAMEPTR]], i32 0, i32 0 // CHECK: call swiftcc void %[[RESUME1]](ptr noalias dereferenceable([[BUFFER_SIZE]]) %[[CTX]], i1 false) // CHECK: call void @free(ptr %[[FRAME]]) // CHECK: ret void @@ -424,14 +424,14 @@ bb2: // CHECK: %[[INDIRECT_RET:.*]] = alloca %TSf, align 4 // CHECK: %[[CTX:.*]] = alloca [[[BUFFER_SIZE]] x i8] // CHECK: call void @llvm.lifetime.start.p0(i64 4, ptr %[[ARG_COPY]]) -// CHECK: %[[ARG_COPY_PTR:.*]] = getelementptr inbounds %TSf, ptr %[[ARG_COPY]], i32 0, i32 0 +// CHECK: %[[ARG_COPY_PTR:.*]] = getelementptr inbounds{{.*}} %TSf, ptr %[[ARG_COPY]], i32 0, i32 0 // CHECK: store float %[[ARG]], ptr %[[ARG_COPY_PTR]], align 4 // CHECK: %[[PA_CTX_BOX:.*]] = call noalias ptr @swift_allocObject -// CHECK: %[[PA_CTX_ARG:.*]] = getelementptr inbounds <{ %swift.refcounted, %TSf }>, ptr %[[PA_CTX_BOX]], i32 0, i32 1 +// CHECK: %[[PA_CTX_ARG:.*]] = getelementptr inbounds{{.*}} <{ %swift.refcounted, %TSf }>, ptr %[[PA_CTX_BOX]], i32 0, i32 1 // CHECK-64: call void @llvm.memcpy.p0.p0.i64(ptr align 8 %[[PA_CTX_ARG]], ptr align 4 %[[ARG_COPY]], i64 4, i1 false) // CHECK-32: call void @llvm.memcpy.p0.p0.i32(ptr align 4 %[[PA_CTX_ARG]], ptr align 4 %[[ARG_COPY]], i32 4, i1 false) // CHECK: call void @llvm.lifetime.start.p0(i64 4, ptr %[[INDIRECT_RET]]) -// CHECK: %[[CTXPTR:.*]] = getelementptr inbounds [[[BUFFER_SIZE]] x i8], ptr %[[CTX]], i32 0, i32 0 +// CHECK: %[[CTXPTR:.*]] = getelementptr inbounds{{.*}} [[[BUFFER_SIZE]] x i8], ptr %[[CTX]], i32 0, i32 0 // CHECK: call void @llvm.lifetime.start.p0(i64 [[BUFFER_SIZE]], ptr %[[CTXPTR]]) // CHECK: %[[YIELD_PAIR:.*]] = call swiftcc { ptr, ptr } @"$s9yieldgen2TA{{.*}}"(ptr noalias dereferenceable([[BUFFER_SIZE]]) %[[CTXPTR]], ptr %[[INDIRECT_RET]], ptr swiftself // CHECK: %[[RESUME:.*]] = extractvalue { ptr, ptr } %[[YIELD_PAIR]], 0 @@ -451,11 +451,11 @@ bb2: // CHECK: store ptr %[[SPILL]], ptr %[[CTX]] // CHECK-NEXT: %[[SPILL2:.*]] = getelementptr inbounds %"$s9yieldgen2TA.Frame", ptr %[[SPILL]], i32 0 // CHECK: %[[FRAME:.*]] = getelementptr inbounds %"$s9yieldgen2TA.Frame", ptr %[[SPILL]], i32 0, i32 0 -// CHECK: %[[ARG:.*]] = getelementptr inbounds <{ %swift.refcounted, %TSf }>, ptr %[[PA_BOX_CTX:.*]], i32 0, i32 1 +// CHECK: %[[ARG:.*]] = getelementptr inbounds{{.*}} <{ %swift.refcounted, %TSf }>, ptr %[[PA_BOX_CTX:.*]], i32 0, i32 1 // CHECK: call void @llvm.lifetime.start.p0(i64 4, ptr %[[SPILL2:.*]]) // CHECK-64: call void @llvm.memcpy.p0.p0.i64(ptr align 4 %[[SPILL2:.*]], ptr align 8 %[[ARG]], i64 4, i1 false) // CHECK-32: call void @llvm.memcpy.p0.p0.i32(ptr align 4 %[[SPILL2:.*]], ptr align 4 %[[ARG]], i32 4, i1 false) -// CHECK: %[[FRAMEPTR:.*]] = getelementptr inbounds [[[BUFFER_SIZE]] x i8], ptr %[[FRAME]], i32 0, i32 0 +// CHECK: %[[FRAMEPTR:.*]] = getelementptr inbounds{{.*}} [[[BUFFER_SIZE]] x i8], ptr %[[FRAME]], i32 0, i32 0 // CHECK: call void @llvm.lifetime.start.p0(i64 [[BUFFER_SIZE]], ptr %[[FRAMEPTR]]) // CHECK: %[[YIELD_PAIR:.*]] = call swiftcc { ptr, ptr } @yieldgen2(ptr noalias dereferenceable([[BUFFER_SIZE]]) %[[FRAMEPTR]], ptr %[[INDIRECT_RET]], ptr noalias %[[SPILL2]], ptr @"$sSfN") // CHECK: %[[RESUME:.*]] = extractvalue { ptr, ptr } %[[YIELD_PAIR]], 0 @@ -479,7 +479,7 @@ bb2: // CHECK-LABEL: unwind: // CHECK: %[[RESUME_ADDR0:.*]] = getelementptr inbounds %"$s9yieldgen2TA.Frame", ptr %[[FRAME]], i32 0 // CHECK: %[[RESUME0:.*]] = load ptr, ptr %[[RESUME_ADDR0:.*]] -// CHECK: %[[CTX:.*]] = getelementptr inbounds [[[BUFFER_SIZE]] x i8], ptr %[[FRAMEPTR]], i32 0, i32 0 +// CHECK: %[[CTX:.*]] = getelementptr inbounds{{.*}} [[[BUFFER_SIZE]] x i8], ptr %[[FRAMEPTR]], i32 0, i32 0 // CHECK: call swiftcc void %[[RESUME0]](ptr noalias dereferenceable([[BUFFER_SIZE]]) %[[CTX]], i1 true) // CHECK: call void @free(ptr %[[FRAME]]) // CHECK: unreachable @@ -488,7 +488,7 @@ bb2: // CHECK-64: %[[RESUME_ADDR1:.*]] = getelementptr inbounds %"$s9yieldgen2TA.Frame", ptr %[[FRAME]], i32 0, i32 1 // CHECK-32: %[[RESUME_ADDR1:.*]] = getelementptr inbounds %"$s9yieldgen2TA.Frame", ptr %[[FRAME]], i32 0, i32 2 // CHECK: %[[RESUME1:.*]] = load ptr, ptr %[[RESUME_ADDR1]] -// CHECK: %[[CTX:.*]] = getelementptr inbounds [[[BUFFER_SIZE]] x i8], ptr %[[FRAMEPTR]], i32 0, i32 0 +// CHECK: %[[CTX:.*]] = getelementptr inbounds{{.*}} [[[BUFFER_SIZE]] x i8], ptr %[[FRAMEPTR]], i32 0, i32 0 // CHECK: call swiftcc void %[[RESUME1]](ptr noalias dereferenceable([[BUFFER_SIZE]]) %[[CTX]], i1 false) // CHECK: call void @free(ptr %[[FRAME]]) // CHECK: ret void @@ -561,7 +561,7 @@ bb2: // CHECK: %[[SPILL:.*]] = call ptr @malloc // CHECK: store ptr %[[SPILL]], ptr %[[CTX]] // CHECK: %[[FRAME:.*]] = getelementptr inbounds %"$s28partially_applyable_to_classTA.Frame", ptr %[[SPILL]], i32 0, i32 0 -// CHECK: %[[FRAMEPTR:.*]] = getelementptr inbounds [[[BUFFER_SIZE]] x i8], ptr %[[FRAME]], i32 0, i32 0 +// CHECK: %[[FRAMEPTR:.*]] = getelementptr inbounds{{.*}} [[[BUFFER_SIZE]] x i8], ptr %[[FRAME]], i32 0, i32 0 // CHECK: call void @llvm.lifetime.start.p0(i64 [[BUFFER_SIZE]], ptr %[[FRAMEPTR]]) // CHECK: %[[YIELD_PAIR:.*]] = call swiftcc { ptr, ptr } @partially_applyable_to_class(ptr noalias dereferenceable([[BUFFER_SIZE]]) %[[FRAMEPTR]], ptr %[[PA_CTX_BOX]]) // CHECK: %[[RESUME:.*]] = extractvalue { ptr, ptr } %[[YIELD_PAIR]], 0 @@ -583,7 +583,7 @@ bb2: // CHECK-LABEL: unwind: // CHECK: %[[RESUME_ADDR0:.*]] = getelementptr inbounds %"$s28partially_applyable_to_classTA.Frame", ptr %[[FRAME]], i32 0, i32 1 // CHECK: %[[RESUME0:.*]] = load ptr, ptr %[[RESUME_ADDR0]] -// CHECK: %[[CTX0:.*]] = getelementptr inbounds [[[BUFFER_SIZE]] x i8], ptr %[[FRAMEPTR]], i32 0, i32 0 +// CHECK: %[[CTX0:.*]] = getelementptr inbounds{{.*}} [[[BUFFER_SIZE]] x i8], ptr %[[FRAMEPTR]], i32 0, i32 0 // CHECK: call swiftcc void %[[RESUME0]](ptr noalias dereferenceable([[BUFFER_SIZE]]) %[[CTX0]], i1 true) // CHECK: call void @free(ptr %[[FRAME]]) // CHECK: unreachable @@ -591,7 +591,7 @@ bb2: // CHECK-LABEL: resume: // CHECK: %[[RESUME_ADDR1:.*]] = getelementptr inbounds %"$s28partially_applyable_to_classTA.Frame", ptr %[[FRAME]], i32 0, i32 1 // CHECK: %[[RESUME1:.*]] = load ptr, ptr %[[RESUME_ADDR1]] -// CHECK: %[[CTX1:.*]] = getelementptr inbounds [[[BUFFER_SIZE]] x i8], ptr %[[FRAMEPTR]], i32 0, i32 0 +// CHECK: %[[CTX1:.*]] = getelementptr inbounds{{.*}} [[[BUFFER_SIZE]] x i8], ptr %[[FRAMEPTR]], i32 0, i32 0 // CHECK: call swiftcc void %[[RESUME1]](ptr noalias dereferenceable([[BUFFER_SIZE]]) %[[CTX1]], i1 false) // CHECK: call void @free(ptr %[[FRAME]]) // CHECK: ret void @@ -621,7 +621,7 @@ sil @use_closure_two : $@convention(thin) (@noescape @yield_once @callee_guarant // CHECK: %[[SPILL:.*]] = call ptr @malloc // CHECK: store ptr %[[SPILL]], ptr %[[CTX]] // CHECK: %[[FRAME:.*]] = getelementptr inbounds %"$s28partially_applyable_to_classTA.{{[0-9]+}}.Frame", ptr %[[SPILL]], i32 0, i32 0 -// CHECK: %[[FRAMEPTR:.*]] = getelementptr inbounds [[[BUFFER_SIZE]] x i8], ptr %[[FRAME]], i32 0, i32 0 +// CHECK: %[[FRAMEPTR:.*]] = getelementptr inbounds{{.*}} [[[BUFFER_SIZE]] x i8], ptr %[[FRAME]], i32 0, i32 0 // CHECK: call void @llvm.lifetime.start.p0(i64 [[BUFFER_SIZE]], ptr %[[FRAMEPTR]]) // CHECK: %[[YIELD_PAIR:.*]] = call swiftcc { ptr, ptr } @partially_applyable_to_class(ptr noalias dereferenceable([[BUFFER_SIZE]]) %[[FRAMEPTR]], ptr %[[PA_CTX_BOX]]) // CHECK: %[[RESUME:.*]] = extractvalue { ptr, ptr } %[[YIELD_PAIR]], 0 @@ -643,7 +643,7 @@ sil @use_closure_two : $@convention(thin) (@noescape @yield_once @callee_guarant // CHECK-LABEL: unwind: // CHECK: %[[RESUME_ADDR0:.*]] = getelementptr inbounds %"$s28partially_applyable_to_classTA.{{[0-9]+}}.Frame", ptr %[[FRAME]], i32 0, i32 1 // CHECK: %[[RESUME0:.*]] = load ptr, ptr %[[RESUME_ADDR0]] -// CHECK: %[[CTX0:.*]] = getelementptr inbounds [[[BUFFER_SIZE]] x i8], ptr %[[FRAMEPTR]], i32 0, i32 0 +// CHECK: %[[CTX0:.*]] = getelementptr inbounds{{.*}} [[[BUFFER_SIZE]] x i8], ptr %[[FRAMEPTR]], i32 0, i32 0 // CHECK: call swiftcc void %[[RESUME0]](ptr noalias dereferenceable([[BUFFER_SIZE]]) %[[CTX0]], i1 true) // CHECK: call void @free(ptr %[[FRAME]]) // CHECK: unreachable @@ -651,7 +651,7 @@ sil @use_closure_two : $@convention(thin) (@noescape @yield_once @callee_guarant // CHECK-LABEL: resume: // CHECK: %[[RESUME_ADDR1:.*]] = getelementptr inbounds %"$s28partially_applyable_to_classTA.{{[0-9]+}}.Frame", ptr %[[FRAME]], i32 0, i32 1 // CHECK: %[[RESUME1:.*]] = load ptr, ptr %[[RESUME_ADDR1]] -// CHECK: %[[CTX1:.*]] = getelementptr inbounds [[[BUFFER_SIZE]] x i8], ptr %[[FRAMEPTR]], i32 0, i32 0 +// CHECK: %[[CTX1:.*]] = getelementptr inbounds{{.*}} [[[BUFFER_SIZE]] x i8], ptr %[[FRAMEPTR]], i32 0, i32 0 // CHECK: call swiftcc void %[[RESUME1]](ptr noalias dereferenceable([[BUFFER_SIZE]]) %[[CTX1]], i1 false) // CHECK: call void @free(ptr %[[FRAME]]) // CHECK: ret void @@ -703,9 +703,9 @@ bb2: // CHECK-SAME: (ptr %[[ARG0:.*]], ptr %[[ARG1:.*]]) // CHECK: entry: // CHECK: %[[BOX:.*]] = alloca i8, {{(i32|i64)}} [[BUFFER_SIZE]], align 16 -// CHECK: %[[BOXPTR0:.*]] = getelementptr inbounds <{ %swift.refcounted, ptr, ptr }>, ptr %[[BOX]], i32 0, i32 1 +// CHECK: %[[BOXPTR0:.*]] = getelementptr inbounds{{.*}} <{ %swift.refcounted, ptr, ptr }>, ptr %[[BOX]], i32 0, i32 1 // CHECK: store ptr %[[ARG0]], ptr %[[BOXPTR0]] -// CHECK: %[[BOXPTR1:.*]] = getelementptr inbounds <{ %swift.refcounted, ptr, ptr }>, ptr %[[BOX]], i32 0, i32 2 +// CHECK: %[[BOXPTR1:.*]] = getelementptr inbounds{{.*}} <{ %swift.refcounted, ptr, ptr }>, ptr %[[BOX]], i32 0, i32 2 // CHECK: store ptr %[[ARG1]], ptr %[[BOXPTR1]] // CHECK: call swiftcc void @use_closure_two(ptr @"$s34partially_applyable_to_two_classesTA{{.*}}", ptr %[[BOX]]) // CHECK: call void @swift_release(ptr %[[ARG0]]) @@ -719,11 +719,11 @@ bb2: // CHECK: %[[SPILL:.*]] = call ptr @malloc // CHECK: store ptr %[[SPILL]], ptr %[[CTX]] // CHECK: %[[FRAME:.*]] = getelementptr inbounds %"$s34partially_applyable_to_two_classesTA.Frame", ptr %[[SPILL]], i32 0, i32 0 -// CHECK: %[[PA_CTX0:.*]] = getelementptr inbounds <{ %swift.refcounted, ptr, ptr }>, ptr %[[PA_CTX_BOX]], i32 0, i32 1 +// CHECK: %[[PA_CTX0:.*]] = getelementptr inbounds{{.*}} <{ %swift.refcounted, ptr, ptr }>, ptr %[[PA_CTX_BOX]], i32 0, i32 1 // CHECK: %[[ARG0:.*]] = load ptr, ptr %[[PA_CTX0]] -// CHECK: %[[PA_CTX1:.*]] = getelementptr inbounds <{ %swift.refcounted, ptr, ptr }>, ptr %[[PA_CTX_BOX]], i32 0, i32 2 +// CHECK: %[[PA_CTX1:.*]] = getelementptr inbounds{{.*}} <{ %swift.refcounted, ptr, ptr }>, ptr %[[PA_CTX_BOX]], i32 0, i32 2 // CHECK: %[[ARG1:.*]] = load ptr, ptr %[[PA_CTX1]] -// CHECK: %[[FRAMEPTR:.*]] = getelementptr inbounds [[[BUFFER_SIZE]] x i8], ptr %[[FRAME]], i32 0, i32 0 +// CHECK: %[[FRAMEPTR:.*]] = getelementptr inbounds{{.*}} [[[BUFFER_SIZE]] x i8], ptr %[[FRAME]], i32 0, i32 0 // CHECK: call void @llvm.lifetime.start.p0(i64 [[BUFFER_SIZE]], ptr %[[FRAMEPTR]]) // CHECK: %[[YIELD_PAIR:.*]] = call swiftcc { ptr, ptr } @partially_applyable_to_two_classes(ptr noalias dereferenceable([[BUFFER_SIZE]]) %[[FRAMEPTR]], ptr %[[ARG0]], ptr %[[ARG1]]) // CHECK: %[[RESUME:.*]] = extractvalue { ptr, ptr } %[[YIELD_PAIR]], 0 @@ -745,7 +745,7 @@ bb2: // CHECK-LABEL: unwind: // CHECK: %[[RESUME_ADDR0:.*]] = getelementptr inbounds %"$s34partially_applyable_to_two_classesTA.Frame", ptr %[[FRAME]], i32 0, i32 1 // CHECK: %[[RESUME0:.*]] = load ptr, ptr %[[RESUME_ADDR0]] -// CHECK: %[[CTX0:.*]] = getelementptr inbounds [[[BUFFER_SIZE]] x i8], ptr %[[FRAMEPTR]], i32 0, i32 0 +// CHECK: %[[CTX0:.*]] = getelementptr inbounds{{.*}} [[[BUFFER_SIZE]] x i8], ptr %[[FRAMEPTR]], i32 0, i32 0 // CHECK: %{{.*}} = call swiftcc ptr %[[RESUME0]](ptr noalias dereferenceable([[BUFFER_SIZE]]) %[[CTX0]], i1 true) // CHECK: call void @free(ptr %[[FRAME]]) // CHECK: unreachable @@ -753,7 +753,7 @@ bb2: // CHECK-LABEL: resume: // CHECK: %[[RESUME_ADDR1:.*]] = getelementptr inbounds %"$s34partially_applyable_to_two_classesTA.Frame", ptr %[[FRAME]], i32 0, i32 1 // CHECK: %[[RESUME1:.*]] = load ptr, ptr %[[RESUME_ADDR1]] -// CHECK: %[[CTX1:.*]] = getelementptr inbounds [[[BUFFER_SIZE]] x i8], ptr %[[FRAMEPTR]], i32 0, i32 0 +// CHECK: %[[CTX1:.*]] = getelementptr inbounds{{.*}} [[[BUFFER_SIZE]] x i8], ptr %[[FRAMEPTR]], i32 0, i32 0 // CHECK: %[[RET:.*]] = call swiftcc ptr %[[RESUME1]](ptr noalias dereferenceable([[BUFFER_SIZE]]) %[[CTX1]], i1 false) // CHECK: call void @free(ptr %[[FRAME]]) // CHECK: ret ptr %[[RET]] @@ -804,10 +804,10 @@ bb2: // CHECK: entry: // CHECK: %[[ARG:.*]] = alloca %TSi // CHECK: call void @llvm.lifetime.start.p0(i64 {{4|8}}, ptr %[[ARG]]) -// CHECK: %[[ARGPTR:.*]] = getelementptr inbounds %TSi, ptr %[[ARG]], i32 0, i32 0 +// CHECK: %[[ARGPTR:.*]] = getelementptr inbounds{{.*}} %TSi, ptr %[[ARG]], i32 0, i32 0 // CHECK: store [[ARG_TYPE]] %[[ARG0]], ptr %[[ARGPTR]] // CHECK: %[[BOX:.*]] = call noalias ptr @swift_allocObject(ptr getelementptr inbounds (%swift.full_boxmetadata, ptr @metadata.{{.*}} -// CHECK: %[[BOXPTR:.*]] = getelementptr inbounds <{ %swift.refcounted, ptr }>, ptr %[[BOX]], i32 0, i32 1 +// CHECK: %[[BOXPTR:.*]] = getelementptr inbounds{{.*}} <{ %swift.refcounted, ptr }>, ptr %[[BOX]], i32 0, i32 1 // CHECK: store ptr %[[ARG]], ptr %[[BOXPTR]] // CHECK: call void @llvm.lifetime.end.p0(i64 {{4|8}}, ptr %[[ARG]]) // CHECK: %[[RET:.*]] = insertvalue { ptr, ptr } { ptr @"$s22generic_captured_paramTA{{.*}}", ptr undef }, ptr %[[BOX]], 1 @@ -821,9 +821,9 @@ bb2: // CHECK: %[[SPILL:.*]] = call ptr @malloc // CHECK: store ptr %[[SPILL]], ptr %[[CTX]] // CHECK: %[[FRAME:.*]] = getelementptr inbounds %"$s22generic_captured_paramTA.Frame", ptr %[[SPILL]], i32 0, i32 0 -// CHECK: %[[PA_CTX:.*]] = getelementptr inbounds <{ %swift.refcounted, ptr }>, ptr %[[PA_CTX_BOX]], i32 0, i32 1 +// CHECK: %[[PA_CTX:.*]] = getelementptr inbounds{{.*}} <{ %swift.refcounted, ptr }>, ptr %[[PA_CTX_BOX]], i32 0, i32 1 // CHECK: %[[ARG1:.*]] = load ptr, ptr %[[PA_CTX]] -// CHECK: %[[FRAMEPTR:.*]] = getelementptr inbounds [[[BUFFER_SIZE]] x i8], ptr %[[FRAME]], i32 0, i32 0 +// CHECK: %[[FRAMEPTR:.*]] = getelementptr inbounds{{.*}} [[[BUFFER_SIZE]] x i8], ptr %[[FRAME]], i32 0, i32 0 // CHECK: call void @llvm.lifetime.start.p0(i64 [[BUFFER_SIZE]], ptr %[[FRAMEPTR]]) // CHECK: %[[YIELD_PAIR:.*]] = call swiftcc { ptr, [[ARG_TYPE]] } @generic_captured_param(ptr noalias dereferenceable([[BUFFER_SIZE]]) %[[FRAMEPTR]], [[ARG_TYPE]] %[[ARG0]], ptr %[[ARG1]], ptr @"$sSiN") // CHECK: %[[RESUME:.*]] = extractvalue { ptr, [[ARG_TYPE]] } %[[YIELD_PAIR]], 0 @@ -845,7 +845,7 @@ bb2: // CHECK-LABEL: unwind: // CHECK: %[[RESUME_ADDR0:.*]] = getelementptr inbounds %"$s22generic_captured_paramTA.Frame", ptr %[[FRAME]], i32 0, i32 1 // CHECK: %[[RESUME0:.*]] = load ptr, ptr %[[RESUME_ADDR0]] -// CHECK: %[[CTX0:.*]] = getelementptr inbounds [[[BUFFER_SIZE]] x i8], ptr %[[FRAMEPTR]], i32 0, i32 0 +// CHECK: %[[CTX0:.*]] = getelementptr inbounds{{.*}} [[[BUFFER_SIZE]] x i8], ptr %[[FRAMEPTR]], i32 0, i32 0 // CHECK: call swiftcc void %[[RESUME0]](ptr noalias dereferenceable([[BUFFER_SIZE]]) %[[CTX0]], i1 true) // CHECK: call void @free(ptr %[[FRAME]]) // CHECK: unreachable @@ -853,7 +853,7 @@ bb2: // CHECK-LABEL: resume: // CHECK: %[[RESUME_ADDR1:.*]] = getelementptr inbounds %"$s22generic_captured_paramTA.Frame", ptr %[[FRAME]], i32 0, i32 1 // CHECK: %[[RESUME1:.*]] = load ptr, ptr %[[RESUME_ADDR1]] -// CHECK: %[[CTX1:.*]] = getelementptr inbounds [[[BUFFER_SIZE]] x i8], ptr %[[FRAMEPTR]], i32 0, i32 0 +// CHECK: %[[CTX1:.*]] = getelementptr inbounds{{.*}} [[[BUFFER_SIZE]] x i8], ptr %[[FRAMEPTR]], i32 0, i32 0 // CHECK: call swiftcc void %[[RESUME1]](ptr noalias dereferenceable([[BUFFER_SIZE]]) %[[CTX1]], i1 false) // CHECK: call void @free(ptr %[[FRAME]]) // CHECK: ret void @@ -881,9 +881,9 @@ entry(%i : $*T, %io : $*T): // CHECK-SAME: (ptr %[[ARG0:.*]], ptr %[[ARG1:.*]]) // CHECK: entry: // CHECK: %[[BOX:.*]] = call noalias ptr @swift_allocObject(ptr getelementptr inbounds (%swift.full_boxmetadata, ptr @metadata -// CHECK: %[[BOXPTR1:.*]] = getelementptr inbounds <{ %swift.refcounted, [{{4|8}} x i8], ptr }>, ptr %[[BOX]], i32 0, i32 1 +// CHECK: %[[BOXPTR1:.*]] = getelementptr inbounds{{.*}} <{ %swift.refcounted, [{{4|8}} x i8], ptr }>, ptr %[[BOX]], i32 0, i32 1 // CHECK: store ptr %[[ARG1]], ptr %[[BOXPTR1]] -// CHECK: %[[BOXPTR2:.*]] = getelementptr inbounds <{ %swift.refcounted, [{{4|8}} x i8], ptr }>, ptr %[[BOX]], i32 0, i32 2 +// CHECK: %[[BOXPTR2:.*]] = getelementptr inbounds{{.*}} <{ %swift.refcounted, [{{4|8}} x i8], ptr }>, ptr %[[BOX]], i32 0, i32 2 // CHECK: store ptr %[[ARG0]], ptr %[[BOXPTR2]], // CHECK: %[[RET:.*]] = insertvalue { ptr, ptr } { ptr @"$s31generic_captured_and_open_paramTA{{.*}}", ptr undef }, ptr %[[BOX]], 1 // CHECK: ret { ptr, ptr } %[[RET]] @@ -895,11 +895,11 @@ entry(%i : $*T, %io : $*T): // CHECK: %[[SPILL:.*]] = call ptr @malloc // CHECK: store ptr %[[SPILL]], ptr %[[CTX]] // CHECK: %[[FRAME:.*]] = getelementptr inbounds %"$s31generic_captured_and_open_paramTA.Frame", ptr %[[SPILL]], i32 0, i32 0 -// CHECK: %[[PA_CTX:.*]] = getelementptr inbounds <{ %swift.refcounted, [{{4|8}} x i8], ptr }>, ptr %[[PA_CTX_BOX]], i32 0, i32 1 +// CHECK: %[[PA_CTX:.*]] = getelementptr inbounds{{.*}} <{ %swift.refcounted, [{{4|8}} x i8], ptr }>, ptr %[[PA_CTX_BOX]], i32 0, i32 1 // CHECK: %[[ARG1:.*]] = load ptr, ptr %[[PA_CTX]] -// CHECK: %[[PA_CTX2:.*]] = getelementptr inbounds <{ %swift.refcounted, [{{4|8}} x i8], ptr }>, ptr %[[PA_CTX_BOX]], i32 0, i32 2 +// CHECK: %[[PA_CTX2:.*]] = getelementptr inbounds{{.*}} <{ %swift.refcounted, [{{4|8}} x i8], ptr }>, ptr %[[PA_CTX_BOX]], i32 0, i32 2 // CHECK: %[[ARG2:.*]] = load ptr, ptr %[[PA_CTX2]] -// CHECK: %[[FRAMEPTR:.*]] = getelementptr inbounds [[[BUFFER_SIZE]] x i8], ptr %[[FRAME]], i32 0, i32 0 +// CHECK: %[[FRAMEPTR:.*]] = getelementptr inbounds{{.*}} [[[BUFFER_SIZE]] x i8], ptr %[[FRAME]], i32 0, i32 0 // CHECK: call void @llvm.lifetime.start.p0(i64 [[BUFFER_SIZE]], ptr %[[FRAMEPTR]]) // CHECK: %[[YIELD_PAIR:.*]] = call swiftcc { ptr, ptr } @generic_captured_and_open_param(ptr noalias dereferenceable([[BUFFER_SIZE]]) %[[FRAMEPTR]], ptr noalias %[[ARG0]], ptr %[[ARG2]], ptr %[[ARG1]]) // CHECK: %[[RESUME:.*]] = extractvalue { ptr, ptr } %[[YIELD_PAIR]], 0 @@ -921,7 +921,7 @@ entry(%i : $*T, %io : $*T): // CHECK-LABEL: unwind: // CHECK: %[[RESUME_ADDR0:.*]] = getelementptr inbounds %"$s31generic_captured_and_open_paramTA.Frame", ptr %[[FRAME]], i32 0, i32 1 // CHECK: %[[RESUME0:.*]] = load ptr, ptr %[[RESUME_ADDR0]] -// CHECK: %[[CTX0]] = getelementptr inbounds [[[BUFFER_SIZE]] x i8], ptr %[[FRAMEPTR]], i32 0, i32 0 +// CHECK: %[[CTX0]] = getelementptr inbounds{{.*}} [[[BUFFER_SIZE]] x i8], ptr %[[FRAMEPTR]], i32 0, i32 0 // CHECK: call swiftcc void %[[RESUME0]](ptr noalias dereferenceable([[BUFFER_SIZE]]) %[[CTX0]], i1 true) // CHECK: call void @free(ptr %[[FRAME]]) // CHECK: unreachable @@ -929,7 +929,7 @@ entry(%i : $*T, %io : $*T): // CHECK-LABEL: resume: // CHECK: %[[RESUME_ADDR1:.*]] = getelementptr inbounds %"$s31generic_captured_and_open_paramTA.Frame", ptr %[[FRAME]], i32 0, i32 1 // CHECK: %[[RESUME1:.*]] = load ptr, ptr %[[RESUME_ADDR1]] -// CHECK: %[[CTX1:.*]] = getelementptr inbounds [[[BUFFER_SIZE]] x i8], ptr %[[FRAMEPTR]], i32 0, i32 0 +// CHECK: %[[CTX1:.*]] = getelementptr inbounds{{.*}} [[[BUFFER_SIZE]] x i8], ptr %[[FRAMEPTR]], i32 0, i32 0 // CHECK: call swiftcc void %[[RESUME1]](ptr noalias dereferenceable([[BUFFER_SIZE]]) %[[CTX1]], i1 false) // CHECK: call void @free(ptr %[[FRAME]]) // CHECK: ret void @@ -968,7 +968,7 @@ entry(%i : $Int, %c : $SwiftClass): // CHECK: %[[SPILL:.*]] = call ptr @malloc // CHECK: store ptr %[[SPILL]], ptr %[[CTX]] // CHECK: %[[FRAME:.*]] = getelementptr inbounds %"$s31guaranteed_captured_class_paramTA.Frame", ptr %[[SPILL]], i32 0, i32 0 -// CHECK: %[[FRAMEPTR:.*]] = getelementptr inbounds [[[BUFFER_SIZE]] x i8], ptr %[[FRAME]], i32 0, i32 0 +// CHECK: %[[FRAMEPTR:.*]] = getelementptr inbounds{{.*}} [[[BUFFER_SIZE]] x i8], ptr %[[FRAME]], i32 0, i32 0 // CHECK: call void @llvm.lifetime.start.p0(i64 [[BUFFER_SIZE]], ptr %[[FRAMEPTR]]) // CHECK: %[[YIELD_PAIR:.*]] = call swiftcc { ptr, ptr } @guaranteed_captured_class_param(ptr noalias dereferenceable([[BUFFER_SIZE]]) %[[FRAMEPTR]], [[ARG_TYPE]] %[[ARG0]], ptr %[[PA_CTX_BOX]]) // CHECK: %[[RESUME:.*]] = extractvalue { ptr, ptr } %[[YIELD_PAIR]], 0 @@ -990,7 +990,7 @@ entry(%i : $Int, %c : $SwiftClass): // CHECK-LABEL: unwind: // CHECK: %[[RESUME_ADDR0:.*]] = getelementptr inbounds %"$s31guaranteed_captured_class_paramTA.Frame", ptr %[[FRAME]], i32 0, i32 1 // CHECK: %[[RESUME0:.*]] = load ptr, ptr %[[RESUME_ADDR0]] -// CHECK: %[[CTX0:.*]] = getelementptr inbounds [[[BUFFER_SIZE]] x i8], ptr %[[FRAMEPTR]], i32 0, i32 0 +// CHECK: %[[CTX0:.*]] = getelementptr inbounds{{.*}} [[[BUFFER_SIZE]] x i8], ptr %[[FRAMEPTR]], i32 0, i32 0 // CHECK: call swiftcc void %[[RESUME0]](ptr noalias dereferenceable([[BUFFER_SIZE]]) %[[CTX0]], i1 true) // CHECK: call void @free(ptr %[[FRAME]]) // CHECK: unreachable @@ -998,7 +998,7 @@ entry(%i : $Int, %c : $SwiftClass): // CHECK-LABEL: resume: // CHECK: %[[RESUME_ADDR1:.*]] = getelementptr inbounds %"$s31guaranteed_captured_class_paramTA.Frame", ptr %[[FRAME]], i32 0, i32 1 // CHECK: %[[RESUME1:.*]] = load ptr, ptr %[[RESUME_ADDR1]] -// CHECK: %[[CTX1:.*]] = getelementptr inbounds [[[BUFFER_SIZE]] x i8], ptr %[[FRAMEPTR]], i32 0, i32 0 +// CHECK: %[[CTX1:.*]] = getelementptr inbounds{{.*}} [[[BUFFER_SIZE]] x i8], ptr %[[FRAMEPTR]], i32 0, i32 0 // CHECK: call swiftcc void %[[RESUME1]](ptr noalias dereferenceable([[BUFFER_SIZE]]) %[[CTX1]], i1 false) // CHECK: call void @free(ptr %[[FRAME]]) // CHECK: ret void @@ -1035,7 +1035,7 @@ entry(%i : $Int, %c : $*SwiftClass): // CHECK: store ptr %[[SPILL]], ptr %[[CTX]] // CHECK: %[[FRAME:.*]] = getelementptr inbounds %"$s40indirect_guaranteed_captured_class_paramTA.Frame", ptr %[[SPILL]], i32 0, i32 0 // CHECK: store ptr %[[PA_CTX_BOX]], ptr %[[SELFPTR]] -// CHECK: %[[FRAMEPTR:.*]] = getelementptr inbounds [[[BUFFER_SIZE]] x i8], ptr %[[FRAME]], i32 0, i32 0 +// CHECK: %[[FRAMEPTR:.*]] = getelementptr inbounds{{.*}} [[[BUFFER_SIZE]] x i8], ptr %[[FRAME]], i32 0, i32 0 // CHECK: call void @llvm.lifetime.start.p0(i64 [[BUFFER_SIZE]], ptr %[[FRAMEPTR]]) // CHECK: %[[YIELD_PAIR:.*]] = call swiftcc { ptr, ptr } @indirect_guaranteed_captured_class_param(ptr noalias dereferenceable([[BUFFER_SIZE]]) %[[FRAMEPTR]], [[ARG_TYPE]] %[[ARG0]], ptr noalias nocapture dereferenceable([[ARGPTR_SIZE]]) %[[SELFPTR]]) // CHECK: %[[RESUME:.*]] = extractvalue { ptr, ptr } %[[YIELD_PAIR]], 0 @@ -1057,7 +1057,7 @@ entry(%i : $Int, %c : $*SwiftClass): // CHECK-LABEL: unwind: // CHECK: %[[RESUME_ADDR0:.*]] = getelementptr inbounds %"$s40indirect_guaranteed_captured_class_paramTA.Frame", ptr %[[FRAME]], i32 0, i32 1 // CHECK: %[[RESUME0:.*]] = load ptr, ptr %[[RESUME_ADDR0]] -// CHECK: %[[CTX0:.*]] = getelementptr inbounds [[[BUFFER_SIZE]] x i8], ptr %[[FRAMEPTR]], i32 0, i32 0 +// CHECK: %[[CTX0:.*]] = getelementptr inbounds{{.*}} [[[BUFFER_SIZE]] x i8], ptr %[[FRAMEPTR]], i32 0, i32 0 // CHECK: call swiftcc void %[[RESUME0]](ptr noalias dereferenceable([[BUFFER_SIZE]]) %[[CTX0]], i1 true) // CHECK: call void @free(ptr %[[FRAME]]) // CHECK: unreachable @@ -1065,7 +1065,7 @@ entry(%i : $Int, %c : $*SwiftClass): // CHECK-LABEL: resume: // CHECK: %[[RESUME_ADDR1:.*]] = getelementptr inbounds %"$s40indirect_guaranteed_captured_class_paramTA.Frame", ptr %[[FRAME]], i32 0, i32 1 // CHECK: %[[RESUME1:.*]] = load ptr, ptr %[[RESUME_ADDR1]] -// CHECK: %[[CTX1:.*]] = getelementptr inbounds [[[BUFFER_SIZE]] x i8], ptr %[[FRAMEPTR]], i32 0, i32 0 +// CHECK: %[[CTX1:.*]] = getelementptr inbounds{{.*}} [[[BUFFER_SIZE]] x i8], ptr %[[FRAMEPTR]], i32 0, i32 0 // CHECK: call swiftcc void %[[RESUME1]](ptr noalias dereferenceable([[BUFFER_SIZE]]) %[[CTX1]], i1 false) // CHECK: call void @free(ptr %[[FRAME]]) // CHECK: ret void @@ -1103,7 +1103,7 @@ entry(%i : $Int, %c : $*SwiftClass): // CHECK: %[[FRAME:.*]] = getelementptr inbounds %"$s38indirect_consumed_captured_class_paramTA.Frame", ptr %[[SPILL]], i32 0, i32 0 // CHECK: %{{.*}} = call ptr @swift_retain(ptr returned %[[PA_CTX_BOX]]) // CHECK: store ptr %[[PA_CTX_BOX]], ptr %[[SELFPTR]] -// CHECK: %[[FRAMEPTR:.*]] = getelementptr inbounds [[[BUFFER_SIZE]] x i8], ptr %[[FRAME]], i32 0, i32 0 +// CHECK: %[[FRAMEPTR:.*]] = getelementptr inbounds{{.*}} [[[BUFFER_SIZE]] x i8], ptr %[[FRAME]], i32 0, i32 0 // CHECK: call void @llvm.lifetime.start.p0(i64 [[BUFFER_SIZE]], ptr %[[FRAMEPTR]]) // CHECK: %[[YIELD_PAIR:.*]] = call swiftcc { ptr, ptr } @indirect_consumed_captured_class_param(ptr noalias dereferenceable([[BUFFER_SIZE]]) %[[FRAMEPTR]], [[ARG_TYPE]] %[[ARG0]], ptr noalias nocapture dereferenceable([[ARGPTR_SIZE]]) %[[SELFPTR]]) // CHECK: %[[RESUME:.*]] = extractvalue { ptr, ptr } %[[YIELD_PAIR]], 0 @@ -1125,7 +1125,7 @@ entry(%i : $Int, %c : $*SwiftClass): // CHECK-LABEL: unwind: // CHECK: %[[RESUME_ADDR0:.*]] = getelementptr inbounds %"$s38indirect_consumed_captured_class_paramTA.Frame", ptr %[[FRAME]], i32 0, i32 1 // CHECK: %[[RESUME0:.*]] = load ptr, ptr %[[RESUME_ADDR0]] -// CHECK: %[[CTX0:.*]] = getelementptr inbounds [[[BUFFER_SIZE]] x i8], ptr %[[FRAMEPTR]], i32 0, i32 0 +// CHECK: %[[CTX0:.*]] = getelementptr inbounds{{.*}} [[[BUFFER_SIZE]] x i8], ptr %[[FRAMEPTR]], i32 0, i32 0 // CHECK: call swiftcc void %[[RESUME0]](ptr noalias dereferenceable([[BUFFER_SIZE]]) %[[CTX0]], i1 true) // CHECK: call void @free(ptr %[[FRAME]]) // CHECK: unreachable @@ -1133,7 +1133,7 @@ entry(%i : $Int, %c : $*SwiftClass): // CHECK-LABEL: resume: // CHECK: %[[RESUME_ADDR1:.*]] = getelementptr inbounds %"$s38indirect_consumed_captured_class_paramTA.Frame", ptr %[[FRAME]], i32 0, i32 1 // CHECK: %[[RESUME1:.*]] = load ptr, ptr %[[RESUME_ADDR1]] -// CHECK: %[[CTX1:.*]] = getelementptr inbounds [[[BUFFER_SIZE]] x i8], ptr %[[FRAMEPTR]], i32 0, i32 0 +// CHECK: %[[CTX1:.*]] = getelementptr inbounds{{.*}} [[[BUFFER_SIZE]] x i8], ptr %[[FRAMEPTR]], i32 0, i32 0 // CHECK: call swiftcc void %[[RESUME1]](ptr noalias dereferenceable([[BUFFER_SIZE]]) %[[CTX1]], i1 false) // CHECK: call void @free(ptr %[[FRAME]]) // CHECK: ret void @@ -1166,10 +1166,10 @@ entry(%i : $Int, %c : $SwiftClassPair): // CHECK-SAME: (ptr %[[ARG0:.*]], ptr %[[ARG1:.*]]) // CHECK: entry: // CHECK: %[[BOX:.*]] = call noalias ptr @swift_allocObject(ptr getelementptr inbounds (%swift.full_boxmetadata, ptr @metadata.{{.*}} -// CHECK: %[[BOXPTR:.*]] = getelementptr inbounds <{ %swift.refcounted, %T18partial_apply_coro14SwiftClassPairV }>, ptr %[[BOX]], i32 0, i32 1 -// CHECK: %[[ARG0PTR:.*]] = getelementptr inbounds %T18partial_apply_coro14SwiftClassPairV, ptr %[[BOXPTR]], i32 0, i32 0 +// CHECK: %[[BOXPTR:.*]] = getelementptr inbounds{{.*}} <{ %swift.refcounted, %T18partial_apply_coro14SwiftClassPairV }>, ptr %[[BOX]], i32 0, i32 1 +// CHECK: %[[ARG0PTR:.*]] = getelementptr inbounds{{.*}} %T18partial_apply_coro14SwiftClassPairV, ptr %[[BOXPTR]], i32 0, i32 0 // CHECK: store ptr %[[ARG0]], ptr %[[ARG0PTR]] -// CHECK: %[[ARG1PTR:.*]] = getelementptr inbounds %T18partial_apply_coro14SwiftClassPairV, ptr %[[BOXPTR]], i32 0, i32 1 +// CHECK: %[[ARG1PTR:.*]] = getelementptr inbounds{{.*}} %T18partial_apply_coro14SwiftClassPairV, ptr %[[BOXPTR]], i32 0, i32 1 // CHECK: store ptr %[[ARG1]], ptr %[[ARG1PTR]] // CHECK: %[[RET:.*]] = insertvalue { ptr, ptr } { ptr @"$s36guaranteed_captured_class_pair_paramTA{{.*}}", ptr undef }, ptr %[[BOX]], 1 // CHECK: ret { ptr, ptr } %[[RET]] @@ -1181,12 +1181,12 @@ entry(%i : $Int, %c : $SwiftClassPair): // CHECK: %[[SPILL:.*]] = call ptr @malloc // CHECK: store ptr %[[SPILL]], ptr %[[CTX]] // CHECK: %[[FRAME:.*]] = getelementptr inbounds %"$s36guaranteed_captured_class_pair_paramTA.Frame", ptr %[[SPILL]], i32 0, i32 0 -// CHECK: %[[PA_CTX:.*]] = getelementptr inbounds <{ %swift.refcounted, %T18partial_apply_coro14SwiftClassPairV }>, ptr %[[PA_CTX_BOX]], i32 0, i32 1 -// CHECK: %[[PA_CTX_ARG1:.*]] = getelementptr inbounds %T18partial_apply_coro14SwiftClassPairV, ptr %[[PA_CTX]], i32 0, i32 0 +// CHECK: %[[PA_CTX:.*]] = getelementptr inbounds{{.*}} <{ %swift.refcounted, %T18partial_apply_coro14SwiftClassPairV }>, ptr %[[PA_CTX_BOX]], i32 0, i32 1 +// CHECK: %[[PA_CTX_ARG1:.*]] = getelementptr inbounds{{.*}} %T18partial_apply_coro14SwiftClassPairV, ptr %[[PA_CTX]], i32 0, i32 0 // CHECK: %[[ARG1:.*]] = load ptr, ptr %[[PA_CTX_ARG1]] -// CHECK: %[[PA_CTX_ARG2:.*]] = getelementptr inbounds %T18partial_apply_coro14SwiftClassPairV, ptr %[[PA_CTX]], i32 0, i32 1 +// CHECK: %[[PA_CTX_ARG2:.*]] = getelementptr inbounds{{.*}} %T18partial_apply_coro14SwiftClassPairV, ptr %[[PA_CTX]], i32 0, i32 1 // CHECK: %[[ARG2:.*]] = load ptr, ptr %[[PA_CTX_ARG2]] -// CHECK: %[[FRAMEPTR:.*]] = getelementptr inbounds [[[BUFFER_SIZE]] x i8], ptr %[[FRAME]], i32 0, i32 0 +// CHECK: %[[FRAMEPTR:.*]] = getelementptr inbounds{{.*}} [[[BUFFER_SIZE]] x i8], ptr %[[FRAME]], i32 0, i32 0 // CHECK: call void @llvm.lifetime.start.p0(i64 [[BUFFER_SIZE]], ptr %[[FRAMEPTR]]) // CHECK: %[[YIELD_PAIR:.*]] = call swiftcc { ptr, [[ARG_TYPE]] } @guaranteed_captured_class_pair_param(ptr noalias dereferenceable([[BUFFER_SIZE]]) %[[FRAMEPTR]], [[ARG_TYPE]] %[[ARG0]], ptr %[[ARG1]], ptr %[[ARG2]]) // CHECK: %[[RESUME:.*]] = extractvalue { ptr, [[ARG_TYPE]] } %[[YIELD_PAIR]], 0 @@ -1208,7 +1208,7 @@ entry(%i : $Int, %c : $SwiftClassPair): // CHECK-LABEL: unwind: // CHECK: %[[RESUME_ADDR0:.*]] = getelementptr inbounds %"$s36guaranteed_captured_class_pair_paramTA.Frame", ptr %[[FRAME]], i32 0, i32 1 // CHECK: %[[RESUME0:.*]] = load ptr, ptr %[[RESUME_ADDR0]] -// CHECK: %[[CTX0:.*]] = getelementptr inbounds [[[BUFFER_SIZE]] x i8], ptr %[[FRAMEPTR]], i32 0, i32 0 +// CHECK: %[[CTX0:.*]] = getelementptr inbounds{{.*}} [[[BUFFER_SIZE]] x i8], ptr %[[FRAMEPTR]], i32 0, i32 0 // CHECK: call swiftcc void %[[RESUME0]](ptr noalias dereferenceable([[BUFFER_SIZE]]) %[[CTX0]], i1 true) // CHECK: call void @free(ptr %[[FRAME]]) // CHECK: unreachable @@ -1216,7 +1216,7 @@ entry(%i : $Int, %c : $SwiftClassPair): // CHECK-LABEL: resume: // CHECK: %[[RESUME_ADDR1:.*]] = getelementptr inbounds %"$s36guaranteed_captured_class_pair_paramTA.Frame", ptr %[[FRAME]], i32 0, i32 1 // CHECK: %[[RESUME1:.*]] = load ptr, ptr %[[RESUME_ADDR1]] -// CHECK: %[[CTX1:.*]] = getelementptr inbounds [[[BUFFER_SIZE]] x i8], ptr %[[FRAMEPTR]], i32 0, i32 0 +// CHECK: %[[CTX1:.*]] = getelementptr inbounds{{.*}} [[[BUFFER_SIZE]] x i8], ptr %[[FRAMEPTR]], i32 0, i32 0 // CHECK: call swiftcc void %[[RESUME1]](ptr noalias dereferenceable([[BUFFER_SIZE]]) %[[CTX1]], i1 false) // CHECK: call void @free(ptr %[[FRAME]]) // CHECK: ret void @@ -1242,7 +1242,7 @@ entry(%i : $Int, %c : $*SwiftClassPair): // CHECK-SAME: (ptr noalias nocapture dereferenceable([[PAIR_SIZE]]) %[[ARG:.*]]) // CHECK: entry: // CHECK: %[[BOX:.*]] = call noalias ptr @swift_allocObject(ptr getelementptr inbounds (%swift.full_boxmetadata, ptr @metadata.{{.*}} -// CHECK: %[[BOXPTR:.*]] = getelementptr inbounds <{ %swift.refcounted, %T18partial_apply_coro14SwiftClassPairV }>, ptr %[[BOX]], i32 0, i32 1 +// CHECK: %[[BOXPTR:.*]] = getelementptr inbounds{{.*}} <{ %swift.refcounted, %T18partial_apply_coro14SwiftClassPairV }>, ptr %[[BOX]], i32 0, i32 1 // CHECK: call void @llvm.memcpy.p0.p0.[[ARG_TYPE]](ptr align {{4|8}} %[[BOXPTR]], ptr align {{4|8}} %[[ARG]], [[ARG_TYPE]] [[PAIR_SIZE]], i1 false) // CHECK: %[[RET:.*]] = insertvalue { ptr, ptr } { ptr @"$s45indirect_guaranteed_captured_class_pair_paramTA{{.*}}", ptr undef }, ptr %[[BOX]], 1 // CHECK: ret { ptr, ptr } %[[RET]] @@ -1255,8 +1255,8 @@ entry(%i : $Int, %c : $*SwiftClassPair): // CHECK: %[[SPILL:.*]] = call ptr @malloc // CHECK: store ptr %[[SPILL]], ptr %[[CTX]] // CHECK: %[[SPILL1:.*]] = getelementptr inbounds %"$s45indirect_guaranteed_captured_class_pair_paramTA.Frame", ptr %[[SPILL]], i32 0, i32 0 -// CHECK: %[[PA_CTX:.*]] = getelementptr inbounds <{ %swift.refcounted, %T18partial_apply_coro14SwiftClassPairV }>, ptr %[[PA_CTX_BOX]], i32 0, i32 1 -// CHECK: %[[FRAMEPTR:.*]] = getelementptr inbounds [[[BUFFER_SIZE]] x i8], ptr %[[SPILL1]], i32 0, i32 0 +// CHECK: %[[PA_CTX:.*]] = getelementptr inbounds{{.*}} <{ %swift.refcounted, %T18partial_apply_coro14SwiftClassPairV }>, ptr %[[PA_CTX_BOX]], i32 0, i32 1 +// CHECK: %[[FRAMEPTR:.*]] = getelementptr inbounds{{.*}} [[[BUFFER_SIZE]] x i8], ptr %[[SPILL1]], i32 0, i32 0 // CHECK: call void @llvm.lifetime.start.p0(i64 [[BUFFER_SIZE]], ptr %[[FRAMEPTR]]) // CHECK: %[[YIELD_PAIR:.*]] = call swiftcc { ptr, [[ARG_TYPE]] } @indirect_guaranteed_captured_class_pair_param(ptr noalias dereferenceable([[BUFFER_SIZE]]) %[[FRAMEPTR]], [[ARG_TYPE]] %1, ptr noalias nocapture dereferenceable([[PAIR_SIZE]]) %[[PA_CTX]]) // CHECK: %[[RESUME:.*]] = extractvalue { ptr, [[ARG_TYPE]] } %[[YIELD_PAIR]], 0 @@ -1278,7 +1278,7 @@ entry(%i : $Int, %c : $*SwiftClassPair): // CHECK-LABEL: unwind: // CHECK: %[[RESUME_ADDR0:.*]] = getelementptr inbounds %"$s45indirect_guaranteed_captured_class_pair_paramTA.Frame", ptr %[[FRAME]], i32 0, i32 1 // CHECK: %[[RESUME0:.*]] = load ptr, ptr %[[RESUME_ADDR0]] -// CHECK: %[[CTX0:.*]] = getelementptr inbounds [[[BUFFER_SIZE]] x i8], ptr %[[FRAMEPTR]], i32 0, i32 0 +// CHECK: %[[CTX0:.*]] = getelementptr inbounds{{.*}} [[[BUFFER_SIZE]] x i8], ptr %[[FRAMEPTR]], i32 0, i32 0 // CHECK: call swiftcc void %[[RESUME0]](ptr noalias dereferenceable([[BUFFER_SIZE]]) %[[CTX0]], i1 true) // CHECK: call void @free(ptr %[[FRAME]]) // CHECK: unreachable @@ -1286,7 +1286,7 @@ entry(%i : $Int, %c : $*SwiftClassPair): // CHECK-LABEL: resume: // CHECK: %[[RESUME_ADDR1:.*]] = getelementptr inbounds %"$s45indirect_guaranteed_captured_class_pair_paramTA.Frame", ptr %[[FRAME]], i32 0, i32 1 // CHECK: %[[RESUME1:.*]] = load ptr, ptr %[[RESUME_ADDR1]] -// CHECK: %[[CTX1:.*]] = getelementptr inbounds [[[BUFFER_SIZE]] x i8], ptr %[[FRAMEPTR]], i32 0, i32 0 +// CHECK: %[[CTX1:.*]] = getelementptr inbounds{{.*}} [[[BUFFER_SIZE]] x i8], ptr %[[FRAMEPTR]], i32 0, i32 0 // CHECK: call swiftcc void %[[RESUME1]](ptr noalias dereferenceable([[BUFFER_SIZE]]) %[[CTX1]], i1 false) // CHECK: call void @free(ptr %[[FRAME]]) // CHECK: ret void @@ -1312,7 +1312,7 @@ entry(%i : $Int, %c : $*SwiftClassPair): // CHECK-SAME: (ptr noalias nocapture dereferenceable([[PAIR_SIZE]]) %[[ARG:.*]]) // CHECK: entry: // CHECK: %[[BOX:.*]] = call noalias ptr @swift_allocObject(ptr getelementptr inbounds (%swift.full_boxmetadata, ptr @metadata.{{.*}} -// CHECK: %[[BOXPTR:.*]] = getelementptr inbounds <{ %swift.refcounted, %T18partial_apply_coro14SwiftClassPairV }>, ptr %[[BOX]], i32 0, i32 1 +// CHECK: %[[BOXPTR:.*]] = getelementptr inbounds{{.*}} <{ %swift.refcounted, %T18partial_apply_coro14SwiftClassPairV }>, ptr %[[BOX]], i32 0, i32 1 // CHECK: call void @llvm.memcpy.p0.p0.[[ARG_TYPE]](ptr align {{4|8}} %[[BOXPTR]], ptr align {{4|8}} %[[ARG]], [[ARG_TYPE]] [[PAIR_SIZE]], i1 false) // CHECK: %[[RET:.*]] = insertvalue { ptr, ptr } { ptr @"$s43indirect_consumed_captured_class_pair_paramTA{{.*}}", ptr undef }, ptr %[[BOX]], 1 // CHECK: ret { ptr, ptr } %[[RET]] @@ -1326,10 +1326,10 @@ entry(%i : $Int, %c : $*SwiftClassPair): // CHECK: store ptr %[[SPILL]], ptr %[[CTX]] // CHECK: %[[SPILL1:.*]] = getelementptr inbounds %"$s43indirect_consumed_captured_class_pair_paramTA.Frame", ptr %[[SPILL]], i32 0, i32 1 // CHECK: %[[FRAME:.*]] = getelementptr inbounds %"$s43indirect_consumed_captured_class_pair_paramTA.Frame", ptr %[[SPILL]], i32 0, i32 0 -// CHECK: %[[PA_CTX:.*]] = getelementptr inbounds <{ %swift.refcounted, %T18partial_apply_coro14SwiftClassPairV }>, ptr %[[PA_CTX_BOX]], i32 0, i32 1 +// CHECK: %[[PA_CTX:.*]] = getelementptr inbounds{{.*}} <{ %swift.refcounted, %T18partial_apply_coro14SwiftClassPairV }>, ptr %[[PA_CTX_BOX]], i32 0, i32 1 // CHECK: call void @llvm.lifetime.start.p0(i64 [[PAIR_SIZE]], ptr %[[SPILL1]]) // CHECK: %{{.*}} = call ptr @"$s18partial_apply_coro14SwiftClassPairVWOc"(ptr %[[PA_CTX]], ptr %[[SPILL1]]) -// CHECK: %[[FRAMEPTR:.*]] = getelementptr inbounds [[[BUFFER_SIZE]] x i8], ptr %[[FRAME]], i32 0, i32 0 +// CHECK: %[[FRAMEPTR:.*]] = getelementptr inbounds{{.*}} [[[BUFFER_SIZE]] x i8], ptr %[[FRAME]], i32 0, i32 0 // CHECK: call void @llvm.lifetime.start.p0(i64 [[BUFFER_SIZE]], ptr %[[FRAMEPTR]]) // CHECK: %[[YIELD_PAIR:.*]] = call swiftcc { ptr, [[ARG_TYPE]] } @indirect_consumed_captured_class_pair_param(ptr noalias dereferenceable([[BUFFER_SIZE]]) %[[FRAMEPTR]], [[ARG_TYPE]] %1, ptr noalias nocapture dereferenceable([[PAIR_SIZE]]) %[[SPILL1]]) // CHECK: %[[RESUME:.*]] = extractvalue { ptr, [[ARG_TYPE]] } %[[YIELD_PAIR]], 0 @@ -1351,7 +1351,7 @@ entry(%i : $Int, %c : $*SwiftClassPair): // CHECK-LABEL: unwind: // CHECK: %[[RESUME_ADDR0:.*]] = getelementptr inbounds %"$s43indirect_consumed_captured_class_pair_paramTA.Frame", ptr %[[FRAME]], i32 0, i32 2 // CHECK: %[[RESUME0:.*]] = load ptr, ptr %[[RESUME_ADDR0]] -// CHECK: %[[CTX0:.*]] = getelementptr inbounds [[[BUFFER_SIZE]] x i8], ptr %[[FRAMEPTR]], i32 0, i32 0 +// CHECK: %[[CTX0:.*]] = getelementptr inbounds{{.*}} [[[BUFFER_SIZE]] x i8], ptr %[[FRAMEPTR]], i32 0, i32 0 // CHECK: call swiftcc void %[[RESUME0]](ptr noalias dereferenceable([[BUFFER_SIZE]]) %[[CTX0]], i1 true) // CHECK: call void @free(ptr %[[FRAME]]) // CHECK: unreachable @@ -1359,7 +1359,7 @@ entry(%i : $Int, %c : $*SwiftClassPair): // CHECK-LABEL: resume: // CHECK: %[[RESUME_ADDR1:.*]] = getelementptr inbounds %"$s43indirect_consumed_captured_class_pair_paramTA.Frame", ptr %[[FRAME]], i32 0, i32 2 // CHECK: %[[RESUME:.*]] = load ptr, ptr %[[RESUME_ADDR1]] -// CHECK: %[[CTX1:.*]] = getelementptr inbounds [[[BUFFER_SIZE]] x i8], ptr %[[FRAMEPTR]], i32 0, i32 0 +// CHECK: %[[CTX1:.*]] = getelementptr inbounds{{.*}} [[[BUFFER_SIZE]] x i8], ptr %[[FRAMEPTR]], i32 0, i32 0 // CHECK: call swiftcc void %[[RESUME]](ptr noalias dereferenceable([[BUFFER_SIZE]]) %[[CTX1]], i1 false) // CHECK: call void @free(ptr %[[FRAME]]) // CHECK: ret void @@ -1388,24 +1388,24 @@ entry(%c : $SwiftClass, %a : $*A, %i : $Int): // CHECK-arm64e: %[[VWTABLEADDR:.*]] = ptrtoint ptr %[[VWTABLE]] to i64 // CHECK-arm64e: %[[VWTABLEAUTH:.*]] = call i64 @llvm.ptrauth.auth(i64 %[[VWTABLEADDR]], i32 2 // CHECK-arm64e: %[[VWTABLE:.*]] = inttoptr i64 %[[VWTABLEAUTH]] to ptr -// CHECK: %[[WITNESS:.*]] = getelementptr inbounds %swift.vwtable, ptr %[[VWTABLE]], i32 0, i32 10 +// CHECK: %[[WITNESS:.*]] = getelementptr inbounds{{.*}} %swift.vwtable, ptr %[[VWTABLE]], i32 0, i32 10 // CHECK: %[[FLAGS:.*]] = load i32, ptr %[[WITNESS]] // do not check computation of align; may be target dependent -// CHECK: %[[WITNESS_SIZE:.*]] = getelementptr inbounds %swift.vwtable, ptr %[[VWTABLE]], i32 0, i32 8 +// CHECK: %[[WITNESS_SIZE:.*]] = getelementptr inbounds{{.*}} %swift.vwtable, ptr %[[VWTABLE]], i32 0, i32 8 // do not check computation of size; may be target dependent // CHECK: %[[BOX:.*]] = call noalias ptr @swift_allocObject(ptr getelementptr inbounds (%swift.full_boxmetadata, ptr @metadata{{.*}} -// CHECK-32: %[[BOXPTR0:.*]] = getelementptr inbounds <{ %swift.refcounted, [4 x i8], ptr }>, ptr %[[BOX]], i32 0, i32 1 -// CHECK-64: %[[BOXPTR0:.*]] = getelementptr inbounds <{ %swift.refcounted, [8 x i8], ptr }>, ptr %[[BOX]], i32 0, i32 1 +// CHECK-32: %[[BOXPTR0:.*]] = getelementptr inbounds{{.*}} <{ %swift.refcounted, [4 x i8], ptr }>, ptr %[[BOX]], i32 0, i32 1 +// CHECK-64: %[[BOXPTR0:.*]] = getelementptr inbounds{{.*}} <{ %swift.refcounted, [8 x i8], ptr }>, ptr %[[BOX]], i32 0, i32 1 // CHECK: store ptr %[[TY]], ptr %[[BOXPTR0]] -// CHECK-32: %[[BOXPTR1:.*]] = getelementptr inbounds <{ %swift.refcounted, [4 x i8], ptr }>, ptr %[[BOX]], i32 0, i32 2 -// CHECK-64: %[[BOXPTR1:.*]] = getelementptr inbounds <{ %swift.refcounted, [8 x i8], ptr }>, ptr %[[BOX]], i32 0, i32 2 +// CHECK-32: %[[BOXPTR1:.*]] = getelementptr inbounds{{.*}} <{ %swift.refcounted, [4 x i8], ptr }>, ptr %[[BOX]], i32 0, i32 2 +// CHECK-64: %[[BOXPTR1:.*]] = getelementptr inbounds{{.*}} <{ %swift.refcounted, [8 x i8], ptr }>, ptr %[[BOX]], i32 0, i32 2 // CHECK: store ptr %[[CTX]], ptr %[[BOXPTR1]] // CHECK: %[[BOXPTR2:.*]] = getelementptr inbounds i8, ptr %[[BOX]] // CHECK: %[[INITPTR:.*]] = getelementptr inbounds ptr, ptr %[[VWTABLE]], i32 4 // CHECK: %[[INIT:.*]] = load ptr, ptr %[[INITPTR]] // CHECK: %{{.*}} = call ptr %[[INIT]](ptr noalias %[[BOXPTR2]], ptr noalias %[[ARG0]], ptr %[[TY]]) // CHECK: %[[BOXPTR3:.*]] = getelementptr inbounds i8, ptr %[[BOX]], {{i32|i64}} %{{.*}} -// CHECK: %[[BOXPTR3VAL:.*]] = getelementptr inbounds %TSi, ptr %[[BOXPTR3]], i32 0, i32 0 +// CHECK: %[[BOXPTR3VAL:.*]] = getelementptr inbounds{{.*}} %TSi, ptr %[[BOXPTR3]], i32 0, i32 0 // CHECK: store [[ARG_TYPE]] %[[ARG1]], ptr %[[BOXPTR3VAL]] // CHECK: %[[RET:.*]] = insertvalue { ptr, ptr } { ptr @"$s35captured_fixed_and_dependent_paramsTA{{.*}}", ptr undef }, ptr %[[BOX]], 1 // CHECK: ret { ptr, ptr } %[[RET]] @@ -1417,8 +1417,8 @@ entry(%c : $SwiftClass, %a : $*A, %i : $Int): // CHECK: %[[SPILL:.*]] = call ptr @malloc // CHECK: store ptr %[[SPILL]], ptr %[[CTX]] // CHECK: %[[FRAME:.*]] = getelementptr inbounds %"$s35captured_fixed_and_dependent_paramsTA.Frame", ptr %[[SPILL]], i32 0, i32 0 -// CHECK-32: %[[PA_CTX:.*]] = getelementptr inbounds <{ %swift.refcounted, [4 x i8], ptr }>, ptr %[[PA_CTX_BOX]], i32 0, i32 1 -// CHECK-64: %[[PA_CTX:.*]] = getelementptr inbounds <{ %swift.refcounted, [8 x i8], ptr }>, ptr %[[PA_CTX_BOX]], i32 0, i32 1 +// CHECK-32: %[[PA_CTX:.*]] = getelementptr inbounds{{.*}} <{ %swift.refcounted, [4 x i8], ptr }>, ptr %[[PA_CTX_BOX]], i32 0, i32 1 +// CHECK-64: %[[PA_CTX:.*]] = getelementptr inbounds{{.*}} <{ %swift.refcounted, [8 x i8], ptr }>, ptr %[[PA_CTX_BOX]], i32 0, i32 1 // CHECK: %[[TY:.*]] = load ptr, ptr %[[PA_CTX]] // CHECK: store ptr %[[TY]], ptr %[[TY]] // CHECK: %[[TYMD:.*]] = getelementptr inbounds ptr, ptr %[[TY]], {{i32|i64}} -1 @@ -1426,19 +1426,19 @@ entry(%c : $SwiftClass, %a : $*A, %i : $Int): // CHECK-arm64e: %[[VWTABLEADDR:.*]] = ptrtoint ptr %[[VWTABLE]] to i64 // CHECK-arm64e: %[[VWTABLEAUTH:.*]] = call i64 @llvm.ptrauth.auth(i64 %[[VWTABLEADDR]], i32 2 // CHECK-arm64e: %[[VWTABLE:.*]] = inttoptr i64 %[[VWTABLEAUTH]] to ptr -// CHECK: %[[WITNESS:.*]] = getelementptr inbounds %swift.vwtable, ptr %[[VWTABLE]], i32 0, i32 10 +// CHECK: %[[WITNESS:.*]] = getelementptr inbounds{{.*}} %swift.vwtable, ptr %[[VWTABLE]], i32 0, i32 10 // CHECK: %[[FLAGS:.*]] = load i32, ptr %[[WITNESS]] // do not check computation of align; may be target dependent -// CHECK: %[[WITNESS_SIZE:.*]] = getelementptr inbounds %swift.vwtable, ptr %[[VWTABLE]], i32 0, i32 8 +// CHECK: %[[WITNESS_SIZE:.*]] = getelementptr inbounds{{.*}} %swift.vwtable, ptr %[[VWTABLE]], i32 0, i32 8 // do not check computation of size; may be target dependent -// CHECK-32: %[[PA_CTX2:.*]] = getelementptr inbounds <{ %swift.refcounted, [4 x i8], ptr }>, ptr %[[PA_CTX_BOX]], i32 0, i32 2 -// CHECK-64: %[[PA_CTX2:.*]] = getelementptr inbounds <{ %swift.refcounted, [8 x i8], ptr }>, ptr %[[PA_CTX_BOX]], i32 0, i32 2 +// CHECK-32: %[[PA_CTX2:.*]] = getelementptr inbounds{{.*}} <{ %swift.refcounted, [4 x i8], ptr }>, ptr %[[PA_CTX_BOX]], i32 0, i32 2 +// CHECK-64: %[[PA_CTX2:.*]] = getelementptr inbounds{{.*}} <{ %swift.refcounted, [8 x i8], ptr }>, ptr %[[PA_CTX_BOX]], i32 0, i32 2 // CHECK: %[[ARG0:.*]] = load ptr, ptr %[[PA_CTX2]] // CHECK: %[[ARG1:.*]] = getelementptr inbounds i8, ptr %[[PA_CTX_BOX]], {{i32|i64}} %{{.*}} // CHECK: %[[ARG2PTR0:.*]] = getelementptr inbounds i8, ptr %[[PA_CTX_BOX]], {{i32|i64}} %{{.*}} -// CHECK: %[[ARG2PTR1:.*]] = getelementptr inbounds %TSi, ptr %[[ARG2PTR0]], i32 0, i32 0 +// CHECK: %[[ARG2PTR1:.*]] = getelementptr inbounds{{.*}} %TSi, ptr %[[ARG2PTR0]], i32 0, i32 0 // CHECK: %[[ARG2:.*]] = load [[ARG_TYPE]], ptr %[[ARG2PTR1]] -// CHECK: %[[CTXPTR:.*]] = getelementptr inbounds [[[BUFFER_SIZE]] x i8], ptr %[[FRAME]], i32 0, i32 0 +// CHECK: %[[CTXPTR:.*]] = getelementptr inbounds{{.*}} [[[BUFFER_SIZE]] x i8], ptr %[[FRAME]], i32 0, i32 0 // CHECK: call void @llvm.lifetime.start.p0(i64 [[BUFFER_SIZE]], ptr %[[CTXPTR]]) // CHECK: %[[RESUME:.*]] = call swiftcc ptr @captured_fixed_and_dependent_params(ptr noalias dereferenceable([[BUFFER_SIZE]]) %[[CTXPTR]], ptr %[[ARG0]], ptr noalias %[[ARG1]], [[ARG_TYPE]] %[[ARG2]], ptr %T) // CHECK: %[[SPILL2:.*]] = getelementptr inbounds %"$s35captured_fixed_and_dependent_paramsTA.Frame", ptr %[[SPILL]], i32 0, i32 1 @@ -1456,7 +1456,7 @@ entry(%c : $SwiftClass, %a : $*A, %i : $Int): // CHECK-LABEL: unwind: // CHECK: %[[RESUME_ADDR0:.*]] = getelementptr inbounds %"$s35captured_fixed_and_dependent_paramsTA.Frame", ptr %[[FRAME]], i32 0, i32 1 // CHECK: %[[RESUME0:.*]] = load ptr, ptr %[[RESUME_ADDR0]] -// CHECK: %[[CTX0:.*]] = getelementptr inbounds [[[BUFFER_SIZE]] x i8], ptr %[[FRAMEPTR]], i32 0, i32 0 +// CHECK: %[[CTX0:.*]] = getelementptr inbounds{{.*}} [[[BUFFER_SIZE]] x i8], ptr %[[FRAMEPTR]], i32 0, i32 0 // CHECK: call swiftcc void %[[RESUME0]](ptr noalias dereferenceable([[BUFFER_SIZE]]) %[[CTX0]], i1 true) // CHECK: call void @free(ptr %[[FRAME]]) // CHECK: unreachable @@ -1464,7 +1464,7 @@ entry(%c : $SwiftClass, %a : $*A, %i : $Int): // CHECK-LABEL: resume: // CHECK: %[[RESUME_ADDR1:.*]] = getelementptr inbounds %"$s35captured_fixed_and_dependent_paramsTA.Frame", ptr %[[FRAME]], i32 0, i32 1 // CHECK: %[[RESUME1:.*]] = load ptr, ptr %[[RESUME_ADDR1]] -// CHECK: %[[CTX1]] = getelementptr inbounds [[[BUFFER_SIZE]] x i8], ptr %[[FRAMEPTR]], i32 0, i32 0 +// CHECK: %[[CTX1]] = getelementptr inbounds{{.*}} [[[BUFFER_SIZE]] x i8], ptr %[[FRAMEPTR]], i32 0, i32 0 // CHECK: call swiftcc void %[[RESUME1]](ptr noalias dereferenceable([[BUFFER_SIZE]]) %[[CTX1]], i1 false) // CHECK: call void @free(ptr %[[FRAME]]) // CHECK: ret void @@ -1485,14 +1485,14 @@ bb0(%a : $SwiftClass, %b : $*T, %c : $Int): // CHECK-arm64e: %[[VWTABLEADDR:.*]] = ptrtoint ptr %[[ARGTY_VW]] to i64 // CHECK-arm64e: %[[VWTABLEAUTH:.*]] = call i64 @llvm.ptrauth.auth(i64 %[[VWTABLEADDR]], i32 2 // CHECK-arm64e: %[[ARGTY_VW:.*]] = inttoptr i64 %[[VWTABLEAUTH]] to ptr -// CHECK: %[[ARGTY_FLAGS_PTR:.*]] = getelementptr inbounds %swift.vwtable, ptr %[[ARGTY_VW]], i32 0, i32 10 +// CHECK: %[[ARGTY_FLAGS_PTR:.*]] = getelementptr inbounds{{.*}} %swift.vwtable, ptr %[[ARGTY_VW]], i32 0, i32 10 // CHECK: %[[ARGTY_FLAGS:.*]] = load i32, ptr %[[ARGTY_FLAGS_PTR]] // do not check computation of align; may be target dependent -// CHECK: %[[ARGTY_SIZE_PTR:.*]] = getelementptr inbounds %swift.vwtable, ptr %[[ARGTY_VW]], i32 0, i32 8 +// CHECK: %[[ARGTY_SIZE_PTR:.*]] = getelementptr inbounds{{.*}} %swift.vwtable, ptr %[[ARGTY_VW]], i32 0, i32 8 // do not check computation of size; may be target dependent // CHECK: %[[PA_BOX_ALLOC:.*]] = call noalias ptr @swift_allocObject(ptr getelementptr inbounds (%swift.full_boxmetadata, ptr @{{.*}} -// CHECK-32: %[[PA_CTX:.*]] = getelementptr inbounds <{ %swift.refcounted, [4 x i8] }>, ptr %[[PA_BOX_ALLOC]], i32 0, i32 1 -// CHECK-64: %[[PA_CTX:.*]] = getelementptr inbounds <{ %swift.refcounted, [8 x i8] }>, ptr %[[PA_BOX_ALLOC]], i32 0, i32 1 +// CHECK-32: %[[PA_CTX:.*]] = getelementptr inbounds{{.*}} <{ %swift.refcounted, [4 x i8] }>, ptr %[[PA_BOX_ALLOC]], i32 0, i32 1 +// CHECK-64: %[[PA_CTX:.*]] = getelementptr inbounds{{.*}} <{ %swift.refcounted, [8 x i8] }>, ptr %[[PA_BOX_ALLOC]], i32 0, i32 1 // CHECK: store ptr %[[ARGTY]], ptr %[[PA_CTX]] // CHECK: %[[PA_CTX_ARG:.*]] = getelementptr inbounds i8, ptr %[[PA_BOX_ALLOC]], // CHECK: %[[INIT_PTR:.*]] = getelementptr inbounds ptr, ptr %[[ARGTY_VW]], i32 4 @@ -1507,18 +1507,18 @@ bb0(%a : $SwiftClass, %b : $*T, %c : $Int): // CHECK: %[[SPILL:.*]] = call ptr @malloc // CHECK: store ptr %[[SPILL]], ptr %[[CTX]] // CHECK: %[[FRAME:.*]] = getelementptr inbounds %"$s28captured_dependent_out_paramTA.Frame", ptr %[[SPILL]], i32 0, i32 0 -// CHECK-32: %[[PA_CTX:.*]] = getelementptr inbounds <{ %swift.refcounted, [4 x i8] }>, ptr %[[PA_CTX_BOX]], i32 0, i32 1 -// CHECK-64: %[[PA_CTX:.*]] = getelementptr inbounds <{ %swift.refcounted, [8 x i8] }>, ptr %[[PA_CTX_BOX]], i32 0, i32 1 +// CHECK-32: %[[PA_CTX:.*]] = getelementptr inbounds{{.*}} <{ %swift.refcounted, [4 x i8] }>, ptr %[[PA_CTX_BOX]], i32 0, i32 1 +// CHECK-64: %[[PA_CTX:.*]] = getelementptr inbounds{{.*}} <{ %swift.refcounted, [8 x i8] }>, ptr %[[PA_CTX_BOX]], i32 0, i32 1 // CHECK: %[[TY:.*]] = load ptr, ptr %[[PA_CTX]] // CHECK: %[[TYMD:.*]] = getelementptr inbounds ptr, ptr %[[TY]], {{i32|i64}} -1 // CHECK: %[[VWTABLE:.*]] = load ptr, ptr %[[TYMD]] // CHECK-arm64e: %[[VWTABLEADDR:.*]] = ptrtoint ptr %[[VWTABLE]] to i64 // CHECK-arm64e: %[[VWTABLEAUTH:.*]] = call i64 @llvm.ptrauth.auth(i64 %[[VWTABLEADDR]], i32 2 // CHECK-arm64e: %[[VWTABLE:.*]] = inttoptr i64 %[[VWTABLEAUTH]] to ptr -// CHECK: %[[WITNESS:.*]] = getelementptr inbounds %swift.vwtable, ptr %[[VWTABLE]], i32 0, i32 10 +// CHECK: %[[WITNESS:.*]] = getelementptr inbounds{{.*}} %swift.vwtable, ptr %[[VWTABLE]], i32 0, i32 10 // CHECK: %[[FLAGS:.*]] = load i32, ptr %[[WITNESS]] // do not check computation of align; may be target dependent -// CHECK: %[[WITNESS_SIZE:.*]] = getelementptr inbounds %swift.vwtable, ptr %[[VWTABLE]], i32 0, i32 8 +// CHECK: %[[WITNESS_SIZE:.*]] = getelementptr inbounds{{.*}} %swift.vwtable, ptr %[[VWTABLE]], i32 0, i32 8 // do not check computation of size; may be target dependent // CHECK: %[[PA_CTX2:.*]] = getelementptr inbounds i8, ptr %[[PA_CTX_BOX]] // CHECK: %[[ARG_COPY:.*]] = call ptr @malloc @@ -1526,7 +1526,7 @@ bb0(%a : $SwiftClass, %b : $*T, %c : $Int): // CHECK: %[[INIT_PTR:.*]] = getelementptr inbounds ptr, ptr %[[VWTABLE]], i32 2 // CHECK: %[[INIT:.*]] = load ptr, ptr %[[INIT_PTR]] // CHECK: call ptr %[[INIT]](ptr noalias %[[ARG_COPY]], ptr noalias %[[PA_CTX2]], ptr %[[TY]]) -// CHECK: %[[CTXPTR:.*]] = getelementptr inbounds [[[BUFFER_SIZE]] x i8], ptr %[[FRAME]], i32 0, i32 0 +// CHECK: %[[CTXPTR:.*]] = getelementptr inbounds{{.*}} [[[BUFFER_SIZE]] x i8], ptr %[[FRAME]], i32 0, i32 0 // CHECK: call void @llvm.lifetime.start.p0(i64 [[BUFFER_SIZE]], ptr %[[CTXPTR]]) // CHECK: %[[YIELD_PAIR:.*]] = call swiftcc { ptr, ptr } @captured_dependent_out_param(ptr noalias dereferenceable([[BUFFER_SIZE]]) %[[CTXPTR]], ptr %[[INDIRECT_RET]], ptr noalias %[[ARG_COPY]], ptr %[[TY]]) // CHECK: %[[RESUME:.*]] = extractvalue { ptr, ptr } %[[YIELD_PAIR]], 0 @@ -1555,15 +1555,15 @@ bb0(%x : $*T): // CHECK-SAME: (i32 %[[ARG1:.*]], ptr %[[ARG_FUNC:.*]], ptr %[[ARG_FUNC_SELF:.*]], ptr %[[TY:.*]]) // CHECK: entry: // CHECK: %[[PA_CTX_BOX:.*]] = call noalias ptr @swift_allocObject(ptr getelementptr inbounds (%swift.full_boxmetadata -// CHECK-32: %[[PA_ARG1:.*]] = getelementptr inbounds <{ %swift.refcounted, %Ts5Int32V, ptr, ptr }>, ptr %[[PA_CTX_BOX]], i32 0, i32 1 -// CHECK-64: %[[PA_ARG1:.*]] = getelementptr inbounds <{ %swift.refcounted, %Ts5Int32V, [4 x i8], ptr, ptr }>, ptr %[[PA_CTX_BOX]], i32 0, i32 1 -// CHECK: %[[PA_ARG1_INT:.*]] = getelementptr inbounds %Ts5Int32V, ptr %[[PA_ARG1]], i32 0, i32 0 +// CHECK-32: %[[PA_ARG1:.*]] = getelementptr inbounds{{.*}} <{ %swift.refcounted, %Ts5Int32V, ptr, ptr }>, ptr %[[PA_CTX_BOX]], i32 0, i32 1 +// CHECK-64: %[[PA_ARG1:.*]] = getelementptr inbounds{{.*}} <{ %swift.refcounted, %Ts5Int32V, [4 x i8], ptr, ptr }>, ptr %[[PA_CTX_BOX]], i32 0, i32 1 +// CHECK: %[[PA_ARG1_INT:.*]] = getelementptr inbounds{{.*}} %Ts5Int32V, ptr %[[PA_ARG1]], i32 0, i32 0 // CHECK: store i32 %[[ARG1]], ptr %[[PA_ARG1_INT]] -// CHECK-32: %[[PA_ARG_FUNC_SELF:.*]] = getelementptr inbounds <{ %swift.refcounted, %Ts5Int32V, ptr, ptr }>, ptr %[[PA_CTX_BOX]], i32 0, i32 2 -// CHECK-64: %[[PA_ARG_FUNC_SELF:.*]] = getelementptr inbounds <{ %swift.refcounted, %Ts5Int32V, [4 x i8], ptr, ptr }>, ptr %[[PA_CTX_BOX]], i32 0, i32 3 +// CHECK-32: %[[PA_ARG_FUNC_SELF:.*]] = getelementptr inbounds{{.*}} <{ %swift.refcounted, %Ts5Int32V, ptr, ptr }>, ptr %[[PA_CTX_BOX]], i32 0, i32 2 +// CHECK-64: %[[PA_ARG_FUNC_SELF:.*]] = getelementptr inbounds{{.*}} <{ %swift.refcounted, %Ts5Int32V, [4 x i8], ptr, ptr }>, ptr %[[PA_CTX_BOX]], i32 0, i32 3 // CHECK: store ptr %[[ARG_FUNC_SELF]], ptr %[[PA_ARG_FUNC_SELF]] -// CHECK-32: %[[PA_ARG_FUNC:.*]] = getelementptr inbounds <{ %swift.refcounted, %Ts5Int32V, ptr, ptr }>, ptr %[[PA_CTX_BOX]], i32 0, i32 3 -// CHECK-64: %[[PA_ARG_FUNC:.*]] = getelementptr inbounds <{ %swift.refcounted, %Ts5Int32V, [4 x i8], ptr, ptr }>, ptr %[[PA_CTX_BOX]], i32 0, i32 4 +// CHECK-32: %[[PA_ARG_FUNC:.*]] = getelementptr inbounds{{.*}} <{ %swift.refcounted, %Ts5Int32V, ptr, ptr }>, ptr %[[PA_CTX_BOX]], i32 0, i32 3 +// CHECK-64: %[[PA_ARG_FUNC:.*]] = getelementptr inbounds{{.*}} <{ %swift.refcounted, %Ts5Int32V, [4 x i8], ptr, ptr }>, ptr %[[PA_CTX_BOX]], i32 0, i32 4 // CHECK-arm64e: %[[ARG_FUNC_ADDR:.*]] = ptrtoint ptr %[[ARG_FUNC]] to i64 // CHECK-arm64e: %[[ARG_FUNC_AUTH:.*]] = call i64 @llvm.ptrauth.resign(i64 %[[ARG_FUNC_ADDR]] // CHECK-arm64e: %[[ARG_FUNC:.*]] = inttoptr i64 %[[ARG_FUNC_AUTH]] to ptr @@ -1578,17 +1578,17 @@ bb0(%x : $*T): // CHECK: %[[SPILL:.*]] = call ptr @malloc // CHECK: store ptr %[[SPILL]], ptr %[[CTX]] // CHECK: %[[FRAME:.*]] = getelementptr inbounds %"$sTA.Frame", ptr %[[SPILL]], i32 0, i32 0 -// CHECK-32: %[[PA_ARG1:.*]] = getelementptr inbounds <{ %swift.refcounted, %Ts5Int32V, ptr, ptr }>, ptr %[[PA_CTX_BOX]], i32 0, i32 1 -// CHECK-64: %[[PA_ARG1:.*]] = getelementptr inbounds <{ %swift.refcounted, %Ts5Int32V, [4 x i8], ptr, ptr }>, ptr %[[PA_CTX_BOX]], i32 0, i32 1 -// CHECK: %[[PA_ARG1_INT:.*]] = getelementptr inbounds %Ts5Int32V, ptr %[[PA_ARG1]], i32 0, i32 0 +// CHECK-32: %[[PA_ARG1:.*]] = getelementptr inbounds{{.*}} <{ %swift.refcounted, %Ts5Int32V, ptr, ptr }>, ptr %[[PA_CTX_BOX]], i32 0, i32 1 +// CHECK-64: %[[PA_ARG1:.*]] = getelementptr inbounds{{.*}} <{ %swift.refcounted, %Ts5Int32V, [4 x i8], ptr, ptr }>, ptr %[[PA_CTX_BOX]], i32 0, i32 1 +// CHECK: %[[PA_ARG1_INT:.*]] = getelementptr inbounds{{.*}} %Ts5Int32V, ptr %[[PA_ARG1]], i32 0, i32 0 // CHECK: %[[ARG1:.*]] = load i32, ptr %[[PA_ARG1_INT]] -// CHECK-32: %[[PA_ARG_FUNC_SELF:.*]] = getelementptr inbounds <{ %swift.refcounted, %Ts5Int32V, ptr, ptr }>, ptr %[[PA_CTX_BOX]], i32 0, i32 2 -// CHECK-64: %[[PA_ARG_FUNC_SELF:.*]] = getelementptr inbounds <{ %swift.refcounted, %Ts5Int32V, [4 x i8], ptr, ptr }>, ptr %[[PA_CTX_BOX]], i32 0, i32 3 +// CHECK-32: %[[PA_ARG_FUNC_SELF:.*]] = getelementptr inbounds{{.*}} <{ %swift.refcounted, %Ts5Int32V, ptr, ptr }>, ptr %[[PA_CTX_BOX]], i32 0, i32 2 +// CHECK-64: %[[PA_ARG_FUNC_SELF:.*]] = getelementptr inbounds{{.*}} <{ %swift.refcounted, %Ts5Int32V, [4 x i8], ptr, ptr }>, ptr %[[PA_CTX_BOX]], i32 0, i32 3 // CHECK: %[[ARG_FUNC_SELF:.*]] = load ptr, ptr %[[PA_ARG_FUNC_SELF]] -// CHECK-32: %[[PA_ARG_FUNC:.*]] = getelementptr inbounds <{ %swift.refcounted, %Ts5Int32V, ptr, ptr }>, ptr %[[PA_CTX_BOX]], i32 0, i32 3 -// CHECK-64: %[[PA_ARG_FUNC:.*]] = getelementptr inbounds <{ %swift.refcounted, %Ts5Int32V, [4 x i8], ptr, ptr }>, ptr %[[PA_CTX_BOX]], i32 0, i32 4 +// CHECK-32: %[[PA_ARG_FUNC:.*]] = getelementptr inbounds{{.*}} <{ %swift.refcounted, %Ts5Int32V, ptr, ptr }>, ptr %[[PA_CTX_BOX]], i32 0, i32 3 +// CHECK-64: %[[PA_ARG_FUNC:.*]] = getelementptr inbounds{{.*}} <{ %swift.refcounted, %Ts5Int32V, [4 x i8], ptr, ptr }>, ptr %[[PA_CTX_BOX]], i32 0, i32 4 // CHECK: %[[ARG_FUNC:.*]] = load ptr, ptr %[[PA_ARG_FUNC]] -// CHECK: %[[FRAMEPTR:.*]] = getelementptr inbounds [[[BUFFER_SIZE]] x i8], ptr %[[FRAME]], i32 0, i32 0 +// CHECK: %[[FRAMEPTR:.*]] = getelementptr inbounds{{.*}} [[[BUFFER_SIZE]] x i8], ptr %[[FRAME]], i32 0, i32 0 // CHECK: call void @llvm.lifetime.start.p0(i64 [[BUFFER_SIZE]], ptr %[[FRAMEPTR]]) // CHECK: %[[YIELD_PAIR:.*]] = call swiftcc { ptr, ptr } %[[ARG_FUNC]](ptr noalias {{.*}} %[[FRAMEPTR]], ptr %[[INDIRECT_RET]], i32 %[[ARG1]], ptr swiftself %[[ARG_FUNC_SELF]]) // CHECK: %[[RESUME:.*]] = extractvalue { ptr, ptr } %[[YIELD_PAIR]], 0 @@ -1671,14 +1671,14 @@ bb2: // CHECK: entry: // CHECK: %[[CTX0:.*]] = alloca [[[BUFFER_SIZE]] x i8] // CHECK: %[[CTX1:.*]] = alloca [[[BUFFER_SIZE]] x i8] -// CHECK: %[[CTX0PTR:.*]] = getelementptr inbounds [[[BUFFER_SIZE]] x i8], ptr %[[CTX0]], i32 0, i32 0 +// CHECK: %[[CTX0PTR:.*]] = getelementptr inbounds{{.*}} [[[BUFFER_SIZE]] x i8], ptr %[[CTX0]], i32 0, i32 0 // CHECK: call void @llvm.lifetime.start.p0(i64 [[BUFFER_SIZE]], ptr %[[CTX0PTR]]) // CHECK: %[[MDRESP:.*]] = call swiftcc %swift.metadata_response @"$s18partial_apply_coro3SubCMa" // CHECK: %[[MD:.*]] = extractvalue %swift.metadata_response %[[MDRESP]], 0 // CHECK: %[[RESUME0:.*]] = call swiftcc ptr @receive_closure(ptr noalias dereferenceable([[BUFFER_SIZE]]) %[[CTX0PTR]], ptr @"$s26parametric_casting_closureTA.{{[0-9]+}}{{.*}}", ptr %[[ARG0]], ptr %[[MD]]) // CHECK: call swiftcc void %[[RESUME0]](ptr noalias dereferenceable([[BUFFER_SIZE]]) %[[CTX0PTR]], i1 false) // CHECK: call void @llvm.lifetime.end.p0(i64 [[BUFFER_SIZE]], ptr %[[CTX0PTR]]) -// CHECK: %[[CTX1PTR:.*]] = getelementptr inbounds [[[BUFFER_SIZE]] x i8], ptr %[[CTX1]], i32 0, i32 0 +// CHECK: %[[CTX1PTR:.*]] = getelementptr inbounds{{.*}} [[[BUFFER_SIZE]] x i8], ptr %[[CTX1]], i32 0, i32 0 // CHECK: call void @llvm.lifetime.start.p0(i64 [[BUFFER_SIZE]], ptr %[[CTX1PTR]]) // CHECK: %[[RESUME1:.*]] = call swiftcc ptr @receive_closure2(ptr noalias dereferenceable([[BUFFER_SIZE]]) %[[CTX1PTR]], ptr @"$s26parametric_casting_closureTA{{.*}}", ptr null, ptr %[[MD]]) // CHECK: call swiftcc void %[[RESUME1]](ptr noalias dereferenceable([[BUFFER_SIZE]]) %[[CTX1PTR]], i1 false) @@ -1694,7 +1694,7 @@ bb2: // CHECK: %[[FRAME:.*]] = getelementptr inbounds %"$s26parametric_casting_closureTA.Frame", ptr %[[SPILL]], i32 0, i32 0 // CHECK: %[[MDRESP:.*]] = call swiftcc %swift.metadata_response @"$s18partial_apply_coro3SubCMa" // CHECK: %[[MD:.*]] = extractvalue %swift.metadata_response %[[MDRESP]], 0 -// CHECK: %[[FRAMEPTR:.*]] = getelementptr inbounds [[[BUFFER_SIZE]] x i8], ptr %[[FRAME]], i32 0, i32 0 +// CHECK: %[[FRAMEPTR:.*]] = getelementptr inbounds{{.*}} [[[BUFFER_SIZE]] x i8], ptr %[[FRAME]], i32 0, i32 0 // CHECK: call void @llvm.lifetime.start.p0(i64 [[BUFFER_SIZE]], ptr %[[FRAMEPTR]]) // CHECK: %[[YIELD_PAIR:.*]] = call swiftcc { ptr, ptr } @parametric_casting_closure(ptr noalias dereferenceable([[BUFFER_SIZE]]) %[[FRAMEPTR]], ptr %1, ptr %[[MD]]) // CHECK: %[[RESUME:.*]] = extractvalue { ptr, ptr } %[[YIELD_PAIR]], 0 @@ -1716,7 +1716,7 @@ bb2: // CHECK-LABEL: unwind: // CHECK: %[[RESUME_ADDR0:.*]] = getelementptr inbounds %"$s26parametric_casting_closureTA.Frame", ptr %[[FRAME]], i32 0, i32 1 // CHECK: %[[RESUME0:.*]] = load ptr, ptr %[[RESUME_ADDR0]] -// CHECK: %[[CTX0:.*]] = getelementptr inbounds [[[BUFFER_SIZE]] x i8], ptr %[[FRAMEPTR]], i32 0, i32 0 +// CHECK: %[[CTX0:.*]] = getelementptr inbounds{{.*}} [[[BUFFER_SIZE]] x i8], ptr %[[FRAMEPTR]], i32 0, i32 0 // CHECK: %{{.*}} = call swiftcc ptr %[[RESUME0]](ptr noalias dereferenceable([[BUFFER_SIZE]]) %[[CTX0]], i1 true) // CHECK: call void @free(ptr %[[FRAME]]) // CHECK: unreachable @@ -1724,7 +1724,7 @@ bb2: // CHECK-LABEL: resume: // CHECK: %[[RESUME_ADDR1:.*]] = getelementptr inbounds %"$s26parametric_casting_closureTA.Frame", ptr %[[FRAME]], i32 0, i32 1 // CHECK: %[[RESUME1:.*]] = load ptr, ptr %[[RESUME_ADDR1]] -// CHECK: %[[CTX1:.*]] = getelementptr inbounds [[[BUFFER_SIZE]] x i8], ptr %[[FRAMEPTR]], i32 0, i32 0 +// CHECK: %[[CTX1:.*]] = getelementptr inbounds{{.*}} [[[BUFFER_SIZE]] x i8], ptr %[[FRAMEPTR]], i32 0, i32 0 // CHECK: %[[RET:.*]] = call swiftcc ptr %[[RESUME1]](ptr noalias dereferenceable([[BUFFER_SIZE]]) %[[CTX1]], i1 false) // CHECK: call void @free(ptr %[[FRAME]]) // CHECK: ret ptr %[[RET]] @@ -1738,7 +1738,7 @@ bb2: // CHECK: %[[FRAME:.*]] = getelementptr inbounds %"$s26parametric_casting_closureTA.{{[0-9]+}}.Frame", ptr %[[SPILL]], i32 0, i32 0 // CHECK: %[[MDRESP:.*]] = call swiftcc %swift.metadata_response @"$s18partial_apply_coro3SubCMa" // CHECK: %[[MD:.*]] = extractvalue %swift.metadata_response %[[MDRESP]], 0 -// CHECK: %[[FRAMEPTR:.*]] = getelementptr inbounds [[[BUFFER_SIZE]] x i8], ptr %[[FRAME]], i32 0, i32 0 +// CHECK: %[[FRAMEPTR:.*]] = getelementptr inbounds{{.*}} [[[BUFFER_SIZE]] x i8], ptr %[[FRAME]], i32 0, i32 0 // CHECK: call void @llvm.lifetime.start.p0(i64 [[BUFFER_SIZE]], ptr %[[FRAMEPTR]]) // CHECK: %[[YIELD_PAIR:.*]] = call swiftcc { ptr, ptr } @parametric_casting_closure(ptr noalias dereferenceable([[BUFFER_SIZE]]) %[[FRAMEPTR]], ptr %[[PA_CTX_BOX]], ptr %[[MD]]) // CHECK: %[[RESUME:.*]] = extractvalue { ptr, ptr } %[[YIELD_PAIR]], 0 @@ -1760,7 +1760,7 @@ bb2: // CHECK-LABEL: unwind: // CHECK: %[[RESUME_ADDR0:.*]] = getelementptr inbounds %"$s26parametric_casting_closureTA.{{[0-9]+}}.Frame", ptr %[[FRAME]], i32 0, i32 1 // CHECK: %[[RESUME0:.*]] = load ptr, ptr %[[RESUME_ADDR0]], -// CHECK: %[[CTX0:.*]] = getelementptr inbounds [[[BUFFER_SIZE]] x i8], ptr %[[FRAMEPTR]], i32 0, i32 0 +// CHECK: %[[CTX0:.*]] = getelementptr inbounds{{.*}} [[[BUFFER_SIZE]] x i8], ptr %[[FRAMEPTR]], i32 0, i32 0 // CHECK: %{{.*}} = call swiftcc ptr %[[RESUME0]](ptr noalias dereferenceable([[BUFFER_SIZE]]) %[[CTX0]], i1 true) // CHECK: call void @free(ptr %[[FRAME]]) // CHECK: unreachable @@ -1768,7 +1768,7 @@ bb2: // CHECK-LABEL: resume: // CHECK: %[[RESUME_ADDR1:.*]] = getelementptr inbounds %"$s26parametric_casting_closureTA.{{[0-9]+}}.Frame", ptr %[[FRAME]], i32 0, i32 1 // CHECK: %[[RESUME1:.*]] = load ptr, ptr %[[RESUME_ADDR1]] -// CHECK: %[[CTX1:.*]] = getelementptr inbounds [[[BUFFER_SIZE]] x i8], ptr %[[FRAMEPTR]], i32 0, i32 0 +// CHECK: %[[CTX1:.*]] = getelementptr inbounds{{.*}} [[[BUFFER_SIZE]] x i8], ptr %[[FRAMEPTR]], i32 0, i32 0 // CHECK: %[[RET:.*]] = call swiftcc ptr %[[RESUME1]](ptr noalias dereferenceable([[BUFFER_SIZE]]) %[[CTX1]], i1 false) // CHECK: call void @free(ptr %[[FRAME]]) // CHECK: ret ptr %[[RET]] @@ -1803,18 +1803,18 @@ protocol P2 { associatedtype Y : P1 } // CHECK: entry: // CHECK: %[[CTX:.*]] = alloca [[[BUFFER_SIZE]] x i8] // CHECK: %[[PA_CTX_BOX:.*]] = call noalias ptr @swift_allocObject(ptr getelementptr inbounds (%swift.full_boxmetadata, {{.*}} -// CHECK-32: %[[PA_CTX:.*]] = getelementptr inbounds <{ %swift.refcounted, [12 x i8], %TSi }>, ptr %[[PA_CTX_BOX]], i32 0, i32 1 -// CHECK-64: %[[PA_CTX:.*]] = getelementptr inbounds <{ %swift.refcounted, [24 x i8], %TSi }>, ptr %[[PA_CTX_BOX]], i32 0, i32 1 +// CHECK-32: %[[PA_CTX:.*]] = getelementptr inbounds{{.*}} <{ %swift.refcounted, [12 x i8], %TSi }>, ptr %[[PA_CTX_BOX]], i32 0, i32 1 +// CHECK-64: %[[PA_CTX:.*]] = getelementptr inbounds{{.*}} <{ %swift.refcounted, [24 x i8], %TSi }>, ptr %[[PA_CTX_BOX]], i32 0, i32 1 // CHECK: store ptr %[[TY1]], ptr %[[PA_CTX]] // CHECK: %[[PA_CTX1:.*]] = getelementptr inbounds ptr, ptr %[[PA_CTX]], i32 1 // CHECK: store ptr %[[TY2]], ptr %[[PA_CTX1]] // CHECK: %[[PA_CTX2:.*]] = getelementptr inbounds ptr, ptr %[[PA_CTX]], i32 2 // CHECK: store ptr %[[TY3]], ptr %[[PA_CTX2]] -// CHECK-32: %[[PA_ARG:.*]] = getelementptr inbounds <{ %swift.refcounted, [12 x i8], %TSi }>, ptr %[[PA_CTX_BOX]], i32 0, i32 2 -// CHECK-64: %[[PA_ARG:.*]] = getelementptr inbounds <{ %swift.refcounted, [24 x i8], %TSi }>, ptr %[[PA_CTX_BOX]], i32 0, i32 2 -// CHECK: %[[PA_ARG_PTR:.*]] = getelementptr inbounds %TSi, ptr %[[PA_ARG]], i32 0, i32 0 +// CHECK-32: %[[PA_ARG:.*]] = getelementptr inbounds{{.*}} <{ %swift.refcounted, [12 x i8], %TSi }>, ptr %[[PA_CTX_BOX]], i32 0, i32 2 +// CHECK-64: %[[PA_ARG:.*]] = getelementptr inbounds{{.*}} <{ %swift.refcounted, [24 x i8], %TSi }>, ptr %[[PA_CTX_BOX]], i32 0, i32 2 +// CHECK: %[[PA_ARG_PTR:.*]] = getelementptr inbounds{{.*}} %TSi, ptr %[[PA_ARG]], i32 0, i32 0 // CHECK: store [[ARG_TYPE]] %[[ARG]], ptr %[[PA_ARG_PTR]] -// CHECK: %[[CTXPTR:.*]] = getelementptr inbounds [[[BUFFER_SIZE]] x i8], ptr %[[CTX]], i32 0, i32 0 +// CHECK: %[[CTXPTR:.*]] = getelementptr inbounds{{.*}} [[[BUFFER_SIZE]] x i8], ptr %[[CTX]], i32 0, i32 0 // CHECK: call void @llvm.lifetime.start.p0(i64 [[BUFFER_SIZE]], ptr %[[CTXPTR]]) // CHECK: %[[YIELD_PAIR:.*]] = call swiftcc { ptr, ptr } @"$s24complex_generic_functionTA{{.*}}"(ptr noalias {{.*}} %[[CTXPTR]], ptr swiftself %[[PA_CTX_BOX]]) // CHECK: %[[RESUME:.*]] = extractvalue { ptr, ptr } %[[YIELD_PAIR]], 0 @@ -1830,19 +1830,19 @@ protocol P2 { associatedtype Y : P1 } // CHECK: %[[SPILL:.*]] = call ptr @malloc // CHECK: store ptr %[[SPILL]], ptr %[[CTX]] // CHECK: %[[FRAME:.*]] = getelementptr inbounds %"$s24complex_generic_functionTA.Frame", ptr %[[SPILL]], i32 0, i32 0 -// CHECK-32: %[[PA_CTX:.*]] = getelementptr inbounds <{ %swift.refcounted, [12 x i8], %TSi }>, ptr %[[PA_CTX_BOX]], i32 0, i32 1 -// CHECK-64: %[[PA_CTX:.*]] = getelementptr inbounds <{ %swift.refcounted, [24 x i8], %TSi }>, ptr %[[PA_CTX_BOX]], i32 0, i32 1 +// CHECK-32: %[[PA_CTX:.*]] = getelementptr inbounds{{.*}} <{ %swift.refcounted, [12 x i8], %TSi }>, ptr %[[PA_CTX_BOX]], i32 0, i32 1 +// CHECK-64: %[[PA_CTX:.*]] = getelementptr inbounds{{.*}} <{ %swift.refcounted, [24 x i8], %TSi }>, ptr %[[PA_CTX_BOX]], i32 0, i32 1 // CHECK: %[[TY1:.*]] = load ptr, ptr %[[PA_CTX]] // CHECK: %[[TY2_PTR:.*]] = getelementptr inbounds ptr, ptr %[[PA_CTX]], i32 1 // CHECK: %[[TY2:.*]] = load ptr, ptr %[[TY2_PTR]] // CHECK: %[[TY3_PTR:.*]] = getelementptr inbounds ptr, ptr %[[PA_CTX]], i32 2 // CHECK: %[[TY3:.*]] = load ptr, ptr %[[TY3_PTR]] -// CHECK-32: %[[PA_ARG_PTR:.*]] = getelementptr inbounds <{ %swift.refcounted, [12 x i8], %TSi }>, ptr %[[PA_CTX_BOX]], i32 0, i32 2 -// CHECK-64: %[[PA_ARG_PTR:.*]] = getelementptr inbounds <{ %swift.refcounted, [24 x i8], %TSi }>, ptr %[[PA_CTX_BOX]], i32 0, i32 2 -// CHECK: %[[PA_ARG:.*]] = getelementptr inbounds %TSi, ptr %[[PA_ARG_PTR]], i32 0, i32 0 +// CHECK-32: %[[PA_ARG_PTR:.*]] = getelementptr inbounds{{.*}} <{ %swift.refcounted, [12 x i8], %TSi }>, ptr %[[PA_CTX_BOX]], i32 0, i32 2 +// CHECK-64: %[[PA_ARG_PTR:.*]] = getelementptr inbounds{{.*}} <{ %swift.refcounted, [24 x i8], %TSi }>, ptr %[[PA_CTX_BOX]], i32 0, i32 2 +// CHECK: %[[PA_ARG:.*]] = getelementptr inbounds{{.*}} %TSi, ptr %[[PA_ARG_PTR]], i32 0, i32 0 // CHECK: %[[ARG:.*]] = load [[ARG_TYPE]], ptr %[[PA_ARG]] // CHECK: call void @swift_release(ptr %[[PA_CTX_BOX]]) -// CHECK: %[[FRAMEPTR:.*]] = getelementptr inbounds [[[BUFFER_SIZE]] x i8], ptr %[[FRAME]], i32 0, i32 0 +// CHECK: %[[FRAMEPTR:.*]] = getelementptr inbounds{{.*}} [[[BUFFER_SIZE]] x i8], ptr %[[FRAME]], i32 0, i32 0 // CHECK: call void @llvm.lifetime.start.p0(i64 [[BUFFER_SIZE]], ptr %[[FRAMEPTR]]) // CHECK: %[[YIELD_PAIR:.*]] = call swiftcc { ptr, ptr } @complex_generic_function(ptr noalias {{.*}} %[[FRAMEPTR]], [[ARG_TYPE]] %[[ARG]], ptr %[[TY1]], ptr %[[TY2]], ptr %[[TY3]]) // CHECK: %[[RESUME:.*]] = extractvalue { ptr, ptr } %[[YIELD_PAIR]], 0 @@ -1871,12 +1871,12 @@ bb0(%0 : $Int): // CHECK: entry: // CHECK: %[[CTX:.*]] = alloca [[[BUFFER_SIZE]] x i8] // CHECK: %[[PA_CTX_BOX:.*]] = call noalias ptr @swift_allocObject(ptr getelementptr inbounds (%swift.full_boxmetadata, {{.*}}) -// CHECK-32: %[[PA_CTX:.*]] = getelementptr inbounds <{ %swift.refcounted, [4 x i8] }>, ptr %[[PA_CTX_BOX]], i32 0, i32 1 -// CHECK-64: %[[PA_CTX:.*]] = getelementptr inbounds <{ %swift.refcounted, [8 x i8] }>, ptr %[[PA_CTX_BOX]], i32 0, i32 1 +// CHECK-32: %[[PA_CTX:.*]] = getelementptr inbounds{{.*}} <{ %swift.refcounted, [4 x i8] }>, ptr %[[PA_CTX_BOX]], i32 0, i32 1 +// CHECK-64: %[[PA_CTX:.*]] = getelementptr inbounds{{.*}} <{ %swift.refcounted, [8 x i8] }>, ptr %[[PA_CTX_BOX]], i32 0, i32 1 // CHECK: %[[MD_RES:.*]] = call swiftcc %swift.metadata_response @"$s18partial_apply_coro18ComplexBoundedTypeVMa"({{i32|i64}} 0, ptr %[[TY1]], ptr %[[TY2]]) // CHECK: %[[MD:.*]] = extractvalue %swift.metadata_response %[[MD_RES]], 0 // CHECK: store ptr %[[MD]], ptr %[[PA_CTX]] -// CHECK: %[[CTXPTR:.*]] = getelementptr inbounds [[[BUFFER_SIZE]] x i8], ptr %[[CTX]], i32 0, i32 0 +// CHECK: %[[CTXPTR:.*]] = getelementptr inbounds{{.*}} [[[BUFFER_SIZE]] x i8], ptr %[[CTX]], i32 0, i32 0 // CHECK: call void @llvm.lifetime.start.p0(i64 [[BUFFER_SIZE]], ptr %[[CTXPTR]]) // CHECK: %[[YIELD_PAIR:.*]] = call swiftcc { ptr, ptr } @"$s16generic_functionTA{{.*}}"(ptr noalias {{.*}} %[[CTXPTR]], ptr swiftself %[[PA_CTX_BOX]]) // CHECK: %[[RESUME:.*]] = extractvalue { ptr, ptr } %[[YIELD_PAIR]], 0 @@ -1892,11 +1892,11 @@ bb0(%0 : $Int): // CHECK: %[[SPILL:.*]] = call ptr @malloc // CHECK: store ptr %[[SPILL]], ptr %[[CTX]] // CHECK: %[[FRAME:.*]] = getelementptr inbounds %"$s16generic_functionTA.Frame", ptr %[[SPILL]], i32 0, i32 0 -// CHECK-32: %[[PA_CTX:.*]] = getelementptr inbounds <{ %swift.refcounted, [4 x i8] }>, ptr %[[PA_CTX_BOX]], i32 0, i32 1 -// CHECK-64: %[[PA_CTX:.*]] = getelementptr inbounds <{ %swift.refcounted, [8 x i8] }>, ptr %[[PA_CTX_BOX]], i32 0, i32 1 +// CHECK-32: %[[PA_CTX:.*]] = getelementptr inbounds{{.*}} <{ %swift.refcounted, [4 x i8] }>, ptr %[[PA_CTX_BOX]], i32 0, i32 1 +// CHECK-64: %[[PA_CTX:.*]] = getelementptr inbounds{{.*}} <{ %swift.refcounted, [8 x i8] }>, ptr %[[PA_CTX_BOX]], i32 0, i32 1 // CHECK: %[[MD:.*]] = load ptr, ptr %[[PA_CTX]] // CHECK: call void @swift_release(ptr %[[PA_CTX_BOX]]) -// CHECK: %[[FRAMEPTR:.*]] = getelementptr inbounds [[[BUFFER_SIZE]] x i8], ptr %[[FRAME]], i32 0, i32 0 +// CHECK: %[[FRAMEPTR:.*]] = getelementptr inbounds{{.*}} [[[BUFFER_SIZE]] x i8], ptr %[[FRAME]], i32 0, i32 0 // CHECK: call void @llvm.lifetime.start.p0(i64 [[BUFFER_SIZE]], ptr %[[FRAMEPTR]]) // CHECK: %[[YIELD_PAIR:.*]] = call swiftcc { ptr, ptr } @generic_function(ptr noalias {{.*}} %[[FRAMEPTR]], ptr %[[MD]]) // CHECK: %[[RESUME:.*]] = extractvalue { ptr, ptr } %[[YIELD_PAIR]], 0 @@ -1936,8 +1936,8 @@ entry(%i : $Int): // CHECK-SAME: ([[ARG_TYPE:(i32|i64)]] %[[ARG:.*]]) // CHECK: entry: // CHECK: %[[PA_CTX_BOX:.*]] = call noalias ptr @swift_allocObject(ptr getelementptr inbounds (%swift.full_boxmetadata, {{.*}}) -// CHECK: %[[PA_CTX:.*]] = getelementptr inbounds <{ %swift.refcounted, %TSi }>, ptr %[[PA_CTX_BOX]], i32 0, i32 1 -// CHECK: %[[PA_ARG_PTR:.*]] = getelementptr inbounds %TSi, ptr %[[PA_CTX]], i32 0, i32 0 +// CHECK: %[[PA_CTX:.*]] = getelementptr inbounds{{.*}} <{ %swift.refcounted, %TSi }>, ptr %[[PA_CTX_BOX]], i32 0, i32 1 +// CHECK: %[[PA_ARG_PTR:.*]] = getelementptr inbounds{{.*}} %TSi, ptr %[[PA_CTX]], i32 0, i32 0 // CHECK: store [[ARG_TYPE]] %[[ARG]], ptr %[[PA_ARG_PTR]] // CHECK: %[[RET:.*]] = insertvalue { ptr, ptr } { ptr @"$s23generic_indirect_returnTA{{.*}}", ptr undef }, ptr %[[PA_CTX_BOX]], 1 // CHECK: ret { ptr, ptr } %[[RET]] @@ -1965,8 +1965,8 @@ entry(%i : $Int): // CHECK-SAME: ([[ARG_TYPE:(i32|i64)]] %[[ARG:.*]]) // CHECK: entry: // CHECK: %[[PA_CTX_BOX:.*]] = call noalias ptr @swift_allocObject(ptr getelementptr inbounds (%swift.full_boxmetadata, {{.*}}) -// CHECK: %[[PA_CTX:.*]] = getelementptr inbounds <{ %swift.refcounted, %TSi }>, ptr %[[PA_CTX_BOX]], i32 0, i32 1 -// CHECK: %[[PA_ARG_PTR:.*]] = getelementptr inbounds %TSi, ptr %[[PA_CTX]], i32 0, i32 0 +// CHECK: %[[PA_CTX:.*]] = getelementptr inbounds{{.*}} <{ %swift.refcounted, %TSi }>, ptr %[[PA_CTX_BOX]], i32 0, i32 1 +// CHECK: %[[PA_ARG_PTR:.*]] = getelementptr inbounds{{.*}} %TSi, ptr %[[PA_CTX]], i32 0, i32 0 // CHECK: store [[ARG_TYPE]] %[[ARG]], ptr %[[PA_ARG_PTR]] // CHECK: %[[RET:.*]] = insertvalue { ptr, ptr } { ptr @"$s24generic_indirect_return2TA{{.*}}", ptr undef }, ptr %[[PA_CTX_BOX]], 1 // CHECK: ret { ptr, ptr } %[[RET]] @@ -2002,7 +2002,7 @@ entry(%t : $@thin SwiftStruct.Type, %c : $SwiftClass): // CHECK: %[[SPILL:.*]] = call ptr @malloc // CHECK: store ptr %[[SPILL]], ptr %[[CTX]] // CHECK: %[[FRAME:.*]] = getelementptr inbounds %"$s3funTA.Frame", ptr %[[SPILL]], i32 0, i32 0 -// CHECK: %[[FRAMEPTR:.*]] = getelementptr inbounds [[[BUFFER_SIZE]] x i8], ptr %[[FRAME]], i32 0, i32 0 +// CHECK: %[[FRAMEPTR:.*]] = getelementptr inbounds{{.*}} [[[BUFFER_SIZE]] x i8], ptr %[[FRAME]], i32 0, i32 0 // CHECK: call void @llvm.lifetime.start.p0(i64 [[BUFFER_SIZE]], ptr %[[FRAMEPTR]]) // CHECK: %[[YIELD_PAIR:.*]] = call swiftcc { ptr, ptr } @fun(ptr noalias dereferenceable([[BUFFER_SIZE]]) %[[FRAMEPTR]], ptr %[[PA_CTX_BOX]]) // CHECK: %[[RESUME:.*]] = extractvalue { ptr, ptr } %[[YIELD_PAIR]], 0 @@ -2024,7 +2024,7 @@ entry(%t : $@thin SwiftStruct.Type, %c : $SwiftClass): // CHECK-LABEL: unwind: // CHECK: %[[RESUME_ADDR0:.*]] = getelementptr inbounds %"$s3funTA.Frame", ptr %[[FRAME]], i32 0, i32 1 // CHECK: %[[RESUME0:.*]] = load ptr, ptr %[[RESUME_ADDR0]] -// CHECK: %[[CTX0:.*]] = getelementptr inbounds [[[BUFFER_SIZE]] x i8], ptr %[[FRAMEPTR]], i32 0, i32 0 +// CHECK: %[[CTX0:.*]] = getelementptr inbounds{{.*}} [[[BUFFER_SIZE]] x i8], ptr %[[FRAMEPTR]], i32 0, i32 0 // CHECK: call swiftcc void %[[RESUME0]](ptr noalias dereferenceable([[BUFFER_SIZE]]) %[[CTX0]], i1 true) // CHECK: call void @free(ptr %[[FRAME]]) // CHECK: unreachable @@ -2032,7 +2032,7 @@ entry(%t : $@thin SwiftStruct.Type, %c : $SwiftClass): // CHECK-LABEL: resume: // CHECK: %[[RESUME_ADDR1:.*]] = getelementptr inbounds %"$s3funTA.Frame", ptr %[[FRAME]], i32 0, i32 1 // CHECK: %[[RESUME1:.*]] = load ptr, ptr %[[RESUME_ADDR1]] -// CHECK: %[[CTX1:.*]] = getelementptr inbounds [[[BUFFER_SIZE]] x i8], ptr %[[FRAMEPTR]], i32 0, i32 0 +// CHECK: %[[CTX1:.*]] = getelementptr inbounds{{.*}} [[[BUFFER_SIZE]] x i8], ptr %[[FRAMEPTR]], i32 0, i32 0 // CHECK: call swiftcc void %[[RESUME1]](ptr noalias dereferenceable([[BUFFER_SIZE]]) %[[CTX1]], i1 false) // CHECK: call void @free(ptr %[[FRAME]]) // CHECK: ret void @@ -2080,7 +2080,7 @@ entry(%a : $*A2): // CHECK: store ptr %[[SPILL]], ptr %[[CTX]] // CHECK: %[[FRAME:.*]] = getelementptr inbounds %"$s7amethodTA.Frame", ptr %[[SPILL]], i32 0, i32 0 // CHECK: store ptr %[[SELF]], ptr %[[SELFPTR]] -// CHECK: %[[FRAMEPTR:.*]] = getelementptr inbounds [[[BUFFER_SIZE]] x i8], ptr %[[FRAME]], i32 0, i32 0 +// CHECK: %[[FRAMEPTR:.*]] = getelementptr inbounds{{.*}} [[[BUFFER_SIZE]] x i8], ptr %[[FRAME]], i32 0, i32 0 // CHECK: call void @llvm.lifetime.start.p0(i64 [[BUFFER_SIZE]], ptr %[[FRAMEPTR]]) // CHECK: store ptr null, ptr %[[ERRORPTR]] // CHECK: %[[YIELD_PAIR:.*]] = call swiftcc { ptr, ptr, ptr } @amethod(ptr noalias dereferenceable([[BUFFER_SIZE]]) %[[FRAMEPTR]], ptr noalias nocapture swiftself dereferenceable([[SELF_SIZE]]) %[[SELFPTR]], ptr noalias nocapture swifterror dereferenceable([[ERROR_SIZE]]) %[[ERRORPTR]]) @@ -2109,7 +2109,7 @@ entry(%a : $*A2): // CHECK-LABEL: unwind: // CHECK: %[[RESUME_ADDR0:.*]] = getelementptr inbounds %"$s7amethodTA.Frame", ptr %[[FRAME]], i32 0, i32 1 // CHECK: %[[RESUME0:.*]] = load ptr, ptr %[[RESUME_ADDR0]] -// CHECK: %[[CTX0:.*]] = getelementptr inbounds [[[BUFFER_SIZE]] x i8], ptr %[[FRAMEPTR]], i32 0, i32 0 +// CHECK: %[[CTX0:.*]] = getelementptr inbounds{{.*}} [[[BUFFER_SIZE]] x i8], ptr %[[FRAMEPTR]], i32 0, i32 0 // CHECK: call swiftcc void %[[RESUME0]](ptr noalias dereferenceable([[BUFFER_SIZE]]) %[[CTX0]], i1 true) // CHECK: store ptr %[[ERRORVAL]], ptr %[[ERRORPTR]] // CHECK: call void @free(ptr %[[FRAME]]) @@ -2118,7 +2118,7 @@ entry(%a : $*A2): // CHECK-LABEL: resume: // CHECK: %[[RESUME_ADDR1:.*]] = getelementptr inbounds %"$s7amethodTA.Frame", ptr %[[FRAME]], i32 0, i32 1 // CHECK: %[[RESUME1:.*]] = load ptr, ptr %[[RESUME_ADDR1]] -// CHECK: %[[CTX1:.*]] = getelementptr inbounds [[[BUFFER_SIZE]] x i8], ptr %[[FRAMEPTR]], i32 0, i32 0 +// CHECK: %[[CTX1:.*]] = getelementptr inbounds{{.*}} [[[BUFFER_SIZE]] x i8], ptr %[[FRAMEPTR]], i32 0, i32 0 // CHECK: call swiftcc void %[[RESUME1]](ptr noalias dereferenceable([[BUFFER_SIZE]]) %[[CTX1]], i1 false) // CHECK: store ptr %[[ERRORVAL]], ptr %[[ERRORPTR]] // CHECK: call void @free(ptr %[[FRAME]]) @@ -2140,7 +2140,7 @@ bb0(%0 : $*A2): // CHECK-SAME: (ptr noalias nocapture dereferenceable([[ARG_SIZE:(8|16)]]) %[[ARG:.*]]) // CHECK: entry: // CHECK: %[[BOX:.*]] = call noalias ptr @swift_allocObject(ptr getelementptr inbounds (%swift.full_boxmetadata, ptr @metadata -// CHECK: %[[BOXPTR:.*]] = getelementptr inbounds <{ %swift.refcounted, %T18partial_apply_coro14SwiftClassPairV }>, ptr %[[BOX]], i32 0, i32 1 +// CHECK: %[[BOXPTR:.*]] = getelementptr inbounds{{.*}} <{ %swift.refcounted, %T18partial_apply_coro14SwiftClassPairV }>, ptr %[[BOX]], i32 0, i32 1 // CHECK: call void @llvm.memcpy.p0.p0.{{i32|i64}}(ptr align {{4|8}} %[[BOXPTR]], ptr align {{4|8}} %[[ARG]], {{i32|i64}} [[ARG_SIZE]], i1 false) // CHECK: %[[RET:.*]] = insertvalue { ptr, ptr } { ptr @"$s45indirect_guaranteed_captured_class_pair_paramTA.{{[0-9]+}}{{.*}}", ptr undef }, ptr %[[BOX]], 1 // CHECK: ret { ptr, ptr } %[[RET]] @@ -2153,8 +2153,8 @@ bb0(%0 : $*A2): // CHECK: %[[SPILL:.*]] = call ptr @malloc // CHECK: store ptr %[[SPILL]], ptr %[[CTX]] // CHECK: %[[FRAME:.*]] = getelementptr inbounds %"$s45indirect_guaranteed_captured_class_pair_paramTA.{{[0-9]+}}.Frame", ptr %[[SPILL]], i32 0, i32 0 -// CHECK: %[[PA_CTX:.*]] = getelementptr inbounds <{ %swift.refcounted, %T18partial_apply_coro14SwiftClassPairV }>, ptr %[[PA_CTX_BOX]], i32 0, i32 1 -// CHECK: %[[PA_ARG:.*]] = getelementptr inbounds [[[BUFFER_SIZE]] x i8], ptr %[[FRAME]], i32 0, i32 0 +// CHECK: %[[PA_CTX:.*]] = getelementptr inbounds{{.*}} <{ %swift.refcounted, %T18partial_apply_coro14SwiftClassPairV }>, ptr %[[PA_CTX_BOX]], i32 0, i32 1 +// CHECK: %[[PA_ARG:.*]] = getelementptr inbounds{{.*}} [[[BUFFER_SIZE]] x i8], ptr %[[FRAME]], i32 0, i32 0 // CHECK: call void @llvm.lifetime.start.p0(i64 [[BUFFER_SIZE]], ptr %[[PA_ARG]]) // CHECK: %[[YIELD_PAIR:.*]] = call swiftcc { ptr, [[ARG_TYPE]] } @indirect_guaranteed_captured_class_pair_param(ptr noalias dereferenceable([[BUFFER_SIZE]]) %[[PA_ARG]], [[ARG_TYPE]] %[[ARG0]], ptr noalias nocapture dereferenceable({{8|16}}) %[[PA_CTX]]) // CHECK: %[[RESUME:.*]] = extractvalue { ptr, [[ARG_TYPE]] } %[[YIELD_PAIR]], 0 @@ -2176,7 +2176,7 @@ bb0(%0 : $*A2): // CHECK-LABEL: unwind: // CHECK: %[[RESUME_ADDR0:.*]] = getelementptr inbounds %"$s45indirect_guaranteed_captured_class_pair_paramTA.{{[0-9]+}}.Frame", ptr %[[FRAME]], i32 0, i32 1 // CHECK: %[[RESUME0:.*]] = load ptr, ptr %[[RESUME_ADDR0]] -// CHECK: %[[CTX0:.*]] = getelementptr inbounds [[[BUFFER_SIZE]] x i8], ptr %[[FRAMEPTR]], i32 0, i32 0 +// CHECK: %[[CTX0:.*]] = getelementptr inbounds{{.*}} [[[BUFFER_SIZE]] x i8], ptr %[[FRAMEPTR]], i32 0, i32 0 // CHECK: call swiftcc void %[[RESUME0]](ptr noalias dereferenceable([[BUFFER_SIZE]]) %[[CTX0]], i1 true) // CHECK: call void @free(ptr %[[FRAME]]) // CHECK: unreachable @@ -2184,7 +2184,7 @@ bb0(%0 : $*A2): // CHECK-LABEL: resume: // CHECK: %[[RESUME_ADDR1:.*]] = getelementptr inbounds %"$s45indirect_guaranteed_captured_class_pair_paramTA.{{[0-9]+}}.Frame", ptr %[[FRAME]], i32 0, i32 1 // CHECK: %[[RESUME1:.*]] = load ptr, ptr %[[RESUME_ADDR1]] -// CHECK: %[[CTX1:.*]] = getelementptr inbounds [[[BUFFER_SIZE]] x i8], ptr %[[FRAMEPTR]], i32 0, i32 0 +// CHECK: %[[CTX1:.*]] = getelementptr inbounds{{.*}} [[[BUFFER_SIZE]] x i8], ptr %[[FRAMEPTR]], i32 0, i32 0 // CHECK: call swiftcc void %[[RESUME1]](ptr noalias dereferenceable([[BUFFER_SIZE]]) %[[CTX1]], i1 false) // CHECK: call void @free(ptr %[[FRAME]]) // CHECK: ret void @@ -2205,9 +2205,9 @@ sil public_external @use_closure2 : $@yield_once @convention(thin) (@noescape @y // CHECK: entry: // CHECK: %[[CTX:.*]] = alloca [[[BUFFER_SIZE]] x i8] // CHECK: %[[BOX:.*]] = alloca i8 -// CHECK: %[[BOXPTR:.*]] = getelementptr inbounds <{ %swift.refcounted, ptr }>, ptr %[[BOX]], i32 0, i32 1 +// CHECK: %[[BOXPTR:.*]] = getelementptr inbounds{{.*}} <{ %swift.refcounted, ptr }>, ptr %[[BOX]], i32 0, i32 1 // CHECK: store ptr %[[ARG]], ptr %[[BOXPTR]] -// CHECK: %[[CTXPTR:.*]] = getelementptr inbounds [[[BUFFER_SIZE]] x i8], ptr %[[CTX]], i32 0, i32 0 +// CHECK: %[[CTXPTR:.*]] = getelementptr inbounds{{.*}} [[[BUFFER_SIZE]] x i8], ptr %[[CTX]], i32 0, i32 0 // CHECK: call void @llvm.lifetime.start.p0(i64 [[BUFFER_SIZE]], ptr %[[CTXPTR]]) // CHECK: %[[YIELD_PAIR:.*]] = call swiftcc { ptr, [[RES_TYPE:(i32|i64)]] } @use_closure2(ptr noalias dereferenceable([[BUFFER_SIZE]]) %[[CTXPTR]], ptr @"$s45indirect_guaranteed_captured_class_pair_paramTA.{{[0-9]+}}{{.*}}", ptr %[[BOX]]) // CHECK: %[[RESUME:.*]] = extractvalue { ptr, [[RES_TYPE]] } %[[YIELD_PAIR]], 0 @@ -2224,9 +2224,9 @@ sil public_external @use_closure2 : $@yield_once @convention(thin) (@noescape @y // CHECK: %[[SPILL:.*]] = call ptr @malloc // CHECK: store ptr %[[SPILL]], ptr %[[CTX]] // CHECK: %[[FRAME:.*]] = getelementptr inbounds %"$s45indirect_guaranteed_captured_class_pair_paramTA.{{[0-9]+}}.Frame", ptr %[[SPILL]], i32 0, i32 0 -// CHECK: %[[PA_CTX:.*]] = getelementptr inbounds <{ %swift.refcounted, ptr }>, ptr %[[PA_CTX_BOX]], i32 0, i32 1 +// CHECK: %[[PA_CTX:.*]] = getelementptr inbounds{{.*}} <{ %swift.refcounted, ptr }>, ptr %[[PA_CTX_BOX]], i32 0, i32 1 // CHECK: %[[PA_ARG:.*]] = load ptr, ptr %[[PA_CTX]] -// CHECK: %[[FRAMEPTR:.*]] = getelementptr inbounds [[[BUFFER_SIZE]] x i8], ptr %[[FRAME]], i32 0, i32 0 +// CHECK: %[[FRAMEPTR:.*]] = getelementptr inbounds{{.*}} [[[BUFFER_SIZE]] x i8], ptr %[[FRAME]], i32 0, i32 0 // CHECK: call void @llvm.lifetime.start.p0(i64 [[BUFFER_SIZE]], ptr %[[FRAMEPTR]]) // CHECK: %[[YIELD_PAIR:.*]] = call swiftcc { ptr, [[ARG_TYPE]] } @indirect_guaranteed_captured_class_pair_param(ptr noalias dereferenceable([[BUFFER_SIZE]]) %[[FRAMEPTR]], [[ARG_TYPE]] %[[ARG0]], ptr noalias nocapture dereferenceable({{8|16}}) %[[PA_ARG]]) // CHECK: %[[RESUME:.*]] = extractvalue { ptr, [[ARG_TYPE]] } %[[YIELD_PAIR]], 0 @@ -2248,7 +2248,7 @@ sil public_external @use_closure2 : $@yield_once @convention(thin) (@noescape @y // CHECK-LABEL: unwind: // CHECK: %[[RESUME_ADDR0:.*]] = getelementptr inbounds %"$s45indirect_guaranteed_captured_class_pair_paramTA.{{[0-9]+}}.Frame", ptr %[[FRAME]], i32 0, i32 1 // CHECK: %[[RESUME0:.*]] = load ptr, ptr %[[RESUME_ADDR0]] -// CHECK: %[[CTX0:.*]] = getelementptr inbounds [[[BUFFER_SIZE]] x i8], ptr %[[FRAMEPTR]], i32 0, i32 0 +// CHECK: %[[CTX0:.*]] = getelementptr inbounds{{.*}} [[[BUFFER_SIZE]] x i8], ptr %[[FRAMEPTR]], i32 0, i32 0 // CHECK: call swiftcc void %[[RESUME0]](ptr noalias dereferenceable([[BUFFER_SIZE]]) %[[CTX0]], i1 true) // CHECK: call void @free(ptr %[[FRAME]]) // CHECK: unreachable @@ -2256,7 +2256,7 @@ sil public_external @use_closure2 : $@yield_once @convention(thin) (@noescape @y // CHECK-LABEL: resume: // CHECK: %[[RESUME_ADDR1:.*]] = getelementptr inbounds %"$s45indirect_guaranteed_captured_class_pair_paramTA.{{[0-9]+}}.Frame", ptr %[[FRAME]], i32 0, i32 1 // CHECK: %[[RESUME1:.*]] = load ptr, ptr %[[RESUME_ADDR1]] -// CHECK: %[[CTX1:.*]] = getelementptr inbounds [[[BUFFER_SIZE]] x i8], ptr %[[FRAMEPTR]], i32 0, i32 0 +// CHECK: %[[CTX1:.*]] = getelementptr inbounds{{.*}} [[[BUFFER_SIZE]] x i8], ptr %[[FRAMEPTR]], i32 0, i32 0 // CHECK: call swiftcc void %[[RESUME1]](ptr noalias dereferenceable([[BUFFER_SIZE]]) %[[CTX1]], i1 false) // CHECK: call void @free(ptr %[[FRAME]]) // CHECK: ret void @@ -2288,9 +2288,9 @@ entry(%i : $Int, %p : $*SwiftClassPair): // CHECK: entry: // CHECK: %[[CTX:.*]] = alloca [[[BUFFER_SIZE]] x i8], // CHECK: %[[BOX:.*]] = alloca i8 -// CHECK: %[[BOXPTR:.*]] = getelementptr inbounds <{ %swift.refcounted, ptr }>, ptr %[[BOX]], i32 0, i32 1 +// CHECK: %[[BOXPTR:.*]] = getelementptr inbounds{{.*}} <{ %swift.refcounted, ptr }>, ptr %[[BOX]], i32 0, i32 1 // CHECK: store ptr %[[ARG]], ptr %[[BOXPTR]] -// CHECK: %[[CTXPTR:.*]] = getelementptr inbounds [[[BUFFER_SIZE]] x i8], ptr %[[CTX]], i32 0, i32 0 +// CHECK: %[[CTXPTR:.*]] = getelementptr inbounds{{.*}} [[[BUFFER_SIZE]] x i8], ptr %[[CTX]], i32 0, i32 0 // CHECK: call void @llvm.lifetime.start.p0(i64 [[BUFFER_SIZE]], ptr %[[CTXPTR]]) // CHECK: %[[YIELD_PAIR:.*]] = call swiftcc { ptr, [[ARG_TYPE]] } @use_closure2(ptr noalias dereferenceable([[BUFFER_SIZE]]) %[[CTXPTR]], ptr @"$s37indirect_in_captured_class_pair_paramTA{{.*}}", ptr %[[BOX]]) // CHECK: %[[RESUME:.*]] = extractvalue { ptr, [[ARG_TYPE]] } %[[YIELD_PAIR]], 0 @@ -2308,9 +2308,9 @@ entry(%i : $Int, %p : $*SwiftClassPair): // CHECK: %[[SPILL:.*]] = call ptr @malloc // CHECK: store ptr %[[SPILL]], ptr %[[CTX]] // CHECK: %[[FRAME:.*]] = getelementptr inbounds %"$s37indirect_in_captured_class_pair_paramTA.Frame", ptr %[[SPILL]], i32 0, i32 0 -// CHECK: %[[PA_CTX:.*]] = getelementptr inbounds <{ %swift.refcounted, ptr }>, ptr %[[PA_CTX_BOX]], i32 0, i32 1 +// CHECK: %[[PA_CTX:.*]] = getelementptr inbounds{{.*}} <{ %swift.refcounted, ptr }>, ptr %[[PA_CTX_BOX]], i32 0, i32 1 // CHECK: %[[PA_ARG:.*]] = load ptr, ptr %[[PA_CTX]] -// CHECK: %[[FRAMEPTR:.*]] = getelementptr inbounds [[[BUFFER_SIZE]] x i8], ptr %[[FRAME]], i32 0, i32 0 +// CHECK: %[[FRAMEPTR:.*]] = getelementptr inbounds{{.*}} [[[BUFFER_SIZE]] x i8], ptr %[[FRAME]], i32 0, i32 0 // CHECK: call void @llvm.lifetime.start.p0(i64 [[BUFFER_SIZE]], ptr %[[FRAMEPTR]]) // CHECK: %[[YIELD_PAIR:.*]] = call swiftcc { ptr, [[ARG_TYPE]] } @indirect_in_captured_class_pair_param(ptr noalias dereferenceable([[BUFFER_SIZE]]) %[[FRAMEPTR]], [[ARG_TYPE]] %[[ARG0]], ptr noalias nocapture dereferenceable([[PAIR_SIZE]]) %[[PA_ARG]]) // CHECK: %[[RESUME:.*]] = extractvalue { ptr, [[ARG_TYPE]] } %[[YIELD_PAIR]], 0 @@ -2332,7 +2332,7 @@ entry(%i : $Int, %p : $*SwiftClassPair): // CHECK-LABEL: unwind: // CHECK: %[[RESUME_ADDR0:.*]] = getelementptr inbounds %"$s37indirect_in_captured_class_pair_paramTA.Frame", ptr %[[FRAME]], i32 0, i32 1 // CHECK: %[[RESUME0:.*]] = load ptr, ptr %[[RESUME_ADDR0]] -// CHECK: %[[CTX0:.*]] = getelementptr inbounds [[[BUFFER_SIZE]] x i8], ptr %[[FRAMEPTR]], i32 0, i32 0 +// CHECK: %[[CTX0:.*]] = getelementptr inbounds{{.*}} [[[BUFFER_SIZE]] x i8], ptr %[[FRAMEPTR]], i32 0, i32 0 // CHECK: call swiftcc void %[[RESUME0]](ptr noalias dereferenceable([[BUFFER_SIZE]]) %[[CTX0]], i1 true) // CHECK: call void @free(ptr %[[FRAME]]) // CHECK: unreachable @@ -2340,7 +2340,7 @@ entry(%i : $Int, %p : $*SwiftClassPair): // CHECK-LABEL: resume: // CHECK: %[[RESUME_ADDR1]] = getelementptr inbounds %"$s37indirect_in_captured_class_pair_paramTA.Frame", ptr %[[FRAME]], i32 0, i32 1 // CHECK: %[[RESUME1]] = load ptr, ptr %[[RESUME_ADDR1]] -// CHECK: %[[CTX1:.*]] = getelementptr inbounds [[[BUFFER_SIZE]] x i8], ptr %[[FRAMEPTR]], i32 0, i32 0 +// CHECK: %[[CTX1:.*]] = getelementptr inbounds{{.*}} [[[BUFFER_SIZE]] x i8], ptr %[[FRAMEPTR]], i32 0, i32 0 // CHECK: call swiftcc void %[[RESUME1]](ptr noalias dereferenceable([[BUFFER_SIZE]]) %[[CTX1]], i1 false) // CHECK: call void @free(ptr %[[FRAME]]) // CHECK: ret void @@ -2367,7 +2367,7 @@ bb0(%x : $*SwiftClassPair): // CHECK-arm64e: [[VWTABLEADDR:%.*]] = ptrtoint ptr [[VWT_PTR]] to i64 // CHECK-arm64e: [[VWTABLEAUTH:%.*]] = call i64 @llvm.ptrauth.auth(i64 [[VWTABLEADDR]], i32 2 // CHECK-arm64e: [[VWTABLE:%.*]] = inttoptr i64 [[VWTABLEAUTH]] to ptr -// CHECK: [[FLAGS_PTR:%.*]] = getelementptr inbounds %swift.vwtable, ptr [[VWTABLE]], i32 0, i32 10 +// CHECK: [[FLAGS_PTR:%.*]] = getelementptr inbounds{{.*}} %swift.vwtable, ptr [[VWTABLE]], i32 0, i32 10 sil public_external @closure : $@yield_once @convention(thin) (@in_guaranteed ResilientInt, @guaranteed SwiftClass) -> (@yields @in ResilientInt) sil @test_initial_offset : $@convention(thin) (@in ResilientInt, @guaranteed SwiftClass) -> () { @@ -2489,9 +2489,9 @@ entry(%i : $Int, %ic : $*SwiftClassPair): // CHECK: entry: // CHECK: %[[CTX:.*]] = alloca [[[BUFFER_SIZE]] x i8] // CHECK: %[[BOX:.*]] = alloca i8 -// CHECK: %[[BOXPTR:.*]] = getelementptr inbounds <{ %swift.refcounted, ptr }>, ptr %[[BOX]], i32 0, i32 1 +// CHECK: %[[BOXPTR:.*]] = getelementptr inbounds{{.*}} <{ %swift.refcounted, ptr }>, ptr %[[BOX]], i32 0, i32 1 // CHECK: store ptr %[[ARG]], ptr %[[BOXPTR]] -// CHECK: %[[CTXPTR:.*]] = getelementptr inbounds [[[BUFFER_SIZE]] x i8], ptr %[[CTX]], i32 0, i32 0 +// CHECK: %[[CTXPTR:.*]] = getelementptr inbounds{{.*}} [[[BUFFER_SIZE]] x i8], ptr %[[CTX]], i32 0, i32 0 // CHECK: call void @llvm.lifetime.start.p0(i64 [[BUFFER_SIZE]], ptr %[[CTXPTR]]) // CHECK: %[[YIELD_PAIR:.*]] = call swiftcc { ptr, [[ARG_TYPE]] } @use_closure2(ptr noalias dereferenceable([[BUFFER_SIZE]]) %[[CTXPTR]], ptr @"$s46indirect_in_constant_captured_class_pair_paramTA{{.*}}", ptr %[[BOX]]) // CHECK: %[[RESUME:.*]] = extractvalue { ptr, [[ARG_TYPE]] } %[[YIELD_PAIR]], 0 @@ -2509,9 +2509,9 @@ entry(%i : $Int, %ic : $*SwiftClassPair): // CHECK: %[[SPILL:.*]] = call ptr @malloc // CHECK: store ptr %[[SPILL]], ptr %[[CTX]] // CHECK: %[[FRAME:.*]] = getelementptr inbounds %"$s46indirect_in_constant_captured_class_pair_paramTA.Frame", ptr %[[SPILL]], i32 0, i32 0 -// CHECK: %[[PA_CTX:.*]] = getelementptr inbounds <{ %swift.refcounted, ptr }>, ptr %[[PA_CTX_BOX]], i32 0, i32 1 +// CHECK: %[[PA_CTX:.*]] = getelementptr inbounds{{.*}} <{ %swift.refcounted, ptr }>, ptr %[[PA_CTX_BOX]], i32 0, i32 1 // CHECK: %[[PA_ARG:.*]] = load ptr, ptr %[[PA_CTX]] -// CHECK: %[[FRAMEPTR:.*]] = getelementptr inbounds [[[BUFFER_SIZE]] x i8], ptr %[[FRAME]], i32 0, i32 0 +// CHECK: %[[FRAMEPTR:.*]] = getelementptr inbounds{{.*}} [[[BUFFER_SIZE]] x i8], ptr %[[FRAME]], i32 0, i32 0 // CHECK: call void @llvm.lifetime.start.p0(i64 [[BUFFER_SIZE]], ptr %[[FRAMEPTR]]) // CHECK: %[[YIELD_PAIR:.*]] = call swiftcc { ptr, [[ARG_TYPE]] } @indirect_in_constant_captured_class_pair_param(ptr noalias dereferenceable([[BUFFER_SIZE]]) %[[FRAMEPTR]], [[ARG_TYPE]] %[[ARG0]], ptr noalias nocapture dereferenceable([[PAIR_SIZE]]) %[[PA_ARG]]) // CHECK: %[[RESUME:.*]] = extractvalue { ptr, [[ARG_TYPE]] } %[[YIELD_PAIR]], 0 @@ -2533,7 +2533,7 @@ entry(%i : $Int, %ic : $*SwiftClassPair): // CHECK-LABEL: unwind: // CHECK: %[[RESUME_ADDR0:.*]] = getelementptr inbounds %"$s46indirect_in_constant_captured_class_pair_paramTA.Frame", ptr %[[FRAME]], i32 0, i32 1 // CHECK: %[[RESUME0:.*]] = load ptr, ptr %[[RESUME_ADDR0]] -// CHECK: %[[CTX0:.*]] = getelementptr inbounds [[[BUFFER_SIZE]] x i8], ptr %[[FRAMEPTR]], i32 0, i32 0 +// CHECK: %[[CTX0:.*]] = getelementptr inbounds{{.*}} [[[BUFFER_SIZE]] x i8], ptr %[[FRAMEPTR]], i32 0, i32 0 // CHECK: call swiftcc void %[[RESUME0]](ptr noalias dereferenceable([[BUFFER_SIZE]]) %[[CTX0]], i1 true) // CHECK: call void @free(ptr %[[FRAME]]) // CHECK: unreachable @@ -2541,7 +2541,7 @@ entry(%i : $Int, %ic : $*SwiftClassPair): // CHECK-LABEL: resume: // CHECK: %[[RESUME_ADDR1:.*]] = getelementptr inbounds %"$s46indirect_in_constant_captured_class_pair_paramTA.Frame", ptr %[[FRAME]], i32 0, i32 1 // CHECK: %[[RESUME1:.*]] = load ptr, ptr %[[RESUME_ADDR1]] -// CHECK: %[[CTX1:.*]] = getelementptr inbounds [[[BUFFER_SIZE]] x i8], ptr %[[FRAMEPTR]], i32 0, i32 0 +// CHECK: %[[CTX1:.*]] = getelementptr inbounds{{.*}} [[[BUFFER_SIZE]] x i8], ptr %[[FRAMEPTR]], i32 0, i32 0 // CHECK: call swiftcc void %[[RESUME1]](ptr noalias dereferenceable([[BUFFER_SIZE]]) %[[CTX1]], i1 false) // CHECK: call void @free(ptr %[[FRAME]]) // CHECK: ret void @@ -2571,8 +2571,8 @@ bb0(%thick : $@callee_guaranteed @yield_once @convention(thick) (Int64, Int32) - // CHECK-SAME: ([[ARG_TYPE:(i64|i32)]] %[[ARG:.*]]) // CHECK: entry: // CHECK: %[[BOX:.*]] = call noalias ptr @swift_allocObject(ptr getelementptr inbounds (%swift.full_boxmetadata -// CHECK: %[[BOXPTR:.*]] = getelementptr inbounds <{ %swift.refcounted, %TSi }>, ptr %1, i32 0, i32 1 -// CHECK: %[[ARGPTR:.*]] = getelementptr inbounds %TSi, ptr %2, i32 0, i32 0 +// CHECK: %[[BOXPTR:.*]] = getelementptr inbounds{{.*}} <{ %swift.refcounted, %TSi }>, ptr %1, i32 0, i32 1 +// CHECK: %[[ARGPTR:.*]] = getelementptr inbounds{{.*}} %TSi, ptr %2, i32 0, i32 0 // CHECK: store [[ARG_TYPE]] %[[ARG]], ptr %[[ARGPTR]] // CHECK: %[[RET:.*]] = insertvalue { ptr, ptr } { ptr @"$s16external_closureTA{{.*}}", ptr undef }, ptr %[[BOX]], 1 // CHECK: ret { ptr, ptr } %[[RET]] @@ -2584,10 +2584,10 @@ bb0(%thick : $@callee_guaranteed @yield_once @convention(thick) (Int64, Int32) - // CHECK: %[[SPILL:.*]] = call ptr @malloc // CHECK: store ptr %[[SPILL]], ptr %[[CTX]] // CHECK: %[[FRAME:.*]] = getelementptr inbounds %"$s16external_closureTA.Frame", ptr %[[SPILL]], i32 0, i32 0 -// CHECK: %[[PA_CTX:.*]] = getelementptr inbounds <{ %swift.refcounted, %TSi }>, ptr %[[PA_CTX_BOX]], i32 0, i32 1 -// CHECK: %[[PA_ARG:.*]] = getelementptr inbounds %TSi, ptr %[[PA_CTX]], i32 0, i32 0 +// CHECK: %[[PA_CTX:.*]] = getelementptr inbounds{{.*}} <{ %swift.refcounted, %TSi }>, ptr %[[PA_CTX_BOX]], i32 0, i32 1 +// CHECK: %[[PA_ARG:.*]] = getelementptr inbounds{{.*}} %TSi, ptr %[[PA_CTX]], i32 0, i32 0 // CHECK: %[[ARG2:.*]] = load [[ARG_TYPE]], ptr %[[PA_ARG]] -// CHECK: %[[FRAMEPTR:.*]] = getelementptr inbounds [[[BUFFER_SIZE]] x i8], ptr %[[FRAME]], i32 0, i32 0 +// CHECK: %[[FRAMEPTR:.*]] = getelementptr inbounds{{.*}} [[[BUFFER_SIZE]] x i8], ptr %[[FRAME]], i32 0, i32 0 // CHECK: call void @llvm.lifetime.start.p0(i64 [[BUFFER_SIZE]], ptr %[[FRAMEPTR]]) // CHECK: store ptr null, ptr %[[ERROR]] // CHECK: %[[YIELD_PAIR:.*]] = call swiftcc ptr @external_closure(ptr noalias {{.*}} %[[FRAMEPTR]], [[ARG_TYPE]] %[[ARG1]], [[ARG_TYPE]] %[[ARG2]], ptr swiftself undef, ptr noalias nocapture swifterror {{.*}} %[[ERROR]]) diff --git a/test/IRGen/partial_apply_forwarder.sil b/test/IRGen/partial_apply_forwarder.sil index 8f1af66496687..ae8a0f604372b 100644 --- a/test/IRGen/partial_apply_forwarder.sil +++ b/test/IRGen/partial_apply_forwarder.sil @@ -170,15 +170,15 @@ sil hidden_external @takingQAndS : $@convention(thin) <τ_0_0 where τ_0_0 : Q> // CHECK: [[WBREF:%.*]] = call noalias ptr @swift_allocObject(ptr [[WBTY]] // CHECK: [[CONTEXT0:%.*]] = call noalias ptr @swift_allocObject -// CHECK: [[WITNESS_ADDR:%.*]] = getelementptr inbounds <{ %swift.refcounted,{{.*}} %T23partial_apply_forwarder1SV, ptr }>, ptr [[CONTEXT0]], i32 0, i32 {{(1|2)}} +// CHECK: [[WITNESS_ADDR:%.*]] = getelementptr inbounds{{.*}} <{ %swift.refcounted,{{.*}} %T23partial_apply_forwarder1SV, ptr }>, ptr [[CONTEXT0]], i32 0, i32 {{(1|2)}} // CHECK: [[WITNESS:%.*]] = call ptr @swift_getWitnessTable(ptr @"$s23partial_apply_forwarder12BaseProducerVyxGAA1QAAMc", ptr [[BPTY]], ptr undef) // CHECK: store ptr [[WITNESS]], ptr [[WITNESS_ADDR]] -// CHECK: [[SADDR:%.*]] = getelementptr inbounds <{ %swift.refcounted,{{.*}} %T23partial_apply_forwarder1SV, ptr }>, ptr [[CONTEXT0]], i32 0, i32 {{(2|3)}} -// CHECK: [[XADDR:%.*]] = getelementptr inbounds %T23partial_apply_forwarder1SV, ptr [[SADDR]], i32 0, i32 0 +// CHECK: [[SADDR:%.*]] = getelementptr inbounds{{.*}} <{ %swift.refcounted,{{.*}} %T23partial_apply_forwarder1SV, ptr }>, ptr [[CONTEXT0]], i32 0, i32 {{(2|3)}} +// CHECK: [[XADDR:%.*]] = getelementptr inbounds{{.*}} %T23partial_apply_forwarder1SV, ptr [[SADDR]], i32 0, i32 0 // CHECK: store i64 %1, ptr [[XADDR]] -// CHECK: [[WBADDR:%.*]] = getelementptr inbounds <{ %swift.refcounted,{{.*}} %T23partial_apply_forwarder1SV, ptr }>, ptr [[CONTEXT0]], i32 0, i32 {{(3|4)}} +// CHECK: [[WBADDR:%.*]] = getelementptr inbounds{{.*}} <{ %swift.refcounted,{{.*}} %T23partial_apply_forwarder1SV, ptr }>, ptr [[CONTEXT0]], i32 0, i32 {{(3|4)}} // CHECK: store ptr [[WBREF]], ptr [[WBADDR]] // CHECK: [[CLOSURE:%.*]] = insertvalue { ptr, ptr } { ptr @"$s11takingQAndSTA{{(\.ptrauth)?}}", ptr undef }, ptr [[CONTEXT0]], 1 // CHECK: ret { ptr, ptr } [[CLOSURE]] @@ -186,14 +186,14 @@ sil hidden_external @takingQAndS : $@convention(thin) <τ_0_0 where τ_0_0 : Q> // CHECK-LABEL: define internal swiftcc void @"$s11takingQAndSTA"(ptr swiftself %0) // CHECK: entry: -// CHECK: [[WITNESS_ADDR:%.*]] = getelementptr inbounds <{ %swift.refcounted,{{.*}} %T23partial_apply_forwarder1SV, ptr }>, ptr %0, i32 0, i32 {{(1|2)}} +// CHECK: [[WITNESS_ADDR:%.*]] = getelementptr inbounds{{.*}} <{ %swift.refcounted,{{.*}} %T23partial_apply_forwarder1SV, ptr }>, ptr %0, i32 0, i32 {{(1|2)}} // CHECK: [[WITNESS:%.*]] = load ptr, ptr [[WITNESS_ADDR]] -// CHECK: [[SADDR:%.*]] = getelementptr inbounds <{ %swift.refcounted,{{.*}} %T23partial_apply_forwarder1SV, ptr }>, ptr %0, i32 0, i32 {{(2|3)}} -// CHECK: [[XADDR:%.*]] = getelementptr inbounds %T23partial_apply_forwarder1SV, ptr [[SADDR]], i32 0, i32 0 +// CHECK: [[SADDR:%.*]] = getelementptr inbounds{{.*}} <{ %swift.refcounted,{{.*}} %T23partial_apply_forwarder1SV, ptr }>, ptr %0, i32 0, i32 {{(2|3)}} +// CHECK: [[XADDR:%.*]] = getelementptr inbounds{{.*}} %T23partial_apply_forwarder1SV, ptr [[SADDR]], i32 0, i32 0 // CHECK: [[X:%.*]] = load i64, ptr [[XADDR]] -// CHECK: [[WBADDR:%.*]] = getelementptr inbounds <{ %swift.refcounted,{{.*}} %T23partial_apply_forwarder1SV, ptr }>, ptr %0, i32 0, i32 {{(3|4)}} +// CHECK: [[WBADDR:%.*]] = getelementptr inbounds{{.*}} <{ %swift.refcounted,{{.*}} %T23partial_apply_forwarder1SV, ptr }>, ptr %0, i32 0, i32 {{(3|4)}} // CHECK: [[WB:%.*]] = load ptr, ptr [[WBADDR]] // CHECK: call ptr @swift_retain(ptr returned [[WB]]) // CHECK: [[TY:%.*]] = load ptr, ptr [[WB]] diff --git a/test/IRGen/partial_apply_objc.sil b/test/IRGen/partial_apply_objc.sil index 8d538f79ad261..f777edfec7c57 100644 --- a/test/IRGen/partial_apply_objc.sil +++ b/test/IRGen/partial_apply_objc.sil @@ -51,22 +51,22 @@ bb0(%0 : $ObjCClass): // CHECK-LABEL: define{{( dllexport)?}}{{( protected)?}} swiftcc { ptr, ptr } @indirect_partial_apply(ptr %0, ptr %1, i64 %2) {{.*}} { // CHECK: entry: // CHECK: [[OBJ:%.*]] = call noalias ptr @swift_allocObject(ptr getelementptr inbounds (%swift.full_boxmetadata, ptr @metadata, i32 0, i32 2), i64 40, i64 7) -// CHECK: [[X_ADDR:%.*]] = getelementptr inbounds [[DATA_TYPE:<{ %swift.refcounted, i64, ptr, ptr }>]], ptr [[OBJ]], i32 0, i32 1 +// CHECK: [[X_ADDR:%.*]] = getelementptr inbounds{{.*}} [[DATA_TYPE:<{ %swift.refcounted, i64, ptr, ptr }>]], ptr [[OBJ]], i32 0, i32 1 // CHECK: store i64 %2, ptr [[X_ADDR]], align 8 -// CHECK: [[CONTEXT_ADDR:%.*]] = getelementptr inbounds [[DATA_TYPE]], ptr [[OBJ]], i32 0, i32 2 +// CHECK: [[CONTEXT_ADDR:%.*]] = getelementptr inbounds{{.*}} [[DATA_TYPE]], ptr [[OBJ]], i32 0, i32 2 // CHECK: store ptr %1, ptr [[CONTEXT_ADDR]], align 8 -// CHECK: [[FN_ADDR:%.*]] = getelementptr inbounds [[DATA_TYPE]], ptr [[OBJ]], i32 0, i32 3 +// CHECK: [[FN_ADDR:%.*]] = getelementptr inbounds{{.*}} [[DATA_TYPE]], ptr [[OBJ]], i32 0, i32 3 // CHECK: store ptr %0, ptr [[FN_ADDR]], align 8 // CHECK: [[RET:%.*]] = insertvalue { ptr, ptr } { ptr [[INDIRECT_PARTIAL_APPLY_STUB:@"\$sTA[A-Za-z0-9_]*"]], ptr undef }, ptr [[OBJ]], 1 // CHECK: ret { ptr, ptr } [[RET]] // CHECK: } // CHECK: define internal swiftcc void [[INDIRECT_PARTIAL_APPLY_STUB]](ptr swiftself %0) {{.*}} { // CHECK: entry: -// CHECK: [[X_ADDR:%.*]] = getelementptr inbounds [[DATA_TYPE]], ptr %0, i32 0, i32 1 +// CHECK: [[X_ADDR:%.*]] = getelementptr inbounds{{.*}} [[DATA_TYPE]], ptr %0, i32 0, i32 1 // CHECK: [[X:%.*]] = load i64, ptr [[X_ADDR]], align 8 -// CHECK: [[CONTEXT_ADDR:%.*]] = getelementptr inbounds [[DATA_TYPE]], ptr %0, i32 0, i32 2 +// CHECK: [[CONTEXT_ADDR:%.*]] = getelementptr inbounds{{.*}} [[DATA_TYPE]], ptr %0, i32 0, i32 2 // CHECK: [[CONTEXT:%.*]] = load ptr, ptr [[CONTEXT_ADDR]], align 8 -// CHECK: [[FN_ADDR:%.*]] = getelementptr inbounds [[DATA_TYPE]], ptr %0, i32 0, i32 3 +// CHECK: [[FN_ADDR:%.*]] = getelementptr inbounds{{.*}} [[DATA_TYPE]], ptr %0, i32 0, i32 3 // CHECK: [[FN_PTR:%.*]] = load ptr, ptr [[FN_ADDR]], align 8 // CHECK: tail call swiftcc void [[FN_PTR]](i64 [[X]], ptr swiftself [[CONTEXT]]) // CHECK: ret void @@ -81,7 +81,7 @@ entry(%f : $@callee_owned (Builtin.Word) -> (), %x : $Builtin.Word): // CHECK-LABEL: define{{( dllexport)?}}{{( protected)?}} swiftcc { ptr, ptr } @objc_partial_apply(ptr %0) {{.*}} { // CHECK: entry: // CHECK: [[OBJ:%.*]] = call noalias ptr @swift_allocObject(ptr getelementptr inbounds (%swift.full_boxmetadata, ptr @metadata.2, i32 0, i32 2), i64 24, i64 7) -// CHECK: [[X_ADDR:%.*]] = getelementptr inbounds [[DATA_TYPE:<{ %swift.refcounted, ptr }>]], ptr [[OBJ]], i32 0, i32 1 +// CHECK: [[X_ADDR:%.*]] = getelementptr inbounds{{.*}} [[DATA_TYPE:<{ %swift.refcounted, ptr }>]], ptr [[OBJ]], i32 0, i32 1 // CHECK: store ptr %0, ptr [[X_ADDR]], align 8 // CHECK: [[RET:%.*]] = insertvalue { ptr, ptr } { ptr [[OBJC_PARTIAL_APPLY_STUB:@"\$sTa[A-Za-z0-9_]*"]], ptr undef }, ptr [[OBJ]], 1 // CHECK: ret { ptr, ptr } [[RET]] @@ -90,7 +90,7 @@ entry(%f : $@callee_owned (Builtin.Word) -> (), %x : $Builtin.Word): // CHECK: entry: // CHECK-NOT: swift_retain // CHECK-NOT: swift_retain -// CHECK: [[X_ADDR:%.*]] = getelementptr inbounds [[DATA_TYPE]], ptr %1, i32 0, i32 1 +// CHECK: [[X_ADDR:%.*]] = getelementptr inbounds{{.*}} [[DATA_TYPE]], ptr %1, i32 0, i32 1 // CHECK-NOT: swift_retain // CHECK: [[SELF:%.*]] = load ptr, ptr [[X_ADDR]], align 8 // CHECK-NOT: swift_retain @@ -109,16 +109,16 @@ entry(%c : $ObjCClass): // CHECK-LABEL: define{{.*}} { ptr, ptr } @objc_partial_apply_indirect_sil_argument(ptr %0) {{.*}} // CHECK: [[CTX:%.*]] = call noalias ptr @swift_allocObject -// CHECK: [[SELF_ADDR:%.*]] = getelementptr inbounds [[CTXTYPE:<{ %swift.refcounted, ptr }>]], ptr [[CTX]], i32 0, i32 1 +// CHECK: [[SELF_ADDR:%.*]] = getelementptr inbounds{{.*}} [[CTXTYPE:<{ %swift.refcounted, ptr }>]], ptr [[CTX]], i32 0, i32 1 // CHECK: store ptr %0, ptr [[SELF_ADDR]] // CHECK: [[CLOSURE:%.*]] = insertvalue { ptr, ptr } { ptr [[OBJC_PARTIAL_APPLY_STUB2:@"\$sTa[A-Za-z0-9_.]*"]], ptr undef }, ptr [[CTX]], 1 // CHECK: ret { ptr, ptr } [[CLOSURE]] // CHECK:} // CHECK: define internal swiftcc void [[OBJC_PARTIAL_APPLY_STUB2]](double %0, double %1, double %2, double %3, ptr // CHECK: [[TMP:%.*]] = alloca %TSo6NSRectV -// CHECK: [[ORIGIN:%.*]] = getelementptr inbounds %TSo6NSRectV, ptr [[TMP]] -// CHECK: [[ORIGINX:%.*]] = getelementptr inbounds %TSo7NSPointV, ptr [[ORIGIN]] -// CHECK: [[ORIGINXVAL:%*]] = getelementptr inbounds %TSd, ptr [[ORIGINX]] +// CHECK: [[ORIGIN:%.*]] = getelementptr inbounds{{.*}} %TSo6NSRectV, ptr [[TMP]] +// CHECK: [[ORIGINX:%.*]] = getelementptr inbounds{{.*}} %TSo7NSPointV, ptr [[ORIGIN]] +// CHECK: [[ORIGINXVAL:%*]] = getelementptr inbounds{{.*}} %TSd, ptr [[ORIGINX]] // CHECK: store double %0, ptr [[ORIGINXVAL]] sil @objc_partial_apply_indirect_sil_argument : $@convention(thin) (ObjCClass) -> @callee_owned (NSRect) -> () { entry(%c : $ObjCClass): @@ -130,7 +130,7 @@ entry(%c : $ObjCClass): // CHECK-LABEL: define{{( dllexport)?}}{{( protected)?}} swiftcc { ptr, ptr } @objc_partial_apply_consumes_self(ptr %0) {{.*}} { // CHECK: insertvalue {{.*}} [[OBJC_CONSUMES_SELF_PARTIAL_APPLY_STUB:@"\$sTa[A-Za-z0-9_.]*"]] // CHECK: define internal swiftcc ptr [[OBJC_CONSUMES_SELF_PARTIAL_APPLY_STUB]](ptr swiftself %0) {{.*}} { -// CHECK: [[X_ADDR:%.*]] = getelementptr inbounds [[DATA_TYPE:<{ %swift.refcounted, ptr }>]], ptr %0, i32 0, i32 1 +// CHECK: [[X_ADDR:%.*]] = getelementptr inbounds{{.*}} [[DATA_TYPE:<{ %swift.refcounted, ptr }>]], ptr %0, i32 0, i32 1 // CHECK: [[SELF:%.*]] = load ptr, ptr [[X_ADDR]], align 8 // CHECK: call ptr @llvm.objc.retain(ptr [[SELF]]) // CHECK: [[CMD:%.*]] = load ptr, ptr @"\01L_selector(fakeInitFamily)", align 8 @@ -190,11 +190,11 @@ entry(%c : $Gizmo): // CHECK: define internal swiftcc void @"$sTa.17"(i64 %0, i64 %1, i64 %2, ptr swiftself %3) // CHECK: [[TMPCOERCE:%.*]] = alloca { i64, i64, i64 } // CHECK: [[INDIRECTTEMP:%.*]] = alloca %TSo3FobV -// CHECK: [[ADDR:%.*]] = getelementptr inbounds { i64, i64, i64 }, ptr [[TMPCOERCE]], i32 0, i32 0 +// CHECK: [[ADDR:%.*]] = getelementptr inbounds{{.*}} { i64, i64, i64 }, ptr [[TMPCOERCE]], i32 0, i32 0 // CHECK: store i64 %0, ptr [[ADDR]] -// CHECK: [[ADDR:%.]] = getelementptr inbounds { i64, i64, i64 }, ptr [[TMPCOERCE]], i32 0, i32 1 +// CHECK: [[ADDR:%.]] = getelementptr inbounds{{.*}} { i64, i64, i64 }, ptr [[TMPCOERCE]], i32 0, i32 1 // CHECK: store i64 %1, ptr [[ADDR]] -// CHECK: [[ADDR:%.*]] = getelementptr inbounds { i64, i64, i64 }, ptr [[TMPCOERCE]], i32 0, i32 2 +// CHECK: [[ADDR:%.*]] = getelementptr inbounds{{.*}} { i64, i64, i64 }, ptr [[TMPCOERCE]], i32 0, i32 2 // CHECK: store i64 %2, ptr [[ADDR]] // CHECK: load i64 // CHECK: load i32 diff --git a/test/IRGen/pre_specialize.swift b/test/IRGen/pre_specialize.swift index b959a4833cab3..f7456f36753bf 100644 --- a/test/IRGen/pre_specialize.swift +++ b/test/IRGen/pre_specialize.swift @@ -42,12 +42,11 @@ // specialized InternalThing.computedX.getter // CHECK-A-DAG: define{{( dllexport)?}}{{( protected)?}} swiftcc [[INT]] @"$s1A13InternalThingV9computedXxvgSi_Ts5"([[INT]]{{( returned)?}} %0) // specialized InternalThing.computedX.setter -// CHECK-A-DAG: define{{( dllexport)?}}{{( protected)?}} swiftcc void @"$s1A13InternalThingV9computedXxvsSi_Ts5"([[INT]] %0, ptr nocapture swiftself {{(writeonly )?}}dereferenceable({{(4|8)}}) %1) - +// CHECK-A-DAG: define{{( dllexport)?}}{{( protected)?}} swiftcc void @"$s1A13InternalThingV9computedXxvsSi_Ts5"([[INT]] %0, ptr nocapture swiftself {{(writeonly )?}}dereferenceable({{(4|8)}}){{.*}} %1) // specialized InternalThing.subscript.getter // CHECK-A-DAG: define{{( dllexport)?}}{{( protected)?}} swiftcc [[INT]] @"$s1A13InternalThingVyxSicigSi_Ts5"([[INT]] %0, [[INT]]{{( returned)?}} %1) // specialized InternalThing.subscript.setter -// CHECK-A-DAG: define{{( dllexport)?}}{{( protected)?}} swiftcc void @"$s1A13InternalThingVyxSicisSi_Ts5"([[INT]] %0, [[INT]] %1, ptr nocapture swiftself {{(writeonly )?}}dereferenceable({{(4|8)}}) %2) +// CHECK-A-DAG: define{{( dllexport)?}}{{( protected)?}} swiftcc void @"$s1A13InternalThingVyxSicisSi_Ts5"([[INT]] %0, [[INT]] %1, ptr nocapture swiftself {{(writeonly )?}}dereferenceable({{(4|8)}}){{.*}} %2) // specialized InternalRef.compute() // CHECK-A-FRAG-DAG: define{{( dllexport)?}}{{( protected)?}} swiftcc [[INT:(i64|i32)]] @"$s1A11InternalRefC7computexyFAA09ResilientA10BoxedThingVySiG_Ts5" diff --git a/test/IRGen/protocol_resilience.sil b/test/IRGen/protocol_resilience.sil index 7d2c1784e7401..dcd3871e88bd9 100644 --- a/test/IRGen/protocol_resilience.sil +++ b/test/IRGen/protocol_resilience.sil @@ -173,7 +173,7 @@ bb0(%0 : $*Self): // implementation // CHECK-NEXT: [[CONTEXT:%.*]] = call noalias ptr @swift_allocObject({{.*}}) - // CHECK: [[WTABLE_ADDR:%.*]] = getelementptr inbounds <{ %swift.refcounted, [{{4|8}} x i8], ptr }>, ptr [[CONTEXT]], i32 0, i32 2 + // CHECK: [[WTABLE_ADDR:%.*]] = getelementptr inbounds{{.*}} <{ %swift.refcounted, [{{4|8}} x i8], ptr }>, ptr [[CONTEXT]], i32 0, i32 2 // CHECK-NEXT: store ptr %SelfWitnessTable, ptr [[WTABLE_ADDR]] %fn3 = function_ref @defaultC : $@convention(witness_method: ResilientProtocol) (@in_guaranteed Self) -> () @@ -211,7 +211,7 @@ bb0(%0 : $@thick Self.Type): // implementation // CHECK-NEXT: [[CONTEXT:%.*]] = call noalias ptr @swift_allocObject({{.*}}) - // CHECK: [[WTABLE_ADDR:%.*]] = getelementptr inbounds <{ %swift.refcounted, [{{4|8}} x i8], ptr }>, ptr [[CONTEXT]], i32 0, i32 2 + // CHECK: [[WTABLE_ADDR:%.*]] = getelementptr inbounds{{.*}} <{ %swift.refcounted, [{{4|8}} x i8], ptr }>, ptr [[CONTEXT]], i32 0, i32 2 // CHECK-NEXT: store ptr %SelfWitnessTable, ptr [[WTABLE_ADDR]] %fn3 = function_ref @defaultF : $@convention(witness_method: ResilientProtocol) (@thick Self.Type) -> () @@ -289,7 +289,7 @@ bb0(%0 : $*ConformingStruct): // Make sure we can partially apply direct references to default implementations // CHECK-NEXT: [[CONTEXT:%.*]] = call noalias ptr @swift_allocObject({{.*}}) - // CHECK-NEXT: [[WTABLE:%.*]] = getelementptr inbounds <{ %swift.refcounted, ptr }>, ptr [[CONTEXT]], i32 0, i32 1 + // CHECK-NEXT: [[WTABLE:%.*]] = getelementptr inbounds{{.*}} <{ %swift.refcounted, ptr }>, ptr [[CONTEXT]], i32 0, i32 1 // CHECK-NEXT: store ptr %SelfWitnessTable, ptr [[WTABLE]] %fn1 = function_ref @defaultC : $@convention(witness_method: ResilientProtocol) (@in_guaranteed Self) -> () diff --git a/test/IRGen/raw_layout.swift b/test/IRGen/raw_layout.swift index 2c0200be2182a..10d3670806556 100644 --- a/test/IRGen/raw_layout.swift +++ b/test/IRGen/raw_layout.swift @@ -348,7 +348,7 @@ entry(%K: $*Keymaster): return undef : $() } -// CHECK: define {{.*}}swiftcc ptr @get_cell_addr(ptr %"Cell", ptr {{.*}} swiftself [[SELF:%.*]]) +// CHECK: define {{.*}}swiftcc ptr @get_cell_addr(ptr %"Cell", ptr {{.*}} swiftself{{.*}} [[SELF:%.*]]) // CHECK-NEXT: entry: // CHECK-NEXT: ret ptr [[SELF]] sil @get_cell_addr : $@convention(method) (@in_guaranteed Cell) -> UnsafeMutablePointer { @@ -430,7 +430,7 @@ entry(%0 : $*Cell): //===----------------------------------------------------------------------===// // CHECK-LABEL: define {{.*}} void @"$s10raw_layout18ConcreteMoveAsLikeVwxx"(ptr {{.*}} %object, ptr %ConcreteMoveAsLike) -// CHECK: [[OBJ_CELL:%.*]] = getelementptr inbounds %T10raw_layout18ConcreteMoveAsLikeV, ptr %object, i32 0, i32 0 +// CHECK: [[OBJ_CELL:%.*]] = getelementptr inbounds{{.*}} %T10raw_layout18ConcreteMoveAsLikeV, ptr %object, i32 0, i32 0 // CHECK: {{invoke void|invoke ptr|call void|call ptr}} @{{.*}}(ptr [[OBJ_CELL]]) //===----------------------------------------------------------------------===// @@ -438,8 +438,8 @@ entry(%0 : $*Cell): //===----------------------------------------------------------------------===// // CHECK-LABEL: define {{.*}} ptr @"$s10raw_layout18ConcreteMoveAsLikeVwtk"(ptr {{.*}} %dest, ptr {{.*}} %src, ptr %ConcreteMoveAsLike) -// CHECK: [[DEST_CELL:%.*]] = getelementptr inbounds %T10raw_layout18ConcreteMoveAsLikeV, ptr %dest, i32 0, i32 0 -// CHECK: [[SRC_CELL:%.*]] = getelementptr inbounds %T10raw_layout18ConcreteMoveAsLikeV, ptr %src, i32 0, i32 0 +// CHECK: [[DEST_CELL:%.*]] = getelementptr inbounds{{.*}} %T10raw_layout18ConcreteMoveAsLikeV, ptr %dest, i32 0, i32 0 +// CHECK: [[SRC_CELL:%.*]] = getelementptr inbounds{{.*}} %T10raw_layout18ConcreteMoveAsLikeV, ptr %src, i32 0, i32 0 // CHECK: {{invoke void|invoke ptr|call ptr}} @{{.*}}(ptr [[DEST_CELL]], ptr [[SRC_CELL]]) //===----------------------------------------------------------------------===// @@ -447,8 +447,8 @@ entry(%0 : $*Cell): //===----------------------------------------------------------------------===// // CHECK-LABEL: define {{.*}} ptr @"$s10raw_layout18ConcreteMoveAsLikeVwta"(ptr {{.*}} %dest, ptr {{.*}} %src, ptr %ConcreteMoveAsLike) -// CHECK: [[DEST_CELL:%.*]] = getelementptr inbounds %T10raw_layout18ConcreteMoveAsLikeV, ptr %dest, i32 0, i32 0 -// CHECK: [[SRC_CELL:%.*]] = getelementptr inbounds %T10raw_layout18ConcreteMoveAsLikeV, ptr %src, i32 0, i32 0 +// CHECK: [[DEST_CELL:%.*]] = getelementptr inbounds{{.*}} %T10raw_layout18ConcreteMoveAsLikeV, ptr %dest, i32 0, i32 0 +// CHECK: [[SRC_CELL:%.*]] = getelementptr inbounds{{.*}} %T10raw_layout18ConcreteMoveAsLikeV, ptr %src, i32 0, i32 0 // CHECK: {{invoke void|invoke ptr|call ptr}} @{{.*}}(ptr [[DEST_CELL]], ptr [[SRC_CELL]]) //===----------------------------------------------------------------------===// @@ -469,7 +469,7 @@ entry(%0 : $*Cell): // CHECK: store {{i64|i32}} [[NEW_I]], ptr [[I_ALLOCA]] // CHECK: [[T_ADDR:%.*]] = getelementptr inbounds ptr, ptr %"SmallVectorOf2MovesAsLike", {{i64|i32}} 2 // CHECK-NEXT: [[T:%.*]] = load ptr, ptr [[T_ADDR]] -// CHECK: [[STRIDE_GEP:%.*]] = getelementptr inbounds %swift.vwtable, ptr {{%.*}}, i32 0, i32 9 +// CHECK: [[STRIDE_GEP:%.*]] = getelementptr inbounds{{.*}} %swift.vwtable, ptr {{%.*}}, i32 0, i32 9 // CHECK-NEXT: [[STRIDE:%.*]] = load {{i64|i32}}, ptr [[STRIDE_GEP]] // CHECK: [[OFFSET:%.*]] = mul {{i64|i32}} [[I]], [[STRIDE]] // CHECK-NEXT: [[OBJ_ELT:%.*]] = getelementptr inbounds i8, ptr %object, {{i64|i32}} [[OFFSET]] @@ -498,7 +498,7 @@ entry(%0 : $*Cell): // CHECK: store {{i64|i32}} [[NEW_I]], ptr [[I_ALLOCA]] // CHECK: [[T_ADDR:%.*]] = getelementptr inbounds ptr, ptr %"SmallVectorOf2MovesAsLike", {{i64|i32}} 2 // CHECK-NEXT: [[T:%.*]] = load ptr, ptr [[T_ADDR]] -// CHECK: [[STRIDE_GEP:%.*]] = getelementptr inbounds %swift.vwtable, ptr {{%.*}}, i32 0, i32 9 +// CHECK: [[STRIDE_GEP:%.*]] = getelementptr inbounds{{.*}} %swift.vwtable, ptr {{%.*}}, i32 0, i32 9 // CHECK-NEXT: [[STRIDE:%.*]] = load {{i64|i32}}, ptr [[STRIDE_GEP]] // CHECK: [[OFFSET_0:%.*]] = mul {{i64|i32}} [[I]], [[STRIDE]] // CHECK-NEXT: [[SRC_ELT_0:%.*]] = getelementptr inbounds i8, ptr %src, {{i64|i32}} [[OFFSET_0]] @@ -528,7 +528,7 @@ entry(%0 : $*Cell): // CHECK: store {{i64|i32}} [[NEW_I]], ptr [[I_ALLOCA]] // CHECK: [[T_ADDR:%.*]] = getelementptr inbounds ptr, ptr %"SmallVectorOf2MovesAsLike", {{i64|i32}} 2 // CHECK-NEXT: [[T:%.*]] = load ptr, ptr [[T_ADDR]] -// CHECK: [[STRIDE_GEP:%.*]] = getelementptr inbounds %swift.vwtable, ptr {{%.*}}, i32 0, i32 9 +// CHECK: [[STRIDE_GEP:%.*]] = getelementptr inbounds{{.*}} %swift.vwtable, ptr {{%.*}}, i32 0, i32 9 // CHECK-NEXT: [[STRIDE:%.*]] = load {{i64|i32}}, ptr [[STRIDE_GEP]] // CHECK: [[OFFSET_0:%.*]] = mul {{i64|i32}} [[I]], [[STRIDE]] // CHECK-NEXT: [[SRC_ELT_0:%.*]] = getelementptr inbounds i8, ptr %src, {{i64|i32}} [[OFFSET_0]] @@ -546,7 +546,7 @@ entry(%0 : $*Cell): // CHECK-LABEL: define {{.*}} void @"$s10raw_layout30ConcreteSmallVectorMovesAsLikeVwxx"(ptr {{.*}} %object, ptr %ConcreteSmallVectorMovesAsLike) // CHECK: [[I_ALLOCA:%.*]] = alloca {{i64|i32}} -// CHECK: [[OBJ_VECTOR:%.*]] = getelementptr inbounds %T10raw_layout30ConcreteSmallVectorMovesAsLikeV, ptr %object, i32 0, i32 0 +// CHECK: [[OBJ_VECTOR:%.*]] = getelementptr inbounds{{.*}} %T10raw_layout30ConcreteSmallVectorMovesAsLikeV, ptr %object, i32 0, i32 0 // CHECK: store {{i64|i32}} 0, ptr [[I_ALLOCA]] // CHECK: br label %[[COND_BR:.*]] @@ -573,8 +573,8 @@ entry(%0 : $*Cell): // CHECK-LABEL: define {{.*}} ptr @"$s10raw_layout30ConcreteSmallVectorMovesAsLikeVwtk"(ptr {{.*}} %dest, ptr {{.*}} %src, ptr %ConcreteSmallVectorMovesAsLike) // CHECK: [[I_ALLOCA:%.*]] = alloca {{i64|i32}} -// CHECK: [[DEST_VECTOR:%.*]] = getelementptr inbounds %T10raw_layout30ConcreteSmallVectorMovesAsLikeV, ptr %dest, i32 0, i32 0 -// CHECK: [[SRC_VECTOR:%.*]] = getelementptr inbounds %T10raw_layout30ConcreteSmallVectorMovesAsLikeV, ptr %src, i32 0, i32 0 +// CHECK: [[DEST_VECTOR:%.*]] = getelementptr inbounds{{.*}} %T10raw_layout30ConcreteSmallVectorMovesAsLikeV, ptr %dest, i32 0, i32 0 +// CHECK: [[SRC_VECTOR:%.*]] = getelementptr inbounds{{.*}} %T10raw_layout30ConcreteSmallVectorMovesAsLikeV, ptr %src, i32 0, i32 0 // CHECK: store {{i64|i32}} 0, ptr [[I_ALLOCA]] // CHECK: br label %[[COND_BR:.*]] @@ -602,8 +602,8 @@ entry(%0 : $*Cell): // CHECK-LABEL: define {{.*}} ptr @"$s10raw_layout30ConcreteSmallVectorMovesAsLikeVwta"(ptr {{.*}} %dest, ptr {{.*}} %src, ptr %ConcreteSmallVectorMovesAsLike) // CHECK: [[I_ALLOCA:%.*]] = alloca {{i64|i32}} -// CHECK: [[DEST_VECTOR:%.*]] = getelementptr inbounds %T10raw_layout30ConcreteSmallVectorMovesAsLikeV, ptr %dest, i32 0, i32 0 -// CHECK: [[SRC_VECTOR:%.*]] = getelementptr inbounds %T10raw_layout30ConcreteSmallVectorMovesAsLikeV, ptr %src, i32 0, i32 0 +// CHECK: [[DEST_VECTOR:%.*]] = getelementptr inbounds{{.*}} %T10raw_layout30ConcreteSmallVectorMovesAsLikeV, ptr %dest, i32 0, i32 0 +// CHECK: [[SRC_VECTOR:%.*]] = getelementptr inbounds{{.*}} %T10raw_layout30ConcreteSmallVectorMovesAsLikeV, ptr %src, i32 0, i32 0 // CHECK: store {{i64|i32}} 0, ptr [[I_ALLOCA]] // CHECK: br label %[[COND_BR:.*]] @@ -655,7 +655,7 @@ entry(%0 : $*Cell): // CHECK: store {{i64|i32}} [[NEW_I]], ptr [[I_ALLOCA]] // CHECK: [[T_ADDR:%.*]] = getelementptr inbounds ptr, ptr %"VectorMovesAsLike", {{i64|i32}} 2 // CHECK-NEXT: [[T:%.*]] = load ptr, ptr [[T_ADDR]] -// CHECK: [[STRIDE_GEP:%.*]] = getelementptr inbounds %swift.vwtable, ptr {{%.*}}, i32 0, i32 9 +// CHECK: [[STRIDE_GEP:%.*]] = getelementptr inbounds{{.*}} %swift.vwtable, ptr {{%.*}}, i32 0, i32 9 // CHECK-NEXT: [[STRIDE:%.*]] = load {{i64|i32}}, ptr [[STRIDE_GEP]] // CHECK: [[OFFSET:%.*]] = mul {{i64|i32}} [[I]], [[STRIDE]] // CHECK-NEXT: [[OBJECT:%.*]] = getelementptr inbounds i8, ptr %object, {{i64|i32}} [[OFFSET]] @@ -687,7 +687,7 @@ entry(%0 : $*Cell): // CHECK: store {{i64|i32}} [[NEW_I]], ptr [[I_ALLOCA]] // CHECK: [[T_ADDR:%.*]] = getelementptr inbounds ptr, ptr %"VectorMovesAsLike", {{i64|i32}} 2 // CHECK-NEXT: [[T:%.*]] = load ptr, ptr [[T_ADDR]] -// CHECK: [[STRIDE_GEP:%.*]] = getelementptr inbounds %swift.vwtable, ptr {{%.*}}, i32 0, i32 9 +// CHECK: [[STRIDE_GEP:%.*]] = getelementptr inbounds{{.*}} %swift.vwtable, ptr {{%.*}}, i32 0, i32 9 // CHECK-NEXT: [[STRIDE:%.*]] = load {{i64|i32}}, ptr [[STRIDE_GEP]] // CHECK: [[OFFSET_0:%.*]] = mul {{i64|i32}} [[I]], [[STRIDE]] // CHECK-NEXT: [[SRC_ELT_0:%.*]] = getelementptr inbounds i8, ptr %src, {{i64|i32}} [[OFFSET_0]] @@ -720,7 +720,7 @@ entry(%0 : $*Cell): // CHECK: store {{i64|i32}} [[NEW_I]], ptr [[I_ALLOCA]] // CHECK: [[T_ADDR:%.*]] = getelementptr inbounds ptr, ptr %"VectorMovesAsLike", {{i64|i32}} 2 // CHECK-NEXT: [[T:%.*]] = load ptr, ptr [[T_ADDR]] -// CHECK: [[STRIDE_GEP:%.*]] = getelementptr inbounds %swift.vwtable, ptr {{%.*}}, i32 0, i32 9 +// CHECK: [[STRIDE_GEP:%.*]] = getelementptr inbounds{{.*}} %swift.vwtable, ptr {{%.*}}, i32 0, i32 9 // CHECK-NEXT: [[STRIDE:%.*]] = load {{i64|i32}}, ptr [[STRIDE_GEP]] // CHECK: [[OFFSET_0:%.*]] = mul {{i64|i32}} [[I]], [[STRIDE]] // CHECK-NEXT: [[SRC_ELT_0:%.*]] = getelementptr inbounds i8, ptr %src, {{i64|i32}} [[OFFSET_0]] @@ -738,7 +738,7 @@ entry(%0 : $*Cell): // CHECK-LABEL: define {{.*}} void @"$s10raw_layout25ConcreteVectorMovesAsLikeVwxx"(ptr {{.*}} %object, ptr %ConcreteVectorMovesAsLike) // CHECK: [[I_ALLOCA:%.*]] = alloca {{i64|i32}} -// CHECK: [[OBJ_VECTOR:%.*]] = getelementptr inbounds %T10raw_layout25ConcreteVectorMovesAsLikeV, ptr %object, i32 0, i32 0 +// CHECK: [[OBJ_VECTOR:%.*]] = getelementptr inbounds{{.*}} %T10raw_layout25ConcreteVectorMovesAsLikeV, ptr %object, i32 0, i32 0 // CHECK: store {{i64|i32}} 0, ptr [[I_ALLOCA]] // CHECK: br label %[[COND_BR:.*]] @@ -765,8 +765,8 @@ entry(%0 : $*Cell): // CHECK-LABEL: define {{.*}} ptr @"$s10raw_layout25ConcreteVectorMovesAsLikeVwtk"(ptr {{.*}} %dest, ptr {{.*}} %src, ptr %ConcreteVectorMovesAsLike) // CHECK: [[I_ALLOCA:%.*]] = alloca {{i64|i32}} -// CHECK: [[DEST_VECTOR:%.*]] = getelementptr inbounds %T10raw_layout25ConcreteVectorMovesAsLikeV, ptr %dest, i32 0, i32 0 -// CHECK: [[SRC_VECTOR:%.*]] = getelementptr inbounds %T10raw_layout25ConcreteVectorMovesAsLikeV, ptr %src, i32 0, i32 0 +// CHECK: [[DEST_VECTOR:%.*]] = getelementptr inbounds{{.*}} %T10raw_layout25ConcreteVectorMovesAsLikeV, ptr %dest, i32 0, i32 0 +// CHECK: [[SRC_VECTOR:%.*]] = getelementptr inbounds{{.*}} %T10raw_layout25ConcreteVectorMovesAsLikeV, ptr %src, i32 0, i32 0 // CHECK: store {{i64|i32}} 0, ptr [[I_ALLOCA]] // CHECK: br label %[[COND_BR:.*]] @@ -794,8 +794,8 @@ entry(%0 : $*Cell): // CHECK-LABEL: define {{.*}} ptr @"$s10raw_layout25ConcreteVectorMovesAsLikeVwta"(ptr {{.*}} %dest, ptr {{.*}} %src, ptr %ConcreteVectorMovesAsLike) // CHECK: [[I_ALLOCA:%.*]] = alloca {{i64|i32}} -// CHECK: [[DEST_VECTOR:%.*]] = getelementptr inbounds %T10raw_layout25ConcreteVectorMovesAsLikeV, ptr %dest, i32 0, i32 0 -// CHECK: [[SRC_VECTOR:%.*]] = getelementptr inbounds %T10raw_layout25ConcreteVectorMovesAsLikeV, ptr %src, i32 0, i32 0 +// CHECK: [[DEST_VECTOR:%.*]] = getelementptr inbounds{{.*}} %T10raw_layout25ConcreteVectorMovesAsLikeV, ptr %dest, i32 0, i32 0 +// CHECK: [[SRC_VECTOR:%.*]] = getelementptr inbounds{{.*}} %T10raw_layout25ConcreteVectorMovesAsLikeV, ptr %src, i32 0, i32 0 // CHECK: store {{i64|i32}} 0, ptr [[I_ALLOCA]] // CHECK: br label %[[COND_BR:.*]] diff --git a/test/IRGen/relative_protocol_witness_table.swift b/test/IRGen/relative_protocol_witness_table.swift index 8c6c24627f959..27b3fc0b3a78f 100644 --- a/test/IRGen/relative_protocol_witness_table.swift +++ b/test/IRGen/relative_protocol_witness_table.swift @@ -319,7 +319,7 @@ func instantiate_conditional_conformance_2nd(_ t : T) where T: Sub, T.S == T // CHECK: define{{.*}} swiftcc void @"$s1A39instantiate_conditional_conformance_2ndyyxAA3SubRz1SQzRszlF"(ptr {{.*}}, ptr [[T:%.*]], ptr [[TSUB:%.*]]) // CHECK: [[CONDBUFFER:%.*]] = alloca [1 x ptr] -// CHECK: [[T0:%.*]] = getelementptr inbounds [1 x ptr], ptr [[CONDBUFFER]], i32 0, i32 0 +// CHECK: [[T0:%.*]] = getelementptr inbounds{{.*}} [1 x ptr], ptr [[CONDBUFFER]], i32 0, i32 0 // CHECK: [[T1:%.*]] = getelementptr inbounds ptr, ptr [[T0]], i32 0 // CHECK: store ptr [[TSUB]], ptr [[T1]] // CHECK: call ptr @swift_getWitnessTableRelative({{.*}}@"$s1A1XVyxGAA3SubA2aERz1SQzRszlMc{{.*}}, ptr {{.*}}, ptr [[T0]]) @@ -331,7 +331,7 @@ func instantiate_conditional_conformance_2nd(_ t : T) where T: Sub, T.S == T // CHECK: [[T3:%.*]] = getelementptr inbounds ptr, ptr [[C1]], i32 0 // CHECK: [[T4:%.*]] = load ptr, ptr [[T3]] // CHECK: [[TBASE:%.*]] = call ptr @__swift_relative_protocol_witness_table_parent_1(ptr [[T4]]) -// CHECK: [[T24:%.*]] = getelementptr inbounds [1 x ptr], ptr [[C2]], i32 0, i32 0 +// CHECK: [[T24:%.*]] = getelementptr inbounds{{.*}} [1 x ptr], ptr [[C2]], i32 0, i32 0 // CHECK: [[T25:%.*]] = getelementptr inbounds ptr, ptr [[T24]], i32 0 // CHECK: store ptr [[TBASE]], ptr [[T25]] // CHECK: [[T26:%.*]] = call ptr @swift_getWitnessTableRelative({{.*}}@"$s1A1XVyxGAA4BaseA2aERzlMc{{.*}}, ptr {{.*}}, ptr [[T24]]) diff --git a/test/IRGen/sil_generic_witness_methods.swift b/test/IRGen/sil_generic_witness_methods.swift index a9c80505798c9..7a3fa619c093a 100644 --- a/test/IRGen/sil_generic_witness_methods.swift +++ b/test/IRGen/sil_generic_witness_methods.swift @@ -36,18 +36,18 @@ func call_methods(_ x: T, y: S, z: U) { // CHECK-LABEL: define hidden swiftcc void @"$s27sil_generic_witness_methods017call_existential_D0{{[_0-9a-zA-Z]*}}F"(ptr noalias nocapture dereferenceable({{.*}}) %0) func call_existential_methods(_ x: P, y: S) { - // CHECK: [[METADATA_ADDR:%.*]] = getelementptr inbounds %T27sil_generic_witness_methods1PP, ptr [[X:%0]], i32 0, i32 1 + // CHECK: [[METADATA_ADDR:%.*]] = getelementptr inbounds{{.*}} %T27sil_generic_witness_methods1PP, ptr [[X:%0]], i32 0, i32 1 // CHECK: [[METADATA:%.*]] = load ptr, ptr [[METADATA_ADDR]], align 8 - // CHECK: [[WTABLE_ADDR:%.*]] = getelementptr inbounds %T27sil_generic_witness_methods1PP, ptr [[X]], i32 0, i32 2 + // CHECK: [[WTABLE_ADDR:%.*]] = getelementptr inbounds{{.*}} %T27sil_generic_witness_methods1PP, ptr [[X]], i32 0, i32 2 // CHECK: [[WTABLE:%.*]] = load ptr, ptr [[WTABLE_ADDR]], align 8 // CHECK: [[CONCRETE_METHOD_PTR_GEP:%.*]] = getelementptr inbounds ptr, ptr [[WTABLE]], i32 1 // CHECK: [[CONCRETE_METHOD_PTR:%.*]] = load ptr, ptr [[CONCRETE_METHOD_PTR_GEP]], align 8 // CHECK: call swiftcc void [[CONCRETE_METHOD_PTR]](ptr noalias swiftself {{%.*}}, ptr [[METADATA]], ptr [[WTABLE]]) x.concrete_method() - // CHECK: [[METADATA_ADDR:%.*]] = getelementptr inbounds %T27sil_generic_witness_methods1PP, ptr [[X]], i32 0, i32 1 + // CHECK: [[METADATA_ADDR:%.*]] = getelementptr inbounds{{.*}} %T27sil_generic_witness_methods1PP, ptr [[X]], i32 0, i32 1 // CHECK: [[METADATA:%.*]] = load ptr, ptr [[METADATA_ADDR]], align 8 - // CHECK: [[WTABLE_ADDR:%.*]] = getelementptr inbounds %T27sil_generic_witness_methods1PP, ptr [[X:%.*]], i32 0, i32 2 + // CHECK: [[WTABLE_ADDR:%.*]] = getelementptr inbounds{{.*}} %T27sil_generic_witness_methods1PP, ptr [[X:%.*]], i32 0, i32 2 // CHECK: [[WTABLE:%.*]] = load ptr, ptr [[WTABLE_ADDR]], align 8 // CHECK: [[GENERIC_METHOD_ADDR:%.*]] = getelementptr inbounds ptr, ptr [[WTABLE]], i32 3 // CHECK: [[GENERIC_METHOD_PTR:%.*]] = load ptr, ptr [[GENERIC_METHOD_ADDR]], align 8 diff --git a/test/IRGen/sil_witness_methods.sil b/test/IRGen/sil_witness_methods.sil index 2c2594a76940b..e1a6e737bbd0b 100644 --- a/test/IRGen/sil_witness_methods.sil +++ b/test/IRGen/sil_witness_methods.sil @@ -147,7 +147,7 @@ entry: // CHECK-LABEL: define{{( dllexport)?}}{{( protected)?}} swiftcc { ptr, ptr } @partial_apply_concrete_witness() {{.*}} { // CHECK: [[CONTEXT:%.*]] = call noalias ptr @swift_allocObject({{.*}}) -// CHECK: [[WTABLE:%.*]] = getelementptr inbounds <{ %swift.refcounted, ptr }>, ptr [[CONTEXT]], i32 0, i32 1 +// CHECK: [[WTABLE:%.*]] = getelementptr inbounds{{.*}} <{ %swift.refcounted, ptr }>, ptr [[CONTEXT]], i32 0, i32 1 // CHECK: store ptr @"$s19sil_witness_methods3BarCyxq_q0_GAA1PAAWP", ptr [[WTABLE]] // CHECK: [[RESULT:%.*]] = insertvalue { ptr, ptr } { ptr @"$s36generic_type_concrete_method_witnessTA", ptr undef }, ptr [[CONTEXT]], 1 // CHECK: ret { ptr, ptr } [[RESULT]] diff --git a/test/IRGen/sil_witness_tables.swift b/test/IRGen/sil_witness_tables.swift index 0318819450467..94b5d0bc4e4ea 100644 --- a/test/IRGen/sil_witness_tables.swift +++ b/test/IRGen/sil_witness_tables.swift @@ -58,14 +58,14 @@ struct Conformer2: Q { } // CHECK-LABEL: define hidden swiftcc void @"$s18sil_witness_tables7erasure1cAA2QQ_pAA9ConformerV_tF"(ptr noalias nocapture sret({{.*}}) %0) -// CHECK: [[WITNESS_TABLE_ADDR:%.*]] = getelementptr inbounds %T18sil_witness_tables2QQP, ptr %0, i32 0, i32 2 +// CHECK: [[WITNESS_TABLE_ADDR:%.*]] = getelementptr inbounds{{.*}} %T18sil_witness_tables2QQP, ptr %0, i32 0, i32 2 // CHECK-NEXT: store ptr [[CONFORMER_QQ_WITNESS_TABLE:@"\$s.*WP"]], ptr [[WITNESS_TABLE_ADDR]], align 8 func erasure(c: Conformer) -> QQ { return c } // CHECK-LABEL: define hidden swiftcc void @"$s18sil_witness_tables15externalErasure1c0a1_b1_c1_D12_conformance9ExternalP_pAD0G9ConformerV_tF"(ptr noalias nocapture sret({{.*}}) %0) -// CHECK: [[WITNESS_TABLE_ADDR:%.*]] = getelementptr inbounds %T39sil_witness_tables_external_conformance9ExternalPP, ptr %0, i32 0, i32 2 +// CHECK: [[WITNESS_TABLE_ADDR:%.*]] = getelementptr inbounds{{.*}} %T39sil_witness_tables_external_conformance9ExternalPP, ptr %0, i32 0, i32 2 // CHECK-NEXT: store ptr [[EXTERNAL_CONFORMER_EXTERNAL_P_WITNESS_TABLE]], ptr %2, align 8 func externalErasure(c: ExternalConformer) -> ExternalP { return c diff --git a/test/IRGen/static_initializer.sil b/test/IRGen/static_initializer.sil index cd658d1aad8f9..4fc8988d05199 100644 --- a/test/IRGen/static_initializer.sil +++ b/test/IRGen/static_initializer.sil @@ -187,8 +187,8 @@ bb0: // CHECK-LABEL: define{{( dllexport)?}}{{( protected)?}} swiftcc { i64, i32 } @"$s6nested1fAA2S2VyF"() {{.*}} { // CHECK-NEXT: entry: // CHECK: load i32, ptr @"$s6nested1xAA2S2Vv" -// CHECK-NEXT: load i32, ptr getelementptr inbounds (%T18static_initializer2S2V, ptr @"$s6nested1xAA2S2Vv", i32 0, i32 1) -// CHECK-NEXT: load i32, ptr getelementptr inbounds (%T18static_initializer2S2V, ptr @"$s6nested1xAA2S2Vv", i32 0, i32 2) +// CHECK-NEXT: load i32, ptr getelementptr inbounds{{.*}} (%T18static_initializer2S2V, ptr @"$s6nested1xAA2S2Vv", i32 0, i32 1) +// CHECK-NEXT: load i32, ptr getelementptr inbounds{{.*}} (%T18static_initializer2S2V, ptr @"$s6nested1xAA2S2Vv", i32 0, i32 2) sil @$s6nested1fAA2S2VyF : $@convention(thin) () -> S2 { bb0: %0 = global_addr @$s6nested1xAA2S2Vv : $*S2 diff --git a/test/IRGen/stdlib/Mutex.swift b/test/IRGen/stdlib/Mutex.swift index c086008658f32..2791e6456d8b8 100644 --- a/test/IRGen/stdlib/Mutex.swift +++ b/test/IRGen/stdlib/Mutex.swift @@ -31,8 +31,8 @@ final class Awaitable: Sendable where Value: Sendable, Failure: } // CHECK: define {{.*}} ptr @"$s15Synchronization5MutexVy6stdlib9AwaitableC5StateVyxq__GGs8SendableRzs5ErrorR_r0_lWOb"(ptr [[SRC:%.*]], ptr [[DEST:%.*]], ptr {{%.*}}, ptr {{%.*}}, ptr {{%.*}}, ptr {{%.*}}, ptr {{%.*}}, ptr {{%.*}}, ptr [[MUTEX:%.*]]) -// CHECK: [[DEST_HANDLE_PTR:%.*]] = getelementptr inbounds %T15Synchronization5MutexV{{.*}}, ptr [[DEST]], i32 0, i32 0 -// CHECK: [[SRC_HANDLE_PTR:%.*]] = getelementptr inbounds %T15Synchronization5MutexV{{.*}}, ptr [[SRC]], i32 0, i32 0 +// CHECK: [[DEST_HANDLE_PTR:%.*]] = getelementptr inbounds{{.*}} %T15Synchronization5MutexV{{.*}}, ptr [[DEST]], i32 0, i32 0 +// CHECK: [[SRC_HANDLE_PTR:%.*]] = getelementptr inbounds{{.*}} %T15Synchronization5MutexV{{.*}}, ptr [[SRC]], i32 0, i32 0 // CHECK: call void @llvm.memcpy.p0.p0.i{{32|64}}(ptr {{.*}} [[DEST_HANDLE_PTR]], ptr {{.*}} [[SRC_HANDLE_PTR]], i{{32|64}} {{.*}}, i1 false) // CHECK: [[DEST_MUTEX_VALUE_OFFSET_PTR:%.*]] = getelementptr inbounds i32, ptr [[MUTEX]], i{{32 4|64 7}} // CHECK: [[DEST_MUTEX_VALUE_OFFSET:%.*]] = load i32, ptr [[DEST_MUTEX_VALUE_OFFSET_PTR]] @@ -42,5 +42,5 @@ final class Awaitable: Sendable where Value: Sendable, Failure: // CHECK: [[SRC_VALUE_PTR:%.*]] = getelementptr inbounds i8, ptr [[SRC]], i32 [[SRC_MUTEX_VALUE_OFFSET]] // These GEPs used to cause compiler crashes because they were incorrectly typed... -// CHECK: [[DEST_PENDING_CONSUMERS_PTR:%.*]] = getelementptr inbounds %T6stdlib9AwaitableC5StateV{{.*}}, ptr [[DEST_VALUE_PTR]], i32 0, i32 0 -// CHECK: [[SRC_PENDING_CONSUMERS_PTR:%.*]] = getelementptr inbounds %T6stdlib9AwaitableC5StateV{{.*}}, ptr [[SRC_VALUE_PTR]], i32 0, i32 0 +// CHECK: [[DEST_PENDING_CONSUMERS_PTR:%.*]] = getelementptr inbounds{{.*}} %T6stdlib9AwaitableC5StateV{{.*}}, ptr [[DEST_VALUE_PTR]], i32 0, i32 0 +// CHECK: [[SRC_PENDING_CONSUMERS_PTR:%.*]] = getelementptr inbounds{{.*}} %T6stdlib9AwaitableC5StateV{{.*}}, ptr [[SRC_VALUE_PTR]], i32 0, i32 0 diff --git a/test/IRGen/struct_resilience.swift b/test/IRGen/struct_resilience.swift index 73960b0340bae..5871ed78b1c6f 100644 --- a/test/IRGen/struct_resilience.swift +++ b/test/IRGen/struct_resilience.swift @@ -26,7 +26,7 @@ public func functionWithResilientTypesSize(_ s: __owned Size, f: (__owned Size) // CHECK-arm64e-NEXT: call i64 @llvm.ptrauth.blend // CHECK-arm64e: [[VWT:%.*]] = inttoptr i64 {{%.*}} to ptr -// CHECK-NEXT: [[WITNESS_ADDR:%.*]] = getelementptr inbounds %swift.vwtable, ptr [[VWT]], i32 0, i32 8 +// CHECK-NEXT: [[WITNESS_ADDR:%.*]] = getelementptr inbounds{{.*}} %swift.vwtable, ptr [[VWT]], i32 0, i32 8 // CHECK: [[WITNESS_FOR_SIZE:%.*]] = load [[INT]], ptr [[WITNESS_ADDR]] // CHECK: [[ALLOCA:%.*]] = alloca i8, {{.*}} [[WITNESS_FOR_SIZE]], align 16 @@ -62,7 +62,7 @@ public func functionWithResilientTypesRectangle(_ r: Rectangle) { // CHECK-NEXT: [[FIELD_OFFSET_PTR:%.*]] = getelementptr inbounds i32, ptr [[METADATA]], [[INT]] [[IDX:2|4|6]] // CHECK-NEXT: [[FIELD_OFFSET:%.*]] = load i32, ptr [[FIELD_OFFSET_PTR]] // CHECK-NEXT: [[FIELD_ADDR:%.*]] = getelementptr inbounds i8, ptr %0, i32 [[FIELD_OFFSET]] -// CHECK-NEXT: [[FIELD_PAYLOAD_PTR:%.*]] = getelementptr inbounds %TSi, ptr [[FIELD_ADDR]], i32 0, i32 0 +// CHECK-NEXT: [[FIELD_PAYLOAD_PTR:%.*]] = getelementptr inbounds{{.*}} %TSi, ptr [[FIELD_ADDR]], i32 0, i32 0 // CHECK-NEXT: [[FIELD_PAYLOAD:%.*]] = load [[INT]], ptr [[FIELD_PAYLOAD_PTR]] _ = r.color @@ -88,23 +88,23 @@ public func functionWithMyResilientTypesSize(_ s: __owned MySize, f: (__owned My // CHECK: [[DST:%.*]] = alloca %T17struct_resilience6MySizeV -// CHECK: [[W_ADDR:%.*]] = getelementptr inbounds %T17struct_resilience6MySizeV, ptr %1, i32 0, i32 0 -// CHECK: [[W_PTR:%.*]] = getelementptr inbounds %TSi, ptr [[W_ADDR]], i32 0, i32 0 +// CHECK: [[W_ADDR:%.*]] = getelementptr inbounds{{.*}} %T17struct_resilience6MySizeV, ptr %1, i32 0, i32 0 +// CHECK: [[W_PTR:%.*]] = getelementptr inbounds{{.*}} %TSi, ptr [[W_ADDR]], i32 0, i32 0 // CHECK: [[W:%.*]] = load [[INT]], ptr [[W_PTR]] -// CHECK: [[H_ADDR:%.*]] = getelementptr inbounds %T17struct_resilience6MySizeV, ptr %1, i32 0, i32 1 -// CHECK: [[H_PTR:%.*]] = getelementptr inbounds %TSi, ptr [[H_ADDR]], i32 0, i32 0 +// CHECK: [[H_ADDR:%.*]] = getelementptr inbounds{{.*}} %T17struct_resilience6MySizeV, ptr %1, i32 0, i32 1 +// CHECK: [[H_PTR:%.*]] = getelementptr inbounds{{.*}} %TSi, ptr [[H_ADDR]], i32 0, i32 0 // CHECK: [[H:%.*]] = load [[INT]], ptr [[H_PTR]] // CHECK: call void @llvm.lifetime.start.p0({{i32|i64}} {{8|16}}, ptr [[DST]]) -// CHECK: [[W_ADDR:%.*]] = getelementptr inbounds %T17struct_resilience6MySizeV, ptr [[DST]], i32 0, i32 0 -// CHECK: [[W_PTR:%.*]] = getelementptr inbounds %TSi, ptr [[W_ADDR]], i32 0, i32 0 +// CHECK: [[W_ADDR:%.*]] = getelementptr inbounds{{.*}} %T17struct_resilience6MySizeV, ptr [[DST]], i32 0, i32 0 +// CHECK: [[W_PTR:%.*]] = getelementptr inbounds{{.*}} %TSi, ptr [[W_ADDR]], i32 0, i32 0 // CHECK: store [[INT]] [[W]], ptr [[W_PTR]] -// CHECK: [[H_ADDR:%.*]] = getelementptr inbounds %T17struct_resilience6MySizeV, ptr [[DST]], i32 0, i32 1 -// CHECK: [[H_PTR:%.*]] = getelementptr inbounds %TSi, ptr [[H_ADDR]], i32 0, i32 0 +// CHECK: [[H_ADDR:%.*]] = getelementptr inbounds{{.*}} %T17struct_resilience6MySizeV, ptr [[DST]], i32 0, i32 1 +// CHECK: [[H_PTR:%.*]] = getelementptr inbounds{{.*}} %TSi, ptr [[H_ADDR]], i32 0, i32 0 // CHECK: store [[INT]] [[H]], ptr [[H_PTR]] @@ -136,7 +136,7 @@ public struct StructWithResilientStorage { // CHECK-NEXT: [[FIELD_OFFSET_PTR:%.*]] = getelementptr inbounds i32, ptr [[METADATA]], [[INT]] [[IDX:2|4|6]] // CHECK-NEXT: [[FIELD_OFFSET:%.*]] = load i32, ptr [[FIELD_OFFSET_PTR]] // CHECK-NEXT: [[FIELD_ADDR:%.*]] = getelementptr inbounds i8, ptr %0, i32 [[FIELD_OFFSET]] -// CHECK-NEXT: [[FIELD_PAYLOAD_PTR:%.*]] = getelementptr inbounds %TSi, ptr [[FIELD_ADDR]], i32 0, i32 0 +// CHECK-NEXT: [[FIELD_PAYLOAD_PTR:%.*]] = getelementptr inbounds{{.*}} %TSi, ptr [[FIELD_ADDR]], i32 0, i32 0 // CHECK-NEXT: [[FIELD_PAYLOAD:%.*]] = load [[INT]], ptr [[FIELD_PAYLOAD_PTR]] // CHECK-NEXT: ret [[INT]] [[FIELD_PAYLOAD]] @@ -150,8 +150,8 @@ public struct StructWithIndirectResilientEnum { // CHECK-LABEL: define{{( dllexport)?}}{{( protected)?}} swiftcc {{i32|i64}} @"$s17struct_resilience31StructWithIndirectResilientEnumV1nSivg"(ptr {{.*}}) -// CHECK: [[FIELD_PTR:%.*]] = getelementptr inbounds %T17struct_resilience31StructWithIndirectResilientEnumV, ptr %0, i32 0, i32 1 -// CHECK-NEXT: [[FIELD_PAYLOAD_PTR:%.*]] = getelementptr inbounds %TSi, ptr [[FIELD_PTR]], i32 0, i32 0 +// CHECK: [[FIELD_PTR:%.*]] = getelementptr inbounds{{.*}} %T17struct_resilience31StructWithIndirectResilientEnumV, ptr %0, i32 0, i32 1 +// CHECK-NEXT: [[FIELD_PAYLOAD_PTR:%.*]] = getelementptr inbounds{{.*}} %TSi, ptr [[FIELD_PTR]], i32 0, i32 0 // CHECK-NEXT: [[FIELD_PAYLOAD:%.*]] = load [[INT]], ptr [[FIELD_PAYLOAD_PTR]] // CHECK: ret [[INT]] [[FIELD_PAYLOAD]] @@ -187,7 +187,7 @@ public func resilientAny(s : ResilientWeakRef) { // CHECK: [[ANY:%.*]] = alloca %Any // CHECK: [[META:%.*]] = call swiftcc %swift.metadata_response @"$s16resilient_struct16ResilientWeakRefVMa"([[INT]] 0) // CHECK: [[META2:%.*]] = extractvalue %swift.metadata_response [[META]], 0 -// CHECK: [[TYADDR:%.*]] = getelementptr inbounds %Any, ptr [[ANY]], i32 0, i32 1 +// CHECK: [[TYADDR:%.*]] = getelementptr inbounds{{.*}} %Any, ptr [[ANY]], i32 0, i32 1 // CHECK: store ptr [[META2]], ptr [[TYADDR]] // CHECK: call ptr @__swift_allocate_boxed_opaque_existential_0(ptr [[ANY]]) // CHECK: call swiftcc void @"$s17struct_resilience8wantsAnyyyypF"(ptr noalias nocapture dereferenceable({{(32|16)}}) [[ANY]]) @@ -208,7 +208,7 @@ public func memoryLayoutDotSizeWithResilientStruct() -> Int { // CHECK-arm64e-NEXT: call i64 @llvm.ptrauth.blend // CHECK-arm64e: [[VWT:%.*]] = inttoptr i64 {{%.*}} to ptr - // CHECK-NEXT: [[WITNESS_ADDR:%.*]] = getelementptr inbounds %swift.vwtable, ptr [[VWT]], i32 0, i32 8 + // CHECK-NEXT: [[WITNESS_ADDR:%.*]] = getelementptr inbounds{{.*}} %swift.vwtable, ptr [[VWT]], i32 0, i32 8 // CHECK: [[WITNESS_FOR_SIZE:%.*]] = load [[INT]], ptr [[WITNESS_ADDR]] // CHECK: ret [[INT]] [[WITNESS_FOR_SIZE]] @@ -226,7 +226,7 @@ public func memoryLayoutDotStrideWithResilientStruct() -> Int { // CHECK-arm64e-NEXT: call i64 @llvm.ptrauth.blend // CHECK-arm64e: [[VWT:%.*]] = inttoptr i64 {{%.*}} to ptr - // CHECK-NEXT: [[WITNESS_ADDR:%.*]] = getelementptr inbounds %swift.vwtable, ptr [[VWT]], i32 0, i32 9 + // CHECK-NEXT: [[WITNESS_ADDR:%.*]] = getelementptr inbounds{{.*}} %swift.vwtable, ptr [[VWT]], i32 0, i32 9 // CHECK: [[WITNESS_FOR_STRIDE:%.*]] = load [[INT]], ptr [[WITNESS_ADDR]] // CHECK: ret [[INT]] [[WITNESS_FOR_STRIDE]] @@ -244,7 +244,7 @@ public func memoryLayoutDotAlignmentWithResilientStruct() -> Int { // CHECK-arm64e-NEXT: call i64 @llvm.ptrauth.blend // CHECK-arm64e: [[VWT:%.*]] = inttoptr i64 {{%.*}} to ptr - // CHECK-NEXT: [[WITNESS_ADDR:%.*]] = getelementptr inbounds %swift.vwtable, ptr [[VWT]], i32 0, i32 10 + // CHECK-NEXT: [[WITNESS_ADDR:%.*]] = getelementptr inbounds{{.*}} %swift.vwtable, ptr [[VWT]], i32 0, i32 10 // CHECK: [[WITNESS_FOR_FLAGS:%.*]] = load i32, ptr [[WITNESS_ADDR]] // Not checked because it only exists on 64-bit: [[EXTENDED_FLAGS:%.*]] = zext i32 [[WITNESS_FOR_FLAGS]] to [[INT]] @@ -286,7 +286,7 @@ public func memoryLayoutDotOffsetOfWithResilientStruct() -> Int? { // CHECK: [[FIELDS:%.*]] = alloca [4 x ptr] // CHECK: [[TUPLE_LAYOUT:%.*]] = alloca %swift.full_type_layout, -// CHECK: [[FIELDS_ADDR:%.*]] = getelementptr inbounds [4 x ptr], ptr [[FIELDS]], i32 0, i32 0 +// CHECK: [[FIELDS_ADDR:%.*]] = getelementptr inbounds{{.*}} [4 x ptr], ptr [[FIELDS]], i32 0, i32 0 // public let s: Size diff --git a/test/IRGen/struct_with_resilient_type.swift b/test/IRGen/struct_with_resilient_type.swift index 20bc54a4cfa0b..00c03d270cb57 100644 --- a/test/IRGen/struct_with_resilient_type.swift +++ b/test/IRGen/struct_with_resilient_type.swift @@ -51,10 +51,10 @@ crashCaller() // VWT-macosx: [[T2:%.*]] = extractvalue %swift.metadata_response [[T1]], 0 // VWT-macosx: [[T3:%.*]] = getelementptr inbounds i8, ptr [[T2]], i64 -8 // VWT-macosx: [[T5:%.*]] = load ptr, ptr [[T3]] -// VWT-macosx: [[T6:%.*]] = getelementptr inbounds i8, ptr [[T5]], i64 4 +// VWT-macosx: [[T6:%.*]] = getelementptr inbounds{{.*}} i8, ptr [[T5]], i64 4 // VWT-macosx: [[T8:%.*]] = load ptr, ptr [[T6]] // VWT-macosx: tail call ptr [[T8]]( -// VWT-macosx: [[F01:%.*]] = getelementptr inbounds i8, ptr [[MT]], i64 24 +// VWT-macosx: [[F01:%.*]] = getelementptr inbounds{{.*}} i8, ptr [[MT]], i64 24 // VWT-macosx: [[F03:%.*]] = load i32, ptr [[F01]], align 8 // VWT-macosx: [[F04:%.*]] = sext i32 [[F03]] to i64 // VWT-macosx: [[FA1:%.*]] = getelementptr inbounds i8, ptr {{.*}}, i64 [[F04]] diff --git a/test/IRGen/typed_boxes.sil b/test/IRGen/typed_boxes.sil index cebe4838b4841..1f5b78f8aa00f 100644 --- a/test/IRGen/typed_boxes.sil +++ b/test/IRGen/typed_boxes.sil @@ -9,7 +9,7 @@ sil @pod_box_8_8_a : $@convention(thin) () -> () { entry: // CHECK: [[BOX:%.*]] = call noalias ptr @swift_allocObject(ptr {{.*}} [[POD_8_8_METADATA:@metadata[0-9.]*]], i32 0, i32 2), [[WORD:i[0-9]+]] [[POD_8_8_SIZE:[0-9]+]], [[WORD]] 7) %a = alloc_box $<τ_0_0> { var τ_0_0 } - // CHECK: [[BOX_DATA:%.*]] = getelementptr inbounds [[POD_8_8_LAYOUT:<\{ %swift.refcounted, \[8 x i8\] \}>]], ptr [[BOX]], i32 0, i32 1 + // CHECK: [[BOX_DATA:%.*]] = getelementptr inbounds{{.*}} [[POD_8_8_LAYOUT:<\{ %swift.refcounted, \[8 x i8\] \}>]], ptr [[BOX]], i32 0, i32 1 %b = project_box %a : $<τ_0_0> { var τ_0_0 } , 0 // CHECK: call void @swift_deallocUninitializedObject(ptr [[BOX]], [[WORD]] [[POD_8_8_SIZE]], [[WORD]] 7) dealloc_box %a : $<τ_0_0> { var τ_0_0 } @@ -21,7 +21,7 @@ sil @pod_box_8_8_b : $@convention(thin) () -> () { entry: // CHECK: [[BOX:%.*]] = call noalias ptr @swift_allocObject(ptr {{.*}} [[POD_8_8_METADATA]], i32 0, i32 2), [[WORD]] [[POD_8_8_SIZE]], [[WORD]] 7) %a = alloc_box $<τ_0_0> { var τ_0_0 } - // CHECK: [[BOX_DATA:%.*]] = getelementptr inbounds [[POD_8_8_LAYOUT]], ptr [[BOX]], i32 0, i32 1 + // CHECK: [[BOX_DATA:%.*]] = getelementptr inbounds{{.*}} [[POD_8_8_LAYOUT]], ptr [[BOX]], i32 0, i32 1 %b = project_box %a : $<τ_0_0> { var τ_0_0 } , 0 // CHECK: call void @swift_deallocUninitializedObject(ptr [[BOX]], [[WORD]] [[POD_8_8_SIZE]], [[WORD]] 7) dealloc_box %a : $<τ_0_0> { var τ_0_0 } @@ -145,7 +145,7 @@ entry: // CHECK-LABEL: define{{( dllexport)?}}{{( protected)?}} swiftcc i64 @proj_box sil @proj_box : $@convention(thin) (<τ_0_0> { var τ_0_0 } ) -> Builtin.Int64 { entry(%0 : $<τ_0_0> { var τ_0_0 } ): - // CHECK: [[BOX_DATA:%.*]] = getelementptr inbounds [[POD_8_8_LAYOUT]], ptr %0, i32 0, i32 1 + // CHECK: [[BOX_DATA:%.*]] = getelementptr inbounds{{.*}} [[POD_8_8_LAYOUT]], ptr %0, i32 0, i32 1 %p = project_box %0 : $<τ_0_0> { var τ_0_0 } , 0 // CHECK: [[R:%.*]] = load i64, ptr [[BOX_DATA]] %l = load %p : $*Builtin.Int64 diff --git a/test/IRGen/typed_throws.sil b/test/IRGen/typed_throws.sil index 8d5caa462ee53..c2f42b8f5c36d 100644 --- a/test/IRGen/typed_throws.sil +++ b/test/IRGen/typed_throws.sil @@ -403,12 +403,12 @@ entry(%0: $*T): // CHECK: define{{.*}} swiftcc void @apply_closure_generic(ptr %0, ptr %1, ptr %T, ptr %V) // CHECK: [[T0:%.*]] = getelementptr inbounds ptr, ptr %T // CHECK: [[T1:%.*]] = load ptr, ptr [[T0]] -// CHECK: [[T2:%.*]] = getelementptr inbounds %swift.vwtable{{.*}} +// CHECK: [[T2:%.*]] = getelementptr inbounds{{.*}} %swift.vwtable{{.*}} // CHECK: [[T3:%.*]] = load i64, ptr [[T2]] // CHECK: [[T4:%.*]] = alloca i8, i64 [[T3]] // CHECK: [[V0:%.*]] = getelementptr inbounds ptr, ptr %V // CHECK: [[V1:%.*]] = load ptr, ptr [[V0]] -// CHECK: [[V2:%.*]] = getelementptr inbounds %swift.vwtable{{.*}} +// CHECK: [[V2:%.*]] = getelementptr inbounds{{.*}} %swift.vwtable{{.*}} // CHECK: [[V3:%.*]] = load i64, ptr [[V2]] // CHECK: [[V4:%.*]] = alloca i8, i64 [[V3]] // CHECK: call swiftcc void %0(ptr noalias sret(%swift.opaque) [[T4]], ptr swiftself %1, ptr noalias nocapture swifterror dereferenceable(8) %swifterror, ptr [[V4]]) diff --git a/test/IRGen/typed_throws.swift b/test/IRGen/typed_throws.swift index f4581f0d039e1..69b1c317a126c 100644 --- a/test/IRGen/typed_throws.swift +++ b/test/IRGen/typed_throws.swift @@ -318,7 +318,7 @@ func smallResultLargerError() throws(SmallError) -> Int8? { // CHECK: [[COERCED:%.*]] = alloca { i16 }, align 2 // CHECK: [[RES:%.*]] = call swiftcc i64 @"$s12typed_throws22smallResultLargerErrors4Int8VSgyAA05SmallF0VYKF"(ptr swiftself undef, ptr noalias nocapture swifterror dereferenceable(8) %swifterror) // CHECK: [[TRUNC:%.*]] = trunc i64 [[RES]] to i16 -// CHECK: [[COERCED_PTR:%.*]] = getelementptr inbounds { i16 }, ptr [[COERCED]], i32 0, i32 0 +// CHECK: [[COERCED_PTR:%.*]] = getelementptr inbounds{{.*}} { i16 }, ptr [[COERCED]], i32 0, i32 0 // CHECK: store i16 [[TRUNC]], ptr [[COERCED_PTR]], align 2 func callSmallResultLargerError() { let res = try! smallResultLargerError() @@ -337,7 +337,7 @@ func smallErrorLargerResult() throws(UInt8OptSingletonError) -> Int { // CHECK: [[COERCED:%.*]] = alloca { i16 }, align 2 // CHECK: [[RES:%.*]] = call swiftcc i64 @"$s12typed_throws22smallErrorLargerResultSiyAA017UInt8OptSingletonD0OYKF"(ptr swiftself undef, ptr noalias nocapture swifterror dereferenceable(8) %swifterror) // CHECK: [[TRUNC:%.*]] = trunc i64 [[RES]] to i16 -// CHECK: [[COERCED_PTR:%.*]] = getelementptr inbounds { i16 }, ptr [[COERCED]], i32 0, i32 0 +// CHECK: [[COERCED_PTR:%.*]] = getelementptr inbounds{{.*}} { i16 }, ptr [[COERCED]], i32 0, i32 0 // CHECK: store i16 [[TRUNC]], ptr [[COERCED_PTR]], align 2 func callSmallErrorLargerResult() { do { diff --git a/test/IRGen/typed_throws_abi.swift b/test/IRGen/typed_throws_abi.swift index 6f2479d39c44e..58d6240263382 100644 --- a/test/IRGen/typed_throws_abi.swift +++ b/test/IRGen/typed_throws_abi.swift @@ -888,8 +888,8 @@ func callImpl_g4(_ impl: Impl, _ b: Bool) -> (Int, Int, Int, Int) { // CHECK: [[ISERROR:%.*]] = icmp ne ptr [[ERROR]], null // CHECK: br i1 [[ISERROR]], label %typed.error.load, label %[[SUCCESS:.*]] // CHECK: typed.error.load: -// CHECK: %swifterror1.x = getelementptr inbounds %T16typed_throws_abi7OneWordV, ptr %swifterror1, i32 0, i32 0 -// CHECK: %swifterror1.x._value = getelementptr inbounds %TSi, ptr %swifterror1.x, i32 0, i32 0 +// CHECK: %swifterror1.x = getelementptr inbounds{{.*}} %T16typed_throws_abi7OneWordV, ptr %swifterror1, i32 0, i32 0 +// CHECK: %swifterror1.x._value = getelementptr inbounds{{.*}} %TSi, ptr %swifterror1.x, i32 0, i32 0 // CHECK: [[CALL_ERROR_RES:%.*]] = load i64, ptr %swifterror1.x._value, align 8 // CHECK: br label %[[SET_ERROR:.*]] // CHECK: [[SUCCESS]]: @@ -1124,8 +1124,8 @@ func callImpl_h4(_ impl: Impl, _ b: Bool) -> (Int, Int, Int, Int) { // CHECK: [[ISERROR:%.*]] = icmp ne ptr [[ERROR]], null // CHECK: br i1 [[ISERROR]], label %typed.error.load, label %[[SUCCESS:.*]] // CHECK: typed.error.load: -// CHECK: %swifterror1.x = getelementptr inbounds %T16typed_throws_abi8TwoWordsV, ptr %swifterror1, i32 0, i32 0 -// CHECK: %swifterror1.x._value = getelementptr inbounds %TSi, ptr %swifterror1.x, i32 0, i32 0 +// CHECK: %swifterror1.x = getelementptr inbounds{{.*}} %T16typed_throws_abi8TwoWordsV, ptr %swifterror1, i32 0, i32 0 +// CHECK: %swifterror1.x._value = getelementptr inbounds{{.*}} %TSi, ptr %swifterror1.x, i32 0, i32 0 // CHECK: [[CALL_ERROR_RES0:%.*]] = load i64, ptr %swifterror1.x._value, align 8 // CHECK: [[CALL_ERROR_RES1:%.*]] = load i64, ptr %swifterror1.y._value, align 8 // CHECK: br label %[[SET_ERROR:.*]] @@ -1377,8 +1377,8 @@ func callImpl_i4(_ impl: Impl, _ b: Bool) -> (Int, Int, Int, Int) { // CHECK: [[ISERROR:%.*]] = icmp ne ptr [[ERROR]], null // CHECK: br i1 [[ISERROR]], label %typed.error.load, label %[[SUCCESS:.*]] // CHECK: typed.error.load: -// CHECK: %swifterror1.x = getelementptr inbounds %T16typed_throws_abi10ThreeWordsV, ptr %swifterror1, i32 0, i32 0 -// CHECK: %swifterror1.x._value = getelementptr inbounds %TSi, ptr %swifterror1.x, i32 0, i32 0 +// CHECK: %swifterror1.x = getelementptr inbounds{{.*}} %T16typed_throws_abi10ThreeWordsV, ptr %swifterror1, i32 0, i32 0 +// CHECK: %swifterror1.x._value = getelementptr inbounds{{.*}} %TSi, ptr %swifterror1.x, i32 0, i32 0 // CHECK: [[CALL_ERROR_RES0:%.*]] = load i64, ptr %swifterror1.x._value, align 8 // CHECK: [[CALL_ERROR_RES1:%.*]] = load i64, ptr %swifterror1.y._value, align 8 // CHECK: [[CALL_ERROR_RES2:%.*]] = load i64, ptr %swifterror1.z._value, align 8 @@ -2401,8 +2401,8 @@ func callImplAsync_g4(_ impl: ImplAsync, _ b: Bool) async -> (Int, Int, Int, Int // CHECK: [[ISERROR:%.*]] = icmp ne ptr [[ERROR]], null // CHECK: br i1 [[ISERROR]], label %typed.error.load, label %[[SUCCESS:.*]] // CHECK: typed.error.load: -// CHECK: %swifterror.x = getelementptr inbounds %T16typed_throws_abi7OneWordV, ptr %swifterror, i32 0, i32 0 -// CHECK: %swifterror.x._value = getelementptr inbounds %TSi, ptr %swifterror.x, i32 0, i32 0 +// CHECK: %swifterror.x = getelementptr inbounds{{.*}} %T16typed_throws_abi7OneWordV, ptr %swifterror, i32 0, i32 0 +// CHECK: %swifterror.x._value = getelementptr inbounds{{.*}} %TSi, ptr %swifterror.x, i32 0, i32 0 // CHECK: [[ERROR_X:%.*]] = load i64, ptr %swifterror.x._value, align 8 // CHECK: br label %[[SET_ERROR:.*]] // CHECK: [[SUCCESS]]: @@ -2667,8 +2667,8 @@ func callImplAsync_h4(_ impl: ImplAsync, _ b: Bool) async -> (Int, Int, Int, Int // CHECK: [[ISERROR:%.*]] = icmp ne ptr [[ERROR]], null // CHECK: br i1 [[ISERROR]], label %typed.error.load, label %[[SUCCESS:.*]] // CHECK: typed.error.load: -// CHECK: %swifterror.x = getelementptr inbounds %T16typed_throws_abi8TwoWordsV, ptr %swifterror, i32 0, i32 0 -// CHECK: %swifterror.x._value = getelementptr inbounds %TSi, ptr %swifterror.x, i32 0, i32 0 +// CHECK: %swifterror.x = getelementptr inbounds{{.*}} %T16typed_throws_abi8TwoWordsV, ptr %swifterror, i32 0, i32 0 +// CHECK: %swifterror.x._value = getelementptr inbounds{{.*}} %TSi, ptr %swifterror.x, i32 0, i32 0 // CHECK: [[ERROR_X:%.*]] = load i64, ptr %swifterror.x._value, align 8 // CHECK: [[ERROR_Y:%.*]] = load i64, ptr %swifterror.y._value, align 8 // CHECK: br label %[[SET_ERROR:.*]] @@ -2947,8 +2947,8 @@ func callImplAsync_i4(_ impl: ImplAsync, _ b: Bool) async -> (Int, Int, Int, Int // CHECK: [[ISERROR:%.*]] = icmp ne ptr [[ERROR]], null // CHECK: br i1 [[ISERROR]], label %typed.error.load, label %[[SUCCESS:.*]] // CHECK: typed.error.load: -// CHECK: %swifterror.x = getelementptr inbounds %T16typed_throws_abi10ThreeWordsV, ptr %swifterror, i32 0, i32 0 -// CHECK: %swifterror.x._value = getelementptr inbounds %TSi, ptr %swifterror.x, i32 0, i32 0 +// CHECK: %swifterror.x = getelementptr inbounds{{.*}} %T16typed_throws_abi10ThreeWordsV, ptr %swifterror, i32 0, i32 0 +// CHECK: %swifterror.x._value = getelementptr inbounds{{.*}} %TSi, ptr %swifterror.x, i32 0, i32 0 // CHECK: [[ERROR_X:%.*]] = load i64, ptr %swifterror.x._value, align 8 // CHECK: [[ERROR_Y:%.*]] = load i64, ptr %swifterror.y._value, align 8 // CHECK: [[ERROR_Z:%.*]] = load i64, ptr %swifterror.z._value, align 8 diff --git a/test/IRGen/typelayout_based_value_witness.swift b/test/IRGen/typelayout_based_value_witness.swift index 77ee87f9d965b..b0f8c1b207736 100644 --- a/test/IRGen/typelayout_based_value_witness.swift +++ b/test/IRGen/typelayout_based_value_witness.swift @@ -82,7 +82,7 @@ public enum ForwardEnum { // OPT: define{{.*}} void @"$s30typelayout_based_value_witness1AVwxx"(ptr noalias %object, ptr nocapture readonly %"A") -// OPT: [[T_PARAM:%.*]] = getelementptr inbounds i8, ptr %"A", i64 16 +// OPT: [[T_PARAM:%.*]] = getelementptr inbounds{{.*}} i8, ptr %"A", i64 16 // OPT: [[T:%.*]] = load ptr, ptr [[T_PARAM]] // OPT: [[VWT_ADDR:%.*]] = getelementptr inbounds i8, ptr [[T]], {{(i64|i32)}} -8 @@ -94,17 +94,17 @@ public enum ForwardEnum { // OPT-ptrauth: [[VWT_INT:%.*]] = tail call i64 @llvm.ptrauth.auth(i64 [[SIGNED_VWT]], i32 2, i64 [[DISCRIMINANT]]) // OPT-ptrauth: [[VWT:%.*]] = inttoptr i64 [[VWT_INT]] to ptr -// OPT: [[DESTROY_VW:%.*]] = getelementptr inbounds i8, ptr [[VWT]], {{(i64|i32)}} 8 +// OPT: [[DESTROY_VW:%.*]] = getelementptr inbounds{{.*}} i8, ptr [[VWT]], {{(i64|i32)}} 8 // OPT: [[DESTROY:%.*]] = load ptr, ptr [[DESTROY_VW]] // OPT-ptrauth: [[DESTROY_ADDR:%.*]] = ptrtoint ptr [[DESTROY_VW]] to i64 // OPT-ptrauth: [[DISCRIMINANT:%.*]] = tail call i64 @llvm.ptrauth.blend(i64 [[DESTROY_ADDR]], i64 1272) // OPT: tail call void [[DESTROY]](ptr noalias %object, ptr [[T]]) -// OPT: [[SIZE_VW:%.*]] = getelementptr inbounds i8, ptr [[VWT]], {{(i64|i32)}} 64 +// OPT: [[SIZE_VW:%.*]] = getelementptr inbounds{{.*}} i8, ptr [[VWT]], {{(i64|i32)}} 64 // OPT: [[SIZE_T:%.*]] = load {{(i64|i32)}}, ptr [[SIZE_VW]] // OPT: [[OBJECT:%.*]] = ptrtoint ptr %object to {{(i64|i32)}} -// OPT: [[FLAGS_VW:%.*]] = getelementptr inbounds i8, ptr [[VWT]], {{(i64|i32)}} 80 +// OPT: [[FLAGS_VW:%.*]] = getelementptr inbounds{{.*}} i8, ptr [[VWT]], {{(i64|i32)}} 80 // OPT: [[FLAGS3:%.*]] = load i32, ptr [[FLAGS_VW]] // OPT: [[FLAGS:%.*]] = and i32 [[FLAGS3]], 255 // OPT-64: %flags.alignmentMask = zext nneg i32 [[FLAGS]] to i64 diff --git a/test/IRGen/unexploded-calls.swift b/test/IRGen/unexploded-calls.swift index 3d64fcfbbb19e..661cec671b196 100644 --- a/test/IRGen/unexploded-calls.swift +++ b/test/IRGen/unexploded-calls.swift @@ -21,11 +21,11 @@ public func g(_ s : S) { // CHECK: entry: // CHECK: alloca // CHECK: [[ALLOCA:%[-._0-9a-zA-Z]+]] = alloca %TSo1SV, align 4 -// CHECK: [[ALLOCA]].f = getelementptr inbounds %TSo1SV, ptr [[ALLOCA]], i32 0, i32 0 -// CHECK: [[ALLOCA]].f._value = getelementptr inbounds %TSf, ptr [[ALLOCA]].f, i32 0, i32 0 +// CHECK: [[ALLOCA]].f = getelementptr inbounds{{.*}} %TSo1SV, ptr [[ALLOCA]], i32 0, i32 0 +// CHECK: [[ALLOCA]].f._value = getelementptr inbounds{{.*}} %TSf, ptr [[ALLOCA]].f, i32 0, i32 0 // CHECK: store float %0, ptr [[ALLOCA]].f._value, align 4 -// CHECK: [[ALLOCA]].g = getelementptr inbounds %TSo1SV, ptr [[ALLOCA]], i32 0, i32 1 -// CHECK: [[ALLOCA]].g._value = getelementptr inbounds %TSf, ptr [[ALLOCA]].g, i32 0, i32 0 +// CHECK: [[ALLOCA]].g = getelementptr inbounds{{.*}} %TSo1SV, ptr [[ALLOCA]], i32 0, i32 1 +// CHECK: [[ALLOCA]].g._value = getelementptr inbounds{{.*}} %TSf, ptr [[ALLOCA]].g, i32 0, i32 0 // CHECK: store float %1, ptr [[ALLOCA]].g._value, align 4 // CHECK: %[[LOAD:.*]] = load %struct.S, ptr [[ALLOCA]], align 4 // CHECK: call void @f(%struct.S %[[LOAD]]) diff --git a/test/IRGen/unmanaged_objc_throw_func.swift b/test/IRGen/unmanaged_objc_throw_func.swift index 77114e5b7c234..07f6a7b4d2c01 100644 --- a/test/IRGen/unmanaged_objc_throw_func.swift +++ b/test/IRGen/unmanaged_objc_throw_func.swift @@ -16,7 +16,7 @@ import Foundation // CHECK: %[[T0:.+]] = call swiftcc { ptr, ptr } @"$ss27_allocateUninitializedArrayySayxG_BptBwlF"(i{{32|64}} 1, ptr @"$sSiN") // CHECK-NEXT: %[[T1:.+]] = extractvalue { ptr, ptr } %[[T0]], 0 // CHECK-NEXT: %[[T2:.+]] = extractvalue { ptr, ptr } %[[T0]], 1 - // CHECK-NEXT: %._value = getelementptr inbounds %TSi, ptr %[[T2]], i32 0, i32 0 + // CHECK-NEXT: %._value = getelementptr inbounds{{.*}} %TSi, ptr %[[T2]], i32 0, i32 0 // CHECK: %[[T7:.+]] = call swiftcc ptr @"$ss27_finalizeUninitializedArrayySayxGABnlF"(ptr %[[T1]], ptr @"$sSiN") // CHECK: %[[T4:.+]] = call swiftcc ptr @"$sSa10FoundationE19_bridgeToObjectiveCSo7NSArrayCyF"(ptr %[[T7]], ptr @"$sSiN") // CHECK-NEXT: store ptr %[[T4]] diff --git a/test/IRGen/unowned.sil b/test/IRGen/unowned.sil index f2aadb0505482..3e93db14c3dac 100644 --- a/test/IRGen/unowned.sil +++ b/test/IRGen/unowned.sil @@ -49,8 +49,8 @@ bb0(%0 : $@sil_unowned P): // initializeBufferWithCopyOfBuffer // CHECK: define internal ptr @"$s7unowned1AVwCP"(ptr noalias [[DESTBUF:%.*]], ptr noalias [[SRCBUF:%.*]], ptr -// CHECK: [[T0:%.*]] = getelementptr inbounds [[A]], ptr [[DESTBUF]], i32 0, i32 0 -// CHECK-NEXT: [[T1:%.*]] = getelementptr inbounds [[A]], ptr [[SRCBUF]], i32 0, i32 0 +// CHECK: [[T0:%.*]] = getelementptr inbounds{{.*}} [[A]], ptr [[DESTBUF]], i32 0, i32 0 +// CHECK-NEXT: [[T1:%.*]] = getelementptr inbounds{{.*}} [[A]], ptr [[SRCBUF]], i32 0, i32 0 // CHECK-NEXT: [[T2:%.*]] = load ptr, ptr [[T1]], align 8 // CHECK-NEXT: call ptr @swift_unownedRetain(ptr returned [[T2]]) // CHECK-NEXT: store ptr [[T2]], ptr [[T0]], align 8 @@ -58,15 +58,15 @@ bb0(%0 : $@sil_unowned P): // destroy // CHECK: define internal void @"$s7unowned1AVwxx"(ptr noalias [[ARG:%.*]], ptr -// CHECK: [[T1:%.*]] = getelementptr inbounds [[A]], ptr [[ARG]], i32 0, i32 0 +// CHECK: [[T1:%.*]] = getelementptr inbounds{{.*}} [[A]], ptr [[ARG]], i32 0, i32 0 // CHECK-NEXT: [[T2:%.*]] = load ptr, ptr [[T1]], align 8 // CHECK-NEXT: call void @swift_unownedRelease(ptr [[T2]]) // CHECK-NEXT: ret void // initializeWithCopy // CHECK: define internal ptr @"$s7unowned1AVwcp"(ptr noalias [[DEST_OPQ:%.*]], ptr noalias [[SRC_OPQ:%.*]], ptr -// CHECK: [[T0:%.*]] = getelementptr inbounds [[A]], ptr [[DEST_OPQ]], i32 0, i32 0 -// CHECK-NEXT: [[T1:%.*]] = getelementptr inbounds [[A]], ptr [[SRC_OPQ]], i32 0, i32 0 +// CHECK: [[T0:%.*]] = getelementptr inbounds{{.*}} [[A]], ptr [[DEST_OPQ]], i32 0, i32 0 +// CHECK-NEXT: [[T1:%.*]] = getelementptr inbounds{{.*}} [[A]], ptr [[SRC_OPQ]], i32 0, i32 0 // CHECK-NEXT: [[T2:%.*]] = load ptr, ptr [[T1]], align 8 // CHECK-NEXT: call ptr @swift_unownedRetain(ptr returned [[T2]]) // CHECK-NEXT: store ptr [[T2]], ptr [[T0]], align 8 @@ -74,8 +74,8 @@ bb0(%0 : $@sil_unowned P): // assignWithCopy // CHECK: define internal ptr @"$s7unowned1AVwca"(ptr [[DEST_OPQ:%.*]], ptr [[SRC_OPQ:%.*]], ptr -// CHECK: [[DEST_X:%.*]] = getelementptr inbounds [[A]], ptr [[DEST_OPQ]], i32 0, i32 0 -// CHECK-NEXT: [[SRC_X:%.*]] = getelementptr inbounds [[A]], ptr [[SRC_OPQ]], i32 0, i32 0 +// CHECK: [[DEST_X:%.*]] = getelementptr inbounds{{.*}} [[A]], ptr [[DEST_OPQ]], i32 0, i32 0 +// CHECK-NEXT: [[SRC_X:%.*]] = getelementptr inbounds{{.*}} [[A]], ptr [[SRC_OPQ]], i32 0, i32 0 // CHECK-NEXT: [[NEW:%.*]] = load ptr, ptr [[SRC_X]], align 8 // CHECK-NEXT: call ptr @swift_unownedRetain(ptr returned [[NEW]]) // CHECK-NEXT: [[OLD:%.*]] = load ptr, ptr [[DEST_X]], align 8 @@ -85,8 +85,8 @@ bb0(%0 : $@sil_unowned P): // assignWithTake // CHECK: define internal ptr @"$s7unowned1AVwta"(ptr noalias [[DEST_OPQ:%.*]], ptr noalias [[SRC_OPQ:%.*]], ptr -// CHECK: [[DEST_X:%.*]] = getelementptr inbounds [[A]], ptr [[DEST_OPQ]], i32 0, i32 0 -// CHECK-NEXT: [[SRC_X:%.*]] = getelementptr inbounds [[A]], ptr [[SRC_OPQ]], i32 0, i32 0 +// CHECK: [[DEST_X:%.*]] = getelementptr inbounds{{.*}} [[A]], ptr [[DEST_OPQ]], i32 0, i32 0 +// CHECK-NEXT: [[SRC_X:%.*]] = getelementptr inbounds{{.*}} [[A]], ptr [[SRC_OPQ]], i32 0, i32 0 // CHECK-NEXT: [[NEW:%.*]] = load ptr, ptr [[SRC_X]], align 8 // CHECK-NEXT: [[OLD:%.*]] = load ptr, ptr [[DEST_X]], align 8 // CHECK-NEXT: store ptr [[NEW]], ptr [[DEST_X]], align 8 diff --git a/test/IRGen/unowned_objc.sil b/test/IRGen/unowned_objc.sil index 7e1a5a44e3c25..c53688876a383 100644 --- a/test/IRGen/unowned_objc.sil +++ b/test/IRGen/unowned_objc.sil @@ -50,18 +50,18 @@ bb0(%p : $P, %q : $P): // CHECK-NEXT: llvm.lifetime.start %y = alloc_stack $@sil_unowned P - // CHECK-NEXT: [[T0:%.*]] = getelementptr inbounds [[UREF]], ptr [[X]], i32 0, i32 1 + // CHECK-NEXT: [[T0:%.*]] = getelementptr inbounds{{.*}} [[UREF]], ptr [[X]], i32 0, i32 1 // CHECK-NEXT: store ptr [[PP:%1]], ptr [[T0]], align 8 - // CHECK-NEXT: [[T0:%.*]] = getelementptr inbounds [[UREF]], ptr [[X]], i32 0, i32 0 + // CHECK-NEXT: [[T0:%.*]] = getelementptr inbounds{{.*}} [[UREF]], ptr [[X]], i32 0, i32 0 // CHECK-NEXT: call ptr @swift_unknownObjectUnownedInit(ptr returned [[T0]], ptr [[PV:%0]]) store_unowned %p to [init] %x : $*@sil_unowned P // CHECK-NEXT: call ptr @"$s12unowned_objc1P_pXoWOc"(ptr [[X]], ptr [[Y]]) copy_addr %x to [init] %y : $*@sil_unowned P - // CHECK-NEXT: [[T0:%.*]] = getelementptr inbounds [[UREF]], ptr [[X]], i32 0, i32 0 + // CHECK-NEXT: [[T0:%.*]] = getelementptr inbounds{{.*}} [[UREF]], ptr [[X]], i32 0, i32 0 // CHECK-NEXT: [[TV:%.*]] = call ptr @swift_unknownObjectUnownedLoadStrong(ptr [[T0]]) - // CHECK-NEXT: [[T0:%.*]] = getelementptr inbounds [[UREF]], ptr [[X]], i32 0, i32 1 + // CHECK-NEXT: [[T0:%.*]] = getelementptr inbounds{{.*}} [[UREF]], ptr [[X]], i32 0, i32 1 // CHECK-NEXT: [[TP:%.*]] = load ptr, ptr [[T0]], align 8 %t0 = load_unowned %x : $*@sil_unowned P @@ -71,9 +71,9 @@ bb0(%p : $P, %q : $P): // CHECK-NEXT: call ptr @"$s12unowned_objc1P_pXoWOf"(ptr [[X]], ptr [[Y]]) copy_addr %x to %y : $*@sil_unowned P - // CHECK-NEXT: [[T0:%.*]] = getelementptr inbounds [[UREF]], ptr [[Y]], i32 0, i32 1 + // CHECK-NEXT: [[T0:%.*]] = getelementptr inbounds{{.*}} [[UREF]], ptr [[Y]], i32 0, i32 1 // CHECK-NEXT: store ptr [[QP:%3]], ptr [[T0]], align 8 - // CHECK-NEXT: [[T0:%.*]] = getelementptr inbounds [[UREF]], ptr [[Y]], i32 0, i32 0 + // CHECK-NEXT: [[T0:%.*]] = getelementptr inbounds{{.*}} [[UREF]], ptr [[Y]], i32 0, i32 0 // CHECK-NEXT: call ptr @swift_unknownObjectUnownedAssign(ptr returned [[T0]], ptr [[QV:%2]]) store_unowned %q to %y : $*@sil_unowned P @@ -83,15 +83,15 @@ bb0(%p : $P, %q : $P): // CHECK-NEXT: call ptr @"$s12unowned_objc1P_pXoWOb"(ptr [[Y]], ptr [[X]]) copy_addr [take] %y to [init] %x : $*@sil_unowned P - // CHECK-NEXT: [[T0:%.*]] = getelementptr inbounds [[UREF]], ptr [[Y]], i32 0, i32 0 + // CHECK-NEXT: [[T0:%.*]] = getelementptr inbounds{{.*}} [[UREF]], ptr [[Y]], i32 0, i32 0 // CHECK-NEXT: [[TV:%.*]] = call ptr @swift_unknownObjectUnownedTakeStrong(ptr [[T0]]) - // CHECK-NEXT: [[T0:%.*]] = getelementptr inbounds [[UREF]], ptr [[Y]], i32 0, i32 1 + // CHECK-NEXT: [[T0:%.*]] = getelementptr inbounds{{.*}} [[UREF]], ptr [[Y]], i32 0, i32 1 // CHECK-NEXT: [[TP:%.*]] = load ptr, ptr [[T0]], align 8 %t1 = load_unowned [take] %y : $*@sil_unowned P - // CHECK-NEXT: [[T0:%.*]] = getelementptr inbounds [[UREF]], ptr [[X]], i32 0, i32 1 + // CHECK-NEXT: [[T0:%.*]] = getelementptr inbounds{{.*}} [[UREF]], ptr [[X]], i32 0, i32 1 // CHECK-NEXT: store ptr [[TP]], ptr [[T0]], align 8 - // CHECK-NEXT: [[T0:%.*]] = getelementptr inbounds [[UREF]], ptr [[X]], i32 0, i32 0 + // CHECK-NEXT: [[T0:%.*]] = getelementptr inbounds{{.*}} [[UREF]], ptr [[X]], i32 0, i32 0 // CHECK-NEXT: call ptr @swift_unknownObjectUnownedInit(ptr returned [[T0]], ptr [[TV]]) store_unowned %t1 to [init] %x : $*@sil_unowned P @@ -121,8 +121,8 @@ bb0(%p : $P, %q : $P): // initializeBufferWithCopyOfBuffer // CHECK: define internal ptr @"$s12unowned_objc1AVwCP"(ptr noalias [[DESTBUF:%.*]], ptr noalias [[SRCBUF:%.*]], ptr -// CHECK: [[T0:%.*]] = getelementptr inbounds [[A]], ptr [[DESTBUF]], i32 0, i32 0 -// CHECK-NEXT: [[T1:%.*]] = getelementptr inbounds [[A]], ptr [[SRCBUF]], i32 0, i32 0 +// CHECK: [[T0:%.*]] = getelementptr inbounds{{.*}} [[A]], ptr [[DESTBUF]], i32 0, i32 0 +// CHECK-NEXT: [[T1:%.*]] = getelementptr inbounds{{.*}} [[A]], ptr [[SRCBUF]], i32 0, i32 0 // CHECK-NEXT: [[T2:%.*]] = load ptr, ptr [[T1]], align 8 // CHECK-NEXT: call ptr @swift_unownedRetain(ptr returned [[T2]]) // CHECK-NEXT: store ptr [[T2]], ptr [[T0]], align 8 @@ -130,15 +130,15 @@ bb0(%p : $P, %q : $P): // destroy // CHECK: define internal void @"$s12unowned_objc1AVwxx"(ptr noalias [[ARG:%.*]], ptr -// CHECK: [[T1:%.*]] = getelementptr inbounds [[A]], ptr [[ARG]], i32 0, i32 0 +// CHECK: [[T1:%.*]] = getelementptr inbounds{{.*}} [[A]], ptr [[ARG]], i32 0, i32 0 // CHECK-NEXT: [[T2:%.*]] = load ptr, ptr [[T1]], align 8 // CHECK-NEXT: call void @swift_unownedRelease(ptr [[T2]]) // CHECK-NEXT: ret void // initializeWithCopy // CHECK: define internal ptr @"$s12unowned_objc1AVwcp"(ptr noalias [[DEST_OPQ:%.*]], ptr noalias [[SRC_OPQ:%.*]], ptr -// CHECK: [[T0:%.*]] = getelementptr inbounds [[A]], ptr [[DEST_OPQ]], i32 0, i32 0 -// CHECK-NEXT: [[T1:%.*]] = getelementptr inbounds [[A]], ptr [[SRC_OPQ]], i32 0, i32 0 +// CHECK: [[T0:%.*]] = getelementptr inbounds{{.*}} [[A]], ptr [[DEST_OPQ]], i32 0, i32 0 +// CHECK-NEXT: [[T1:%.*]] = getelementptr inbounds{{.*}} [[A]], ptr [[SRC_OPQ]], i32 0, i32 0 // CHECK-NEXT: [[T2:%.*]] = load ptr, ptr [[T1]], align 8 // CHECK-NEXT: call ptr @swift_unownedRetain(ptr returned [[T2]]) // CHECK-NEXT: store ptr [[T2]], ptr [[T0]], align 8 @@ -146,8 +146,8 @@ bb0(%p : $P, %q : $P): // assignWithCopy // CHECK: define internal ptr @"$s12unowned_objc1AVwca"(ptr [[DEST_OPQ:%.*]], ptr [[SRC_OPQ:%.*]], ptr -// CHECK: [[DEST_X:%.*]] = getelementptr inbounds [[A]], ptr [[DEST_OPQ]], i32 0, i32 0 -// CHECK-NEXT: [[SRC_X:%.*]] = getelementptr inbounds [[A]], ptr [[SRC_OPQ]], i32 0, i32 0 +// CHECK: [[DEST_X:%.*]] = getelementptr inbounds{{.*}} [[A]], ptr [[DEST_OPQ]], i32 0, i32 0 +// CHECK-NEXT: [[SRC_X:%.*]] = getelementptr inbounds{{.*}} [[A]], ptr [[SRC_OPQ]], i32 0, i32 0 // CHECK-NEXT: [[NEW:%.*]] = load ptr, ptr [[SRC_X]], align 8 // CHECK-NEXT: call ptr @swift_unownedRetain(ptr returned [[NEW]]) // CHECK-NEXT: [[OLD:%.*]] = load ptr, ptr [[DEST_X]], align 8 @@ -157,8 +157,8 @@ bb0(%p : $P, %q : $P): // assignWithTake // CHECK: define internal ptr @"$s12unowned_objc1AVwta"(ptr noalias [[DEST_OPQ:%.*]], ptr noalias [[SRC_OPQ:%.*]], ptr -// CHECK: [[DEST_X:%.*]] = getelementptr inbounds [[A]], ptr [[DEST_OPQ]], i32 0, i32 0 -// CHECK-NEXT: [[SRC_X:%.*]] = getelementptr inbounds [[A]], ptr [[SRC_OPQ]], i32 0, i32 0 +// CHECK: [[DEST_X:%.*]] = getelementptr inbounds{{.*}} [[A]], ptr [[DEST_OPQ]], i32 0, i32 0 +// CHECK-NEXT: [[SRC_X:%.*]] = getelementptr inbounds{{.*}} [[A]], ptr [[SRC_OPQ]], i32 0, i32 0 // CHECK-NEXT: [[NEW:%.*]] = load ptr, ptr [[SRC_X]], align 8 // CHECK-NEXT: [[OLD:%.*]] = load ptr, ptr [[DEST_X]], align 8 // CHECK-NEXT: store ptr [[NEW]], ptr [[DEST_X]], align 8 diff --git a/test/IRGen/variadic_generic_functions.sil b/test/IRGen/variadic_generic_functions.sil index 0d8257698e285..ee6ebc954d411 100644 --- a/test/IRGen/variadic_generic_functions.sil +++ b/test/IRGen/variadic_generic_functions.sil @@ -30,9 +30,9 @@ struct Gen2 : Q {} // CHECK: entry: // CHECK: [[METADATA_PACK:%[^,]+]] = alloca [1 x ptr] // CHECK: [[WTABLE_PACK:%[^,]+]] = alloca [1 x ptr] -// CHECK: [[METADATA_ELEMENT_0:%[^,]+]] = getelementptr inbounds [1 x ptr], ptr [[METADATA_PACK]] +// CHECK: [[METADATA_ELEMENT_0:%[^,]+]] = getelementptr inbounds{{.*}} [1 x ptr], ptr [[METADATA_PACK]] // CHECK: store ptr {{.*}}$s26variadic_generic_functions3S_2VMf{{.*}}, ptr [[METADATA_ELEMENT_0]] -// CHECK: [[WTABLE_ELEMENT_0:%[^,]+]] = getelementptr inbounds [1 x ptr], ptr [[WTABLE_PACK]] +// CHECK: [[WTABLE_ELEMENT_0:%[^,]+]] = getelementptr inbounds{{.*}} [1 x ptr], ptr [[WTABLE_PACK]] // CHECK: store ptr {{.*}}$s26variadic_generic_functions3S_2VAA1PAAWP{{.*}}, ptr [[WTABLE_ELEMENT_0]] // CHECK: call swiftcc void @g([[INT]] 1, ptr [[METADATA_PACK]], ptr [[WTABLE_PACK]]) sil @c : $() -> () { diff --git a/test/IRGen/variadic_generics.sil b/test/IRGen/variadic_generics.sil index 4876fe99b1d17..5e95b32d9b0d7 100644 --- a/test/IRGen/variadic_generics.sil +++ b/test/IRGen/variadic_generics.sil @@ -75,7 +75,7 @@ bb0: // CHECK: [[INDEX:%.*]] = add [[INT]] %1, 1 // CHECK: [[ELT_STORAGE:%.*]] = getelementptr inbounds ptr, ptr %0, [[INT]] [[INDEX]] // CHECK: [[ELT_ADDR:%.*]] = load ptr, ptr [[ELT_STORAGE]], align -// CHECK: [[VALUE_ADDR:%.*]] = getelementptr inbounds %TSi, ptr [[ELT_ADDR]], i32 0, i32 0 +// CHECK: [[VALUE_ADDR:%.*]] = getelementptr inbounds{{.*}} %TSi, ptr [[ELT_ADDR]], i32 0, i32 0 // CHECK: [[RET:%.*]] = load [[INT]], ptr [[VALUE_ADDR]], align // CHECK: ret [[INT]] [[RET]] sil @test_pack_element_get_1 : $ (@pack_owned Pack{Int, repeat each T, Int}) -> Int { @@ -90,7 +90,7 @@ bb0(%pack : $*Pack{Int, repeat each T, Int}): // CHECK: [[INDEX:%.*]] = add [[INT]] %2, 1 // CHECK: [[ELT_STORAGE:%.*]] = getelementptr inbounds ptr, ptr %0, [[INT]] [[INDEX]] // CHECK: [[ELT_ADDR:%.*]] = load ptr, ptr [[ELT_STORAGE]], align -// CHECK: [[VALUE_ADDR:%.*]] = getelementptr inbounds %TSi, ptr [[ELT_ADDR]], i32 0, i32 0 +// CHECK: [[VALUE_ADDR:%.*]] = getelementptr inbounds{{.*}} %TSi, ptr [[ELT_ADDR]], i32 0, i32 0 // CHECK: store [[INT]] %1, ptr [[VALUE_ADDR]], align // CHECK: ret void sil @test_pack_element_set_1 : $ (@pack_owned Pack{Int, repeat each T, Int}, Int) -> () { diff --git a/test/IRGen/weak.sil b/test/IRGen/weak.sil index 153d6337cc9c1..45a31832a4c41 100644 --- a/test/IRGen/weak.sil +++ b/test/IRGen/weak.sil @@ -37,7 +37,7 @@ bb0(%0 : $*A, %1 : $Optional): return %4 : $() } // CHECK: define{{( dllexport)?}}{{( protected)?}} swiftcc void @test_weak_load_store(ptr dereferenceable({{.*}}) %0, i64 %1) {{.*}} { -// CHECK: [[X:%.*]] = getelementptr inbounds [[A:%T4weak1AV]], ptr %0, i32 0, i32 0 +// CHECK: [[X:%.*]] = getelementptr inbounds{{.*}} [[A:%T4weak1AV]], ptr %0, i32 0, i32 0 // CHECK-NEXT: [[T0:%.*]] = call ptr @swift_weakLoadStrong(ptr [[X]]) // CHECK-NEXT: %3 = ptrtoint ptr %2 to i64 // CHECK-NEXT: %4 = inttoptr @@ -60,16 +60,16 @@ bb0(%0 : $*B, %1 : $Optional

): return %4 : $() } // CHECK: define{{( dllexport)?}}{{( protected)?}} swiftcc void @test_weak_load_store_proto(ptr dereferenceable({{.*}}) %0, i64 %1, i64 %2) -// CHECK: [[X:%.*]] = getelementptr inbounds [[B:%T4weak1BV]], ptr %0, i32 0, i32 0 -// CHECK-NEXT: [[T0:%.*]] = getelementptr inbounds { [[WEAK:%swift.weak]], ptr }, ptr [[X]], i32 0, i32 0 +// CHECK: [[X:%.*]] = getelementptr inbounds{{.*}} [[B:%T4weak1BV]], ptr %0, i32 0, i32 0 +// CHECK-NEXT: [[T0:%.*]] = getelementptr inbounds{{.*}} { [[WEAK:%swift.weak]], ptr }, ptr [[X]], i32 0, i32 0 // CHECK-NEXT: [[T1:%.*]] = call ptr @swift_unknownObjectWeakLoadStrong(ptr [[T0]]) -// CHECK-NEXT: [[T0:%.*]] = getelementptr inbounds { [[WEAK]], ptr }, ptr [[X]], i32 0, i32 1 +// CHECK-NEXT: [[T0:%.*]] = getelementptr inbounds{{.*}} { [[WEAK]], ptr }, ptr [[X]], i32 0, i32 1 // CHECK-NEXT: [[W:%.*]] = load ptr, ptr [[T0]], align 8 // CHECK: [[TMPOBJ:%.*]] = inttoptr {{.*}} to ptr // CHECK: [[TMPTAB:%.*]] = inttoptr {{.*}} to ptr -// CHECK-NEXT: [[T0:%.*]] = getelementptr inbounds { [[WEAK]], ptr }, ptr [[X]], i32 0, i32 1 +// CHECK-NEXT: [[T0:%.*]] = getelementptr inbounds{{.*}} { [[WEAK]], ptr }, ptr [[X]], i32 0, i32 1 // CHECK-NEXT: store ptr [[TMPTAB]], ptr [[T0]], align 8 -// CHECK-NEXT: [[T0:%.*]] = getelementptr inbounds { [[WEAK]], ptr }, ptr [[X]], i32 0, i32 0 +// CHECK-NEXT: [[T0:%.*]] = getelementptr inbounds{{.*}} { [[WEAK]], ptr }, ptr [[X]], i32 0, i32 0 // CHECK-NEXT: call ptr @swift_unknownObjectWeakAssign(ptr returned [[T0]], ptr [[TMPOBJ]]) // CHECK: call void @swift_unknownObjectRelease @@ -86,9 +86,9 @@ bb0(%0 : $Optional

): // CHECK: [[X:%.*]] = alloca { [[WEAK]], ptr }, align 8 // CHECK: [[TMPOBJ:%.*]] = inttoptr {{.*}} to ptr // CHECK: [[TMPTAB:%.*]] = inttoptr {{.*}} to ptr -// CHECK: [[T0:%.*]] = getelementptr inbounds { [[WEAK]], ptr }, ptr [[X]], i32 0, i32 1 +// CHECK: [[T0:%.*]] = getelementptr inbounds{{.*}} { [[WEAK]], ptr }, ptr [[X]], i32 0, i32 1 // CHECK-NEXT: store ptr [[TMPTAB:%.*]], ptr [[T0]], align 8 -// CHECK-NEXT: [[T0:%.*]] = getelementptr inbounds { [[WEAK]], ptr }, ptr [[X]], i32 0, i32 0 +// CHECK-NEXT: [[T0:%.*]] = getelementptr inbounds{{.*}} { [[WEAK]], ptr }, ptr [[X]], i32 0, i32 0 // CHECK-NEXT: call ptr @swift_unknownObjectWeakInit(ptr returned [[T0]], ptr [[TMPOBJ:%.*]]) // CHECK-NEXT: call ptr @"$s4weak1P_pSgXwWOh"(ptr [[X]]) // CHECK-NEXT: llvm.lifetime.end @@ -107,7 +107,7 @@ bb0(%0 : $Optional

): // destroy // CHECK: define internal void @"$s4weak1AVwxx"(ptr noalias [[ARG:%.*]], ptr -// CHECK: [[T1:%.*]] = getelementptr inbounds [[A]], ptr [[ARG]], i32 0, i32 0 +// CHECK: [[T1:%.*]] = getelementptr inbounds{{.*}} [[A]], ptr [[ARG]], i32 0, i32 0 // CHECK-NEXT: call void @swift_weakDestroy(ptr [[T1]]) // CHECK-NEXT: ret void @@ -116,8 +116,8 @@ bb0(%0 : $Optional

): // initializeWithCopy // CHECK: define internal ptr @"$s4weak1AVwcp"(ptr noalias [[DEST_OPQ:%.*]], ptr noalias [[SRC_OPQ:%.*]], ptr -// CHECK: [[T0:%.*]] = getelementptr inbounds [[A]], ptr [[DEST_OPQ]], i32 0, i32 0 -// CHECK-NEXT: [[T1:%.*]] = getelementptr inbounds [[A]], ptr [[SRC_OPQ]], i32 0, i32 0 +// CHECK: [[T0:%.*]] = getelementptr inbounds{{.*}} [[A]], ptr [[DEST_OPQ]], i32 0, i32 0 +// CHECK-NEXT: [[T1:%.*]] = getelementptr inbounds{{.*}} [[A]], ptr [[SRC_OPQ]], i32 0, i32 0 // CHECK-NEXT: call ptr @swift_weakCopyInit(ptr returned [[T0]], ptr [[T1]]) // CHECK-NEXT: ret ptr [[DEST_OPQ]] @@ -126,8 +126,8 @@ bb0(%0 : $Optional

): // assignWithCopy // CHECK: define internal ptr @"$s4weak1AVwca"(ptr [[DEST_OPQ:%.*]], ptr [[SRC_OPQ:%.*]], ptr -// CHECK: [[DEST_X:%.*]] = getelementptr inbounds [[A]], ptr [[DEST_OPQ]], i32 0, i32 0 -// CHECK-NEXT: [[SRC_X:%.*]] = getelementptr inbounds [[A]], ptr [[SRC_OPQ]], i32 0, i32 0 +// CHECK: [[DEST_X:%.*]] = getelementptr inbounds{{.*}} [[A]], ptr [[DEST_OPQ]], i32 0, i32 0 +// CHECK-NEXT: [[SRC_X:%.*]] = getelementptr inbounds{{.*}} [[A]], ptr [[SRC_OPQ]], i32 0, i32 0 // CHECK-NEXT: call ptr @swift_weakCopyAssign(ptr returned [[DEST_X]], ptr [[SRC_X]]) // CHECK-NEXT: ret ptr [[DEST_OPQ]] @@ -136,8 +136,8 @@ bb0(%0 : $Optional

): // assignWithTake // CHECK: define internal ptr @"$s4weak1AVwta"(ptr noalias [[DEST_OPQ:%.*]], ptr noalias [[SRC_OPQ:%.*]], ptr -// CHECK: [[DEST_X:%.*]] = getelementptr inbounds [[A]], ptr [[DEST_OPQ]], i32 0, i32 0 -// CHECK-NEXT: [[SRC_X:%.*]] = getelementptr inbounds [[A]], ptr [[SRC_OPQ]], i32 0, i32 0 +// CHECK: [[DEST_X:%.*]] = getelementptr inbounds{{.*}} [[A]], ptr [[DEST_OPQ]], i32 0, i32 0 +// CHECK-NEXT: [[SRC_X:%.*]] = getelementptr inbounds{{.*}} [[A]], ptr [[SRC_OPQ]], i32 0, i32 0 // CHECK-NEXT: call ptr @swift_weakTakeAssign(ptr returned [[DEST_X]], ptr [[SRC_X]]) // CHECK-NEXT: ret ptr [[DEST_OPQ]] diff --git a/test/IRGen/weak_class_protocol.sil b/test/IRGen/weak_class_protocol.sil index b2bd4418c6c3c..9a93d73a4c752 100644 --- a/test/IRGen/weak_class_protocol.sil +++ b/test/IRGen/weak_class_protocol.sil @@ -11,9 +11,9 @@ protocol Foo: class { } // CHECK-objc: [[INSTANCE:%.*]] = inttoptr i64 %1 to ptr // CHECK-native: [[INSTANCE:%.*]] = inttoptr i64 %1 to ptr // CHECK: [[WTABLE:%.*]] = inttoptr i64 %2 to ptr -// CHECK: [[WTABLE_SLOT:%.*]] = getelementptr inbounds { %swift.weak, ptr }, ptr %0, i32 0, i32 1 +// CHECK: [[WTABLE_SLOT:%.*]] = getelementptr inbounds{{.*}} { %swift.weak, ptr }, ptr %0, i32 0, i32 1 // CHECK: store ptr [[WTABLE]], ptr [[WTABLE_SLOT]], align 8 -// CHECK: [[INSTANCE_SLOT:%.*]] = getelementptr inbounds { %swift.weak, ptr }, ptr %0, i32 0, i32 0 +// CHECK: [[INSTANCE_SLOT:%.*]] = getelementptr inbounds{{.*}} { %swift.weak, ptr }, ptr %0, i32 0, i32 0 // CHECK-objc: call ptr @swift_unknownObjectWeakAssign(ptr returned [[INSTANCE_SLOT]], ptr [[INSTANCE]]) {{#[0-9]+}} // CHECK-native: call ptr @swift_weakAssign(ptr returned [[INSTANCE_SLOT]], ptr [[INSTANCE]]) {{#[0-9]+}} // CHECK: ret void diff --git a/test/IRGen/witness_table_multifile.swift b/test/IRGen/witness_table_multifile.swift index 3cc30a2a8364c..de4d1defc0fb6 100644 --- a/test/IRGen/witness_table_multifile.swift +++ b/test/IRGen/witness_table_multifile.swift @@ -5,7 +5,7 @@ // CHECK-LABEL: define hidden swiftcc void @"$s23witness_table_multifile3baryyF" func bar() { // CHECK: call swiftcc void @"$s23witness_table_multifile2goAA1P_pyF" - // CHECK: [[WITNESS_TABLE_ADDR:%[0-9]+]] = getelementptr inbounds [[P_WITNESS_TABLE]], ptr %0, i32 0, i32 2 + // CHECK: [[WITNESS_TABLE_ADDR:%[0-9]+]] = getelementptr inbounds{{.*}} [[P_WITNESS_TABLE]], ptr %0, i32 0, i32 2 // CHECK: [[WITNESS_TABLE:%[A-Za-z0-9_-]+]] = load ptr, ptr [[WITNESS_TABLE_ADDR]] // CHECK: [[BUFFER:%[0-9]+]] = call ptr @__swift_project_boxed_opaque_existential_1 // CHECK-NEXT: getelementptr inbounds ptr, ptr [[WITNESS_TABLE]], i32 4 diff --git a/test/IRGen/yield_once.sil b/test/IRGen/yield_once.sil index 155df74b64ed9..cf24aa50f3f07 100644 --- a/test/IRGen/yield_once.sil +++ b/test/IRGen/yield_once.sil @@ -51,7 +51,7 @@ sil @test_simple_call : $(Builtin.Int1) -> () { entry(%flag : $Builtin.Int1): // Allocate the buffer. // CHECK: [[T0:%.*]] = alloca {{\[}}[[BUFFER_SIZE]] x i8], align [[BUFFER_ALIGN]] - // CHECK-NEXT: [[BUFFER:%.*]] = getelementptr inbounds {{\[}}[[BUFFER_SIZE]] x i8], ptr [[T0]], i32 0, i32 0 + // CHECK-NEXT: [[BUFFER:%.*]] = getelementptr inbounds{{.*}} {{\[}}[[BUFFER_SIZE]] x i8], ptr [[T0]], i32 0, i32 0 // CHECK-NEXT: call void @llvm.lifetime.start.p0(i64 [[BUFFER_SIZE]], ptr [[BUFFER]]) // Prepare the continuation function pointer to block analysis. @@ -100,7 +100,7 @@ entry: // Allocate the buffer. // CHECK: [[T0:%.*]] = alloca {{\[}}[[BUFFER_SIZE]] x i8], align [[BUFFER_ALIGN]] - // CHECK-NEXT: [[BUFFER:%.*]] = getelementptr inbounds {{\[}}[[BUFFER_SIZE]] x i8], ptr [[T0]], i32 0, i32 0 + // CHECK-NEXT: [[BUFFER:%.*]] = getelementptr inbounds{{.*}} {{\[}}[[BUFFER_SIZE]] x i8], ptr [[T0]], i32 0, i32 0 // CHECK-NEXT: call void @llvm.lifetime.start.p0(i64 [[BUFFER_SIZE]], ptr [[BUFFER]]) // Prepare the continuation function pointer to block analysis. diff --git a/test/IRGen/yield_once_big.sil b/test/IRGen/yield_once_big.sil index af03283f3f129..efafc5bffbea7 100644 --- a/test/IRGen/yield_once_big.sil +++ b/test/IRGen/yield_once_big.sil @@ -97,7 +97,7 @@ sil [ossa] @test_simple_call : $(Builtin.Int1) -> () { entry(%flag : $Builtin.Int1): // Allocate the buffer. // CHECK: [[T0:%.*]] = alloca {{\[}}[[BUFFER_SIZE]] x i8], align [[BUFFER_ALIGN]] - // CHECK-NEXT: [[BUFFER:%.*]] = getelementptr inbounds {{\[}}[[BUFFER_SIZE]] x i8], ptr [[T0]], i32 0, i32 0 + // CHECK-NEXT: [[BUFFER:%.*]] = getelementptr inbounds{{.*}} {{\[}}[[BUFFER_SIZE]] x i8], ptr [[T0]], i32 0, i32 0 // CHECK-NEXT: call void @llvm.lifetime.start.p0(i64 [[BUFFER_SIZE]], ptr [[BUFFER]]) // CHECK-NEXT: [[TMP:%.*]] = call swiftcc %swift.metadata_response @"$s14yield_once_big12SomeSubclassCMa"([[INT]] 0) @@ -113,21 +113,21 @@ entry(%flag : $Builtin.Int1): (%value, %token) = begin_apply %0() : $@convention(thin) @yield_once () -> (@yields @owned Big) // Load. This is spurious. - // CHECK-NEXT: [[T0:%.*]] = getelementptr inbounds [[BIGSUB:%T14yield_once_big3BigVyAA12SomeSubclassCG]], ptr [[PTR]], i32 0, i32 0 + // CHECK-NEXT: [[T0:%.*]] = getelementptr inbounds{{.*}} [[BIGSUB:%T14yield_once_big3BigVyAA12SomeSubclassCG]], ptr [[PTR]], i32 0, i32 0 // CHECK-NEXT: [[R0:%.*]] = load ptr, ptr [[T0]], align - // CHECK-NEXT: [[T0:%.*]] = getelementptr inbounds [[BIGSUB]], ptr [[PTR]], i32 0, i32 1 + // CHECK-NEXT: [[T0:%.*]] = getelementptr inbounds{{.*}} [[BIGSUB]], ptr [[PTR]], i32 0, i32 1 // CHECK-NEXT: [[R1:%.*]] = load ptr, ptr [[T0]], align - // CHECK-NEXT: [[T0:%.*]] = getelementptr inbounds [[BIGSUB]], ptr [[PTR]], i32 0, i32 2 + // CHECK-NEXT: [[T0:%.*]] = getelementptr inbounds{{.*}} [[BIGSUB]], ptr [[PTR]], i32 0, i32 2 // CHECK-NEXT: [[R2:%.*]] = load ptr, ptr [[T0]], align - // CHECK-NEXT: [[T0:%.*]] = getelementptr inbounds [[BIGSUB]], ptr [[PTR]], i32 0, i32 3 + // CHECK-NEXT: [[T0:%.*]] = getelementptr inbounds{{.*}} [[BIGSUB]], ptr [[PTR]], i32 0, i32 3 // CHECK-NEXT: [[R3:%.*]] = load ptr, ptr [[T0]], align - // CHECK-NEXT: [[T0:%.*]] = getelementptr inbounds [[BIGSUB]], ptr [[PTR]], i32 0, i32 4 + // CHECK-NEXT: [[T0:%.*]] = getelementptr inbounds{{.*}} [[BIGSUB]], ptr [[PTR]], i32 0, i32 4 // CHECK-NEXT: [[R4:%.*]] = load ptr, ptr [[T0]], align - // CHECK-NEXT: [[T0:%.*]] = getelementptr inbounds [[BIGSUB]], ptr [[PTR]], i32 0, i32 5 + // CHECK-NEXT: [[T0:%.*]] = getelementptr inbounds{{.*}} [[BIGSUB]], ptr [[PTR]], i32 0, i32 5 // CHECK-NEXT: [[R5:%.*]] = load ptr, ptr [[T0]], align - // CHECK-NEXT: [[T0:%.*]] = getelementptr inbounds [[BIGSUB]], ptr [[PTR]], i32 0, i32 6 + // CHECK-NEXT: [[T0:%.*]] = getelementptr inbounds{{.*}} [[BIGSUB]], ptr [[PTR]], i32 0, i32 6 // CHECK-NEXT: [[R6:%.*]] = load ptr, ptr [[T0]], align - // CHECK-NEXT: [[T0:%.*]] = getelementptr inbounds [[BIGSUB]], ptr [[PTR]], i32 0, i32 7 + // CHECK-NEXT: [[T0:%.*]] = getelementptr inbounds{{.*}} [[BIGSUB]], ptr [[PTR]], i32 0, i32 7 // CHECK-NEXT: [[R7:%.*]] = load ptr, ptr [[T0]], align // Branch. diff --git a/test/IRGen/yield_once_biggish.sil b/test/IRGen/yield_once_biggish.sil index 039e3cafa9749..56fbaaa0a3460 100644 --- a/test/IRGen/yield_once_biggish.sil +++ b/test/IRGen/yield_once_biggish.sil @@ -59,9 +59,9 @@ entry: // Write the spilled objects to the buffer. // CHECK-NEXT: call void @llvm.lifetime.start.p0(i64 {{.*}}, ptr [[SPILLS]]) - // CHECK-NEXT: [[T0:%.*]] = getelementptr inbounds [[SPILLS_T]], ptr [[SPILLS]], i32 0, i32 0 + // CHECK-NEXT: [[T0:%.*]] = getelementptr inbounds{{.*}} [[SPILLS_T]], ptr [[SPILLS]], i32 0, i32 0 // CHECK-NEXT: store ptr [[R2]], ptr [[T0]] - // CHECK-NEXT: [[T0:%.*]] = getelementptr inbounds [[SPILLS_T]], ptr [[SPILLS]], i32 0, i32 1 + // CHECK-NEXT: [[T0:%.*]] = getelementptr inbounds{{.*}} [[SPILLS_T]], ptr [[SPILLS]], i32 0, i32 1 // CHECK-NEXT: store ptr [[R3]], ptr [[T0]] // Suspend. @@ -101,7 +101,7 @@ sil [ossa] @test_simple_call : $(Builtin.Int1) -> () { entry(%flag : $Builtin.Int1): // Allocate the buffer. // CHECK: [[T0:%.*]] = alloca {{\[}}[[BUFFER_SIZE]] x i8], align [[BUFFER_ALIGN]] - // CHECK-NEXT: [[BUFFER:%.*]] = getelementptr inbounds {{\[}}[[BUFFER_SIZE]] x i8], ptr [[T0]], i32 0, i32 0 + // CHECK-NEXT: [[BUFFER:%.*]] = getelementptr inbounds{{.*}} {{\[}}[[BUFFER_SIZE]] x i8], ptr [[T0]], i32 0, i32 0 // CHECK-NEXT: call void @llvm.lifetime.start.p0(i64 [[BUFFER_SIZE]], ptr [[BUFFER]]) // CHECK-NEXT: [[TMP:%.*]] = call swiftcc %swift.metadata_response @"$s18yield_once_biggish12SomeSubclassCMa"([[INT]] 0) @@ -115,9 +115,9 @@ entry(%flag : $Builtin.Int1): // CHECK-NEXT: [[R0_ORIG:%.*]] = extractvalue [[RAMP_RESULT_T]] [[RAMP_RESULT]], 1 // CHECK-NEXT: [[R1_ORIG:%.*]] = extractvalue [[RAMP_RESULT_T]] [[RAMP_RESULT]], 2 // CHECK-NEXT: [[SPILLS:%.*]] = extractvalue [[RAMP_RESULT_T]] [[RAMP_RESULT]], 3 - // CHECK-NEXT: [[T0:%.*]] = getelementptr inbounds [[SPILLS_T]], ptr [[SPILLS]], i32 0, i32 0 + // CHECK-NEXT: [[T0:%.*]] = getelementptr inbounds{{.*}} [[SPILLS_T]], ptr [[SPILLS]], i32 0, i32 0 // CHECK-NEXT: [[R2_ORIG:%.*]] = load ptr, ptr [[T0]], align - // CHECK-NEXT: [[T0:%.*]] = getelementptr inbounds [[SPILLS_T]], ptr [[SPILLS]], i32 0, i32 1 + // CHECK-NEXT: [[T0:%.*]] = getelementptr inbounds{{.*}} [[SPILLS_T]], ptr [[SPILLS]], i32 0, i32 1 // CHECK-NEXT: [[R3_ORIG:%.*]] = load ptr, ptr [[T0]], align %0 = function_ref @test_simple : $@convention(thin) @yield_once () -> (@yields @owned Biggish) (%value, %token) = begin_apply %0() : $@convention(thin) @yield_once () -> (@yields @owned Biggish) diff --git a/test/IRGen/yield_once_enable_emit_type_malloc_coro_frame.sil b/test/IRGen/yield_once_enable_emit_type_malloc_coro_frame.sil index 173a5d0cce5e1..6ed9e6fbb7535 100644 --- a/test/IRGen/yield_once_enable_emit_type_malloc_coro_frame.sil +++ b/test/IRGen/yield_once_enable_emit_type_malloc_coro_frame.sil @@ -70,7 +70,7 @@ sil @test_simple_call : $(Builtin.Int1) -> () { entry(%flag : $Builtin.Int1): // Allocate the buffer. // CHECK: [[T0:%.*]] = alloca {{\[}}[[BUFFER_SIZE]] x i8], align [[BUFFER_ALIGN]] - // CHECK-NEXT: [[BUFFER:%.*]] = getelementptr inbounds {{\[}}[[BUFFER_SIZE]] x i8], ptr [[T0]], i32 0, i32 0 + // CHECK-NEXT: [[BUFFER:%.*]] = getelementptr inbounds{{.*}} {{\[}}[[BUFFER_SIZE]] x i8], ptr [[T0]], i32 0, i32 0 // CHECK-NEXT: call void @llvm.lifetime.start.p0(i64 [[BUFFER_SIZE]], ptr [[BUFFER]]) // Prepare the continuation function pointer to block analysis. @@ -119,7 +119,7 @@ entry: // Allocate the buffer. // CHECK: [[T0:%.*]] = alloca {{\[}}[[BUFFER_SIZE]] x i8], align [[BUFFER_ALIGN]] - // CHECK-NEXT: [[BUFFER:%.*]] = getelementptr inbounds {{\[}}[[BUFFER_SIZE]] x i8], ptr [[T0]], i32 0, i32 0 + // CHECK-NEXT: [[BUFFER:%.*]] = getelementptr inbounds{{.*}} {{\[}}[[BUFFER_SIZE]] x i8], ptr [[T0]], i32 0, i32 0 // CHECK-NEXT: call void @llvm.lifetime.start.p0(i64 [[BUFFER_SIZE]], ptr [[BUFFER]]) // Prepare the continuation function pointer to block analysis. diff --git a/test/IRGen/yield_once_indirect.sil b/test/IRGen/yield_once_indirect.sil index e45ed9b15a985..f4d48b3db74c6 100644 --- a/test/IRGen/yield_once_indirect.sil +++ b/test/IRGen/yield_once_indirect.sil @@ -88,7 +88,7 @@ sil @test_simple_call : $(Builtin.Int1) -> () { entry(%flag : $Builtin.Int1): // Allocate the buffer. // CHECK: [[T0:%.*]] = alloca {{\[}}[[BUFFER_SIZE]] x i8], align [[BUFFER_ALIGN]] - // CHECK-NEXT: [[BUFFER:%.*]] = getelementptr inbounds {{\[}}[[BUFFER_SIZE]] x i8], ptr [[T0]], i32 0, i32 0 + // CHECK-NEXT: [[BUFFER:%.*]] = getelementptr inbounds{{.*}} {{\[}}[[BUFFER_SIZE]] x i8], ptr [[T0]], i32 0, i32 0 // CHECK-NEXT: call void @llvm.lifetime.start.p0(i64 [[BUFFER_SIZE]], ptr [[BUFFER]]) // CHECK-NEXT: [[TMP:%.*]] = call swiftcc %swift.metadata_response @"$s19yield_once_indirect12SomeSubclassCMa"([[INT]] 0) diff --git a/test/IRGen/yield_result.sil b/test/IRGen/yield_result.sil index dca022d6fc83c..b192005c9e7b6 100644 --- a/test/IRGen/yield_result.sil +++ b/test/IRGen/yield_result.sil @@ -60,7 +60,7 @@ entry: // CHECK: [[T0:%.*]] = alloca {{\[}}[[BUFFER_SIZE1:.*]] x i8 // CHECK: [[T1:%.*]] = alloca {{\[}}[[BUFFER_SIZE2:.*]] x i8 -// CHECK: [[BUFFER1:%.*]] = getelementptr inbounds {{\[}}[[BUFFER_SIZE1]] x i8], ptr [[T0]], i32 0, i32 0 +// CHECK: [[BUFFER1:%.*]] = getelementptr inbounds{{.*}} {{\[}}[[BUFFER_SIZE1]] x i8], ptr [[T0]], i32 0, i32 0 // CHECK: [[CORO1:%.*]] = call ptr @llvm.coro.prepare.retcon(ptr @coro_ret) // CHECK: [[FRAME1:%.*]] = call swiftcc { ptr, i64 } [[CORO1]](ptr noalias dereferenceable([[BUFFER_SIZE1]]) [[BUFFER1]] // CHECK: [[CONT1:%.*]] = extractvalue { ptr, i64 } [[FRAME1]], 0 @@ -76,7 +76,7 @@ entry: %coro2 = function_ref @coro_ret_pair : $@yield_once @convention(thin) () -> (@yields Builtin.Int64, Builtin.Int64, Builtin.Int64) (%second, %token2) = begin_apply %coro2() : $@yield_once @convention(thin) () -> (@yields Builtin.Int64, Builtin.Int64, Builtin.Int64) -// CHECK: [[BUFFER2:%.*]] = getelementptr inbounds {{\[}}[[BUFFER_SIZE2]] x i8], ptr [[T1]], i32 0, i32 0 +// CHECK: [[BUFFER2:%.*]] = getelementptr inbounds{{.*}} {{\[}}[[BUFFER_SIZE2]] x i8], ptr [[T1]], i32 0, i32 0 // CHECK: [[CORO2:%.*]] = call ptr @llvm.coro.prepare.retcon(ptr @coro_ret_pair) // CHECK: [[FRAME2:%.*]] = call swiftcc { ptr, i64 } [[CORO2]](ptr noalias dereferenceable([[BUFFER_SIZE2]]) [[BUFFER2]] // CHECK: [[CONT2:%.*]] = extractvalue { ptr, i64 } [[FRAME2]], 0 @@ -139,7 +139,7 @@ bb0(%0 : $Builtin.Int64): %out = alloc_stack $Builtin.Int64 // CHECK: store i64 [[ARG]], ptr [[ARG_COPY]] - // CHECK: [[CTX:%.*]] = getelementptr inbounds [[[BUFFER_SIZE]] x i8], ptr [[FRAME]], i32 0, i32 0 + // CHECK: [[CTX:%.*]] = getelementptr inbounds{{.*}} [[[BUFFER_SIZE]] x i8], ptr [[FRAME]], i32 0, i32 0 // CHECK: [[CORO:%.*]] = call ptr @llvm.coro.prepare.retcon(ptr @coro_ret_indirect) // CHECK: [[FRAME:%.*]] = call swiftcc { ptr, ptr } [[CORO]](ptr{{.*}} [[CTX]], ptr [[INDIRECT_RET]], ptr noalias [[ARG_COPY]], ptr getelementptr inbounds (%swift.full_existential_type, ptr @{{.*}} diff --git a/test/Inputs/conditional_conformance_basic_conformances.swift b/test/Inputs/conditional_conformance_basic_conformances.swift index 40e8cc66b3c40..9b8bf6bc52667 100644 --- a/test/Inputs/conditional_conformance_basic_conformances.swift +++ b/test/Inputs/conditional_conformance_basic_conformances.swift @@ -48,7 +48,7 @@ public func single_generic(_: T.Type) { // CHECK: %conditional.requirement.buffer = alloca [1 x ptr], align 8 // CHECK: [[T0:%.*]] = call swiftcc %swift.metadata_response @"$s42conditional_conformance_basic_conformances6SingleVMa"(i64 0, ptr %T) // CHECK-NEXT: [[Single_TYPE:%.*]] = extractvalue %swift.metadata_response [[T0]], 0 -// CHECK-NEXT: [[CONDITIONAL_REQUIREMENTS:%.*]] = getelementptr inbounds [1 x ptr], ptr %conditional.requirement.buffer, i32 0, i32 0 +// CHECK-NEXT: [[CONDITIONAL_REQUIREMENTS:%.*]] = getelementptr inbounds{{.*}} [1 x ptr], ptr %conditional.requirement.buffer, i32 0, i32 0 // CHECK-NEXT: [[T_P2_PTR:%.*]] = getelementptr inbounds ptr, ptr [[CONDITIONAL_REQUIREMENTS]], i32 0 // CHECK-NEXT: store ptr %T.P2, ptr [[T_P2_PTR]], align 8 // CHECK-NEXT: [[Single_P1:%.*]] = call ptr @swift_getWitnessTable @@ -123,7 +123,7 @@ public func single_concrete() { // CHECK-STABLE-ABI-FALSE-NEXT: extractvalue %swift.metadata_response [[T0]], 1 // CHECK-STABLE-ABI-TRUE-NEXT: [[T0:%.*]] = call ptr @__swift_instantiateConcreteTypeFromMangledNameAbstract(ptr @"$s42conditional_conformance_basic_conformances6SingleVyAA4IsP2VGMD") -// CHECK-NEXT: [[CONDITIONAL_REQUIREMENTS:%.*]] = getelementptr inbounds [1 x ptr], ptr %conditional.requirement.buffer, i32 0, i32 0 +// CHECK-NEXT: [[CONDITIONAL_REQUIREMENTS:%.*]] = getelementptr inbounds{{.*}} [1 x ptr], ptr %conditional.requirement.buffer, i32 0, i32 0 // CHECK-NEXT: [[A_P2_PTR:%.*]] = getelementptr inbounds ptr, ptr [[CONDITIONAL_REQUIREMENTS]], i32 0 // CHECK-NEXT: store ptr @"$s42conditional_conformance_basic_conformances4IsP2VAA0F0AAWP", ptr [[A_P2_PTR]], align 8 @@ -145,7 +145,7 @@ public func single_concrete() { // TYPEBYNAME: cacheIsNull: // TYPEBYNAME-NEXT: [[T0:%.*]] = call ptr @__swift_instantiateConcreteTypeFromMangledNameAbstract(ptr @"$s42conditional_conformance_basic_conformances6SingleVyAA4IsP2VGMD") -// TYPEBYNAME-NEXT: [[CONDITIONAL_REQUIREMENTS:%.*]] = getelementptr inbounds [1 x ptr], ptr %conditional.requirement.buffer, i32 0, i32 0 +// TYPEBYNAME-NEXT: [[CONDITIONAL_REQUIREMENTS:%.*]] = getelementptr inbounds{{.*}} [1 x ptr], ptr %conditional.requirement.buffer, i32 0, i32 0 // TYPEBYNAME-NEXT: [[A_P2_PTR:%.*]] = getelementptr inbounds ptr, ptr [[CONDITIONAL_REQUIREMENTS]], i32 0 // TYPEBYNAME-NEXT: store ptr @"$s42conditional_conformance_basic_conformances4IsP2VAA0F0AAWP", ptr [[A_P2_PTR]], align 8 @@ -166,7 +166,7 @@ public func single_concrete() { // TYPEBYNAME_PRESPECIALIZED-NEXT: br i1 [[IS_NULL]], label %cacheIsNull, label %cont // TYPEBYNAME_PRESPECIALIZED: cacheIsNull: -// TYPEBYNAME_PRESPECIALIZED-NEXT: [[CONDITIONAL_REQUIREMENTS:%.*]] = getelementptr inbounds [1 x ptr], ptr %conditional.requirement.buffer, i32 0, i32 0 +// TYPEBYNAME_PRESPECIALIZED-NEXT: [[CONDITIONAL_REQUIREMENTS:%.*]] = getelementptr inbounds{{.*}} [1 x ptr], ptr %conditional.requirement.buffer, i32 0, i32 0 // TYPEBYNAME_PRESPECIALIZED-NEXT: [[A_P2_PTR:%.*]] = getelementptr inbounds ptr, ptr [[CONDITIONAL_REQUIREMENTS]], i32 0 // TYPEBYNAME_PRESPECIALIZED-NEXT: store ptr @"$s42conditional_conformance_basic_conformances4IsP2VAA0F0AAWP", ptr [[A_P2_PTR]], align 8 @@ -237,7 +237,7 @@ public func double_generic_generic(_: U.Type, _: V.Type) { // CHECK: [[T0:%.*]] = call swiftcc %swift.metadata_response @"$s42conditional_conformance_basic_conformances6DoubleVMa"(i64 0, ptr %U, ptr %V) // CHECK-NEXT: [[Double_TYPE:%.*]] = extractvalue %swift.metadata_response [[T0]], 0 -// CHECK-NEXT: [[CONDITIONAL_REQUIREMENTS:%.*]] = getelementptr inbounds [2 x ptr], ptr %conditional.requirement.buffer, i32 0, i32 0 +// CHECK-NEXT: [[CONDITIONAL_REQUIREMENTS:%.*]] = getelementptr inbounds{{.*}} [2 x ptr], ptr %conditional.requirement.buffer, i32 0, i32 0 // CHECK-NEXT: [[B_P2_PTR:%.*]] = getelementptr inbounds ptr, ptr [[CONDITIONAL_REQUIREMENTS]], i32 0 // CHECK-NEXT: store ptr %U.P2, ptr [[B_P2_PTR]], align 8 // CHECK-NEXT: [[C_P3_PTR:%.*]] = getelementptr inbounds ptr, ptr [[CONDITIONAL_REQUIREMENTS]], i32 1 @@ -257,7 +257,7 @@ public func double_generic_concrete(_: X.Type) { // CHECK: [[T0:%.*]] = call swiftcc %swift.metadata_response @"$s42conditional_conformance_basic_conformances6DoubleVMa"(i64 0, ptr %X, ptr getelementptr inbounds (<{ ptr, ptr, i64, ptr }>, ptr @"$s42conditional_conformance_basic_conformances4IsP3VMf", i32 0, i32 2)) // CHECK-NEXT: [[Double_TYPE:%.*]] = extractvalue %swift.metadata_response [[T0]], 0 -// CHECK-NEXT: [[CONDITIONAL_REQUIREMENTS:%.*]] = getelementptr inbounds [2 x ptr], ptr %conditional.requirement.buffer, i32 0, i32 0 +// CHECK-NEXT: [[CONDITIONAL_REQUIREMENTS:%.*]] = getelementptr inbounds{{.*}} [2 x ptr], ptr %conditional.requirement.buffer, i32 0, i32 0 // CHECK-NEXT: [[B_P2_PTR:%.*]] = getelementptr inbounds ptr, ptr [[CONDITIONAL_REQUIREMENTS]], i32 0 // CHECK-NEXT: store ptr %X.P2, ptr [[B_P2_PTR]], align 8 // CHECK-NEXT: [[C_P3_PTR:%.*]] = getelementptr inbounds ptr, ptr [[CONDITIONAL_REQUIREMENTS]], i32 1 @@ -294,7 +294,7 @@ public func double_concrete_concrete() { // CHECK-STABLE-ABI-FALSE-NEXT: extractvalue %swift.metadata_response [[T0]], 1 // CHECK-STABLE-ABI-TRUE-NEXT: [[T0:%.*]] = call ptr @__swift_instantiateConcreteTypeFromMangledNameAbstract(ptr @"$s42conditional_conformance_basic_conformances6DoubleVyAA4IsP2VAA0F2P3VGMD") -// CHECK-NEXT: [[CONDITIONAL_REQUIREMENTS:%.*]] = getelementptr inbounds [2 x ptr], ptr %conditional.requirement.buffer, i32 0, i32 0 +// CHECK-NEXT: [[CONDITIONAL_REQUIREMENTS:%.*]] = getelementptr inbounds{{.*}} [2 x ptr], ptr %conditional.requirement.buffer, i32 0, i32 0 // CHECK-NEXT: [[B_P2_PTR:%.*]] = getelementptr inbounds ptr, ptr [[CONDITIONAL_REQUIREMENTS]], i32 0 // CHECK-NEXT: store ptr @"$s42conditional_conformance_basic_conformances4IsP2VAA0F0AAWP", ptr [[B_P2_PTR]], align 8 // CHECK-NEXT: [[C_P3_PTR:%.*]] = getelementptr inbounds ptr, ptr [[CONDITIONAL_REQUIREMENTS]], i32 1 diff --git a/test/Inputs/conditional_conformance_basic_conformances_future.swift b/test/Inputs/conditional_conformance_basic_conformances_future.swift index e867a340524c7..a5e4289658656 100644 --- a/test/Inputs/conditional_conformance_basic_conformances_future.swift +++ b/test/Inputs/conditional_conformance_basic_conformances_future.swift @@ -48,7 +48,7 @@ public func single_generic(_: T.Type) { // CHECK: %conditional.requirement.buffer = alloca [1 x ptr], align 8 // CHECK: [[T0:%.*]] = call swiftcc %swift.metadata_response @"$s42conditional_conformance_basic_conformances6SingleVMa"(i64 0, ptr %T) // CHECK-NEXT: [[Single_TYPE:%.*]] = extractvalue %swift.metadata_response [[T0]], 0 -// CHECK-NEXT: [[CONDITIONAL_REQUIREMENTS:%.*]] = getelementptr inbounds [1 x ptr], ptr %conditional.requirement.buffer, i32 0, i32 0 +// CHECK-NEXT: [[CONDITIONAL_REQUIREMENTS:%.*]] = getelementptr inbounds{{.*}} [1 x ptr], ptr %conditional.requirement.buffer, i32 0, i32 0 // CHECK-NEXT: [[T_P2_PTR:%.*]] = getelementptr inbounds ptr, ptr [[CONDITIONAL_REQUIREMENTS]], i32 0 // CHECK-NEXT: store ptr %T.P2, ptr [[T_P2_PTR]], align 8 // CHECK-NEXT: [[Single_P1:%.*]] = call ptr @swift_getWitnessTable @@ -92,7 +92,7 @@ public func single_concrete() { // CHECK-NEXT: br i1 [[IS_NULL]], label %cacheIsNull, label %cont // CHECK: cacheIsNull: -// CHECK-NEXT: [[CONDITIONAL_REQUIREMENTS:%.*]] = getelementptr inbounds [1 x ptr], ptr %conditional.requirement.buffer, i32 0, i32 0 +// CHECK-NEXT: [[CONDITIONAL_REQUIREMENTS:%.*]] = getelementptr inbounds{{.*}} [1 x ptr], ptr %conditional.requirement.buffer, i32 0, i32 0 // CHECK-NEXT: [[A_P2_PTR:%.*]] = getelementptr inbounds ptr, ptr [[CONDITIONAL_REQUIREMENTS]], i32 0 // CHECK-NEXT: store ptr @"$s42conditional_conformance_basic_conformances4IsP2VAA0F0AAWP", ptr [[A_P2_PTR]], align 8 @@ -124,7 +124,7 @@ public func single_concrete() { // TYPEBYNAME: cacheIsNull: // TYPEBYNAME-NEXT: [[T0:%.*]] = call ptr @__swift_instantiateConcreteTypeFromMangledNameAbstract(ptr @"$s42conditional_conformance_basic_conformances6SingleVyAA4IsP2VGMD") -// TYPEBYNAME-NEXT: [[CONDITIONAL_REQUIREMENTS:%.*]] = getelementptr inbounds [1 x ptr], ptr %conditional.requirement.buffer, i32 0, i32 0 +// TYPEBYNAME-NEXT: [[CONDITIONAL_REQUIREMENTS:%.*]] = getelementptr inbounds{{.*}} [1 x ptr], ptr %conditional.requirement.buffer, i32 0, i32 0 // TYPEBYNAME-NEXT: [[A_P2_PTR:%.*]] = getelementptr inbounds ptr, ptr [[CONDITIONAL_REQUIREMENTS]], i32 0 // TYPEBYNAME-NEXT: store ptr @"$s42conditional_conformance_basic_conformances4IsP2VAA0F0AAWP", ptr [[A_P2_PTR]], align 8 @@ -145,7 +145,7 @@ public func single_concrete() { // TYPEBYNAME_PRESPECIALIZED-NEXT: br i1 [[IS_NULL]], label %cacheIsNull, label %cont // TYPEBYNAME_PRESPECIALIZED: cacheIsNull: -// TYPEBYNAME_PRESPECIALIZED-NEXT: [[CONDITIONAL_REQUIREMENTS:%.*]] = getelementptr inbounds [1 x ptr], ptr %conditional.requirement.buffer, i32 0, i32 0 +// TYPEBYNAME_PRESPECIALIZED-NEXT: [[CONDITIONAL_REQUIREMENTS:%.*]] = getelementptr inbounds{{.*}} [1 x ptr], ptr %conditional.requirement.buffer, i32 0, i32 0 // TYPEBYNAME_PRESPECIALIZED-NEXT: [[A_P2_PTR:%.*]] = getelementptr inbounds ptr, ptr [[CONDITIONAL_REQUIREMENTS]], i32 0 // TYPEBYNAME_PRESPECIALIZED-NEXT: store ptr @"$s42conditional_conformance_basic_conformances4IsP2VAA0F0AAWP", ptr [[A_P2_PTR]], align 8 @@ -216,7 +216,7 @@ public func double_generic_generic(_: U.Type, _: V.Type) { // CHECK: [[T0:%.*]] = call swiftcc %swift.metadata_response @"$s42conditional_conformance_basic_conformances6DoubleVMa"(i64 0, ptr %U, ptr %V) // CHECK-NEXT: [[Double_TYPE:%.*]] = extractvalue %swift.metadata_response [[T0]], 0 -// CHECK-NEXT: [[CONDITIONAL_REQUIREMENTS:%.*]] = getelementptr inbounds [2 x ptr], ptr %conditional.requirement.buffer, i32 0, i32 0 +// CHECK-NEXT: [[CONDITIONAL_REQUIREMENTS:%.*]] = getelementptr inbounds{{.*}} [2 x ptr], ptr %conditional.requirement.buffer, i32 0, i32 0 // CHECK-NEXT: [[B_P2_PTR:%.*]] = getelementptr inbounds ptr, ptr [[CONDITIONAL_REQUIREMENTS]], i32 0 // CHECK-NEXT: store ptr %U.P2, ptr [[B_P2_PTR]], align 8 // CHECK-NEXT: [[C_P3_PTR:%.*]] = getelementptr inbounds ptr, ptr [[CONDITIONAL_REQUIREMENTS]], i32 1 @@ -251,7 +251,7 @@ public func double_generic_concrete(_: X.Type) { // CHECK-SAME: ) // CHECK-SAME: ) // CHECK: [[Double_TYPE:%[0-9]+]] = extractvalue %swift.metadata_response [[Double_TYPE_Response]], 0 -// CHECK: [[CONDITIONAL_REQUIREMENTS:%.*]] = getelementptr inbounds [2 x ptr], ptr %conditional.requirement.buffer, i32 0, i32 0 +// CHECK: [[CONDITIONAL_REQUIREMENTS:%.*]] = getelementptr inbounds{{.*}} [2 x ptr], ptr %conditional.requirement.buffer, i32 0, i32 0 // CHECK-NEXT: [[B_P2_PTR:%.*]] = getelementptr inbounds ptr, ptr [[CONDITIONAL_REQUIREMENTS]], i32 0 // CHECK-NEXT: store ptr %X.P2, ptr [[B_P2_PTR]], align 8 // CHECK-NEXT: [[C_P3_PTR:%.*]] = getelementptr inbounds ptr, ptr [[CONDITIONAL_REQUIREMENTS]], i32 1 @@ -306,7 +306,7 @@ public func double_concrete_concrete() { // CHECK-NEXT: br i1 [[IS_NULL]], label %cacheIsNull, label %cont // CHECK: cacheIsNull: -// CHECK-NEXT: [[CONDITIONAL_REQUIREMENTS:%.*]] = getelementptr inbounds [2 x ptr], ptr %conditional.requirement.buffer, i32 0, i32 0 +// CHECK-NEXT: [[CONDITIONAL_REQUIREMENTS:%.*]] = getelementptr inbounds{{.*}} [2 x ptr], ptr %conditional.requirement.buffer, i32 0, i32 0 // CHECK-NEXT: [[B_P2_PTR:%.*]] = getelementptr inbounds ptr, ptr [[CONDITIONAL_REQUIREMENTS]], i32 0 // CHECK-NEXT: store ptr @"$s42conditional_conformance_basic_conformances4IsP2VAA0F0AAWP", ptr [[B_P2_PTR]], align 8 // CHECK-NEXT: [[C_P3_PTR:%.*]] = getelementptr inbounds ptr, ptr [[CONDITIONAL_REQUIREMENTS]], i32 1 diff --git a/test/Inputs/conditional_conformance_recursive.swift b/test/Inputs/conditional_conformance_recursive.swift index 37725fc368e1e..76e1bd6da402c 100644 --- a/test/Inputs/conditional_conformance_recursive.swift +++ b/test/Inputs/conditional_conformance_recursive.swift @@ -21,5 +21,5 @@ extension Wrapper: P3 where T: P3 { } // associated type witness table accessor for A : P2 in Wrapper: P2 // CHECK-LABEL: define internal swiftcc ptr @"$s33conditional_conformance_recursive7WrapperVyxGAA2P2A2aERzrl1AAA2P1P_AaEPWT" // CHECK: [[CONDITIONAL_REQ_BUFFER:%.*]] = alloca [1 x ptr] -// CHECK: [[FIRST_REQ:%.*]] = getelementptr inbounds [1 x ptr], ptr [[CONDITIONAL_REQ_BUFFER]] +// CHECK: [[FIRST_REQ:%.*]] = getelementptr inbounds{{.*}} [1 x ptr], ptr [[CONDITIONAL_REQ_BUFFER]] // CHECK: call ptr @swift_getWitnessTable diff --git a/test/Inputs/conditional_conformance_subclass.swift b/test/Inputs/conditional_conformance_subclass.swift index de35a0d82cc72..a91dcb3dfb281 100644 --- a/test/Inputs/conditional_conformance_subclass.swift +++ b/test/Inputs/conditional_conformance_subclass.swift @@ -50,7 +50,7 @@ public func subclassgeneric_generic(_: T.Type) { // CHECK: %conditional.requirement.buffer = alloca [1 x ptr], align 8 // CHECK: [[T0:%.*]] = call swiftcc %swift.metadata_response @"$s32conditional_conformance_subclass15SubclassGenericCMa"(i64 0, ptr %T) // CHECK-NEXT: [[SubclassGeneric_TYPE:%.*]] = extractvalue %swift.metadata_response [[T0]], 0 -// CHECK-NEXT: [[CONDITIONAL_REQUIREMENTS:%.*]] = getelementptr inbounds [1 x ptr], ptr %conditional.requirement.buffer, i32 0, i32 0 +// CHECK-NEXT: [[CONDITIONAL_REQUIREMENTS:%.*]] = getelementptr inbounds{{.*}} [1 x ptr], ptr %conditional.requirement.buffer, i32 0, i32 0 // CHECK-NEXT: [[T_P2_PTR:%.*]] = getelementptr inbounds ptr, ptr [[CONDITIONAL_REQUIREMENTS]], i32 0 // CHECK-NEXT: store ptr %T.P2, ptr [[T_P2_PTR]], align 8 // CHECK-NEXT: [[Base_P1:%.*]] = call ptr @swift_getWitnessTable @@ -85,7 +85,7 @@ public func subclassgeneric_concrete() { // CHECK-STABLE-ABI-FALSE-NEXT: extractvalue %swift.metadata_response [[T0]], 1 // CHECK-STABLE-ABI-TRUE-NEXT: [[T0:%.*]] = call ptr @__swift_instantiateConcreteTypeFromMangledNameAbstract(ptr @"$s32conditional_conformance_subclass15SubclassGenericCyAA4IsP2VGMD") -// CHECK-NEXT: [[CONDITIONAL_REQUIREMENTS:%.*]] = getelementptr inbounds [1 x ptr], ptr %conditional.requirement.buffer, i32 0, i32 0 +// CHECK-NEXT: [[CONDITIONAL_REQUIREMENTS:%.*]] = getelementptr inbounds{{.*}} [1 x ptr], ptr %conditional.requirement.buffer, i32 0, i32 0 // CHECK-NEXT: [[A_P2_PTR:%.*]] = getelementptr inbounds ptr, ptr [[CONDITIONAL_REQUIREMENTS]], i32 0 // CHECK-NEXT: store ptr @"$s32conditional_conformance_subclass4IsP2VAA0E0AAWP", ptr [[A_P2_PTR]], align 8 // CHECK-NEXT: [[Base_P1:%.*]] = call ptr @swift_getWitnessTable @@ -122,7 +122,7 @@ public func subclassconcrete() { // CHECK-NEXT: [[SubclassConcrete_TYPE:%.*]] = extractvalue %swift.metadata_response [[T0]], 0 // CHECK-NEXT: extractvalue %swift.metadata_response [[T0]], 1 -// CHECK-NEXT: [[CONDITIONAL_REQUIREMENTS:%.*]] = getelementptr inbounds [1 x ptr], ptr %conditional.requirement.buffer, i32 0, i32 0 +// CHECK-NEXT: [[CONDITIONAL_REQUIREMENTS:%.*]] = getelementptr inbounds{{.*}} [1 x ptr], ptr %conditional.requirement.buffer, i32 0, i32 0 // CHECK-NEXT: [[A_P2_PTR:%.*]] = getelementptr inbounds ptr, ptr [[CONDITIONAL_REQUIREMENTS]], i32 0 // CHECK-NEXT: store ptr @"$s32conditional_conformance_subclass4IsP2VAA0E0AAWP", ptr [[A_P2_PTR]], align 8 // CHECK-NEXT: [[Base_P1:%.*]] = call ptr @swift_getWitnessTable @@ -158,7 +158,7 @@ public func subclassgenericconcrete() { // CHECK-NEXT: [[T0:%.*]] = call swiftcc %swift.metadata_response @"$s32conditional_conformance_subclass23SubclassGenericConcreteCMa"(i64 255) // CHECK-NEXT: [[SubclassGenericConcrete_TYPE:%.*]] = extractvalue %swift.metadata_response [[T0]], 0 // CHECK-NEXT: extractvalue %swift.metadata_response [[T0]], 1 -// CHECK-NEXT: [[CONDITIONAL_REQUIREMENTS:%.*]] = getelementptr inbounds [1 x ptr], ptr %conditional.requirement.buffer, i32 0, i32 0 +// CHECK-NEXT: [[CONDITIONAL_REQUIREMENTS:%.*]] = getelementptr inbounds{{.*}} [1 x ptr], ptr %conditional.requirement.buffer, i32 0, i32 0 // CHECK-NEXT: [[A_P2_PTR:%.*]] = getelementptr inbounds ptr, ptr [[CONDITIONAL_REQUIREMENTS]], i32 0 // CHECK-NEXT: store ptr @"$s32conditional_conformance_subclass4IsP2VAA0E0AAWP", ptr [[A_P2_PTR]], align 8 // CHECK-NEXT: [[Base_P1:%.*]] = call ptr @swift_getWitnessTable diff --git a/test/Inputs/conditional_conformance_subclass_future.swift b/test/Inputs/conditional_conformance_subclass_future.swift index 4f1a59e28b3f4..efe653ebc65b8 100644 --- a/test/Inputs/conditional_conformance_subclass_future.swift +++ b/test/Inputs/conditional_conformance_subclass_future.swift @@ -50,7 +50,7 @@ public func subclassgeneric_generic(_: T.Type) { // CHECK: %conditional.requirement.buffer = alloca [1 x ptr], align 8 // CHECK: [[T0:%.*]] = call swiftcc %swift.metadata_response @"$s32conditional_conformance_subclass15SubclassGenericCMa"(i64 0, ptr %T) // CHECK-NEXT: [[SubclassGeneric_TYPE:%.*]] = extractvalue %swift.metadata_response [[T0]], 0 -// CHECK-NEXT: [[CONDITIONAL_REQUIREMENTS:%.*]] = getelementptr inbounds [1 x ptr], ptr %conditional.requirement.buffer, i32 0, i32 0 +// CHECK-NEXT: [[CONDITIONAL_REQUIREMENTS:%.*]] = getelementptr inbounds{{.*}} [1 x ptr], ptr %conditional.requirement.buffer, i32 0, i32 0 // CHECK-NEXT: [[T_P2_PTR:%.*]] = getelementptr inbounds ptr, ptr [[CONDITIONAL_REQUIREMENTS]], i32 0 // CHECK-NEXT: store ptr %T.P2, ptr [[T_P2_PTR]], align 8 // CHECK-NEXT: [[Base_P1:%.*]] = call ptr @swift_getWitnessTable @@ -89,7 +89,7 @@ public func subclassgeneric_concrete() { // linux-android-NEXT: [[T0:%.*]] = call ptr @__swift_instantiateConcreteTypeFromMangledNameAbstract(ptr @"$s32conditional_conformance_subclass15SubclassGenericCyAA4IsP2VGMD") // windows-msvc-NEXT: [[T0:%.*]] = call ptr @__swift_instantiateConcreteTypeFromMangledNameAbstract(ptr @"$s32conditional_conformance_subclass15SubclassGenericCyAA4IsP2VGMD") -// CHECK: [[CONDITIONAL_REQUIREMENTS:%.*]] = getelementptr inbounds [1 x ptr], ptr %conditional.requirement.buffer, i32 0, i32 0 +// CHECK: [[CONDITIONAL_REQUIREMENTS:%.*]] = getelementptr inbounds{{.*}} [1 x ptr], ptr %conditional.requirement.buffer, i32 0, i32 0 // CHECK-NEXT: [[A_P2_PTR:%.*]] = getelementptr inbounds ptr, ptr [[CONDITIONAL_REQUIREMENTS]], i32 0 // CHECK-NEXT: store ptr @"$s32conditional_conformance_subclass4IsP2VAA0E0AAWP", ptr [[A_P2_PTR]], align 8 // CHECK-NEXT: [[Base_P1:%.*]] = call ptr @swift_getWitnessTable @@ -126,7 +126,7 @@ public func subclassconcrete() { // CHECK-NEXT: [[SubclassConcrete_TYPE:%.*]] = extractvalue %swift.metadata_response [[T0]], 0 // CHECK-NEXT: extractvalue %swift.metadata_response [[T0]], 1 -// CHECK-NEXT: [[CONDITIONAL_REQUIREMENTS:%.*]] = getelementptr inbounds [1 x ptr], ptr %conditional.requirement.buffer, i32 0, i32 0 +// CHECK-NEXT: [[CONDITIONAL_REQUIREMENTS:%.*]] = getelementptr inbounds{{.*}} [1 x ptr], ptr %conditional.requirement.buffer, i32 0, i32 0 // CHECK-NEXT: [[A_P2_PTR:%.*]] = getelementptr inbounds ptr, ptr [[CONDITIONAL_REQUIREMENTS]], i32 0 // CHECK-NEXT: store ptr @"$s32conditional_conformance_subclass4IsP2VAA0E0AAWP", ptr [[A_P2_PTR]], align 8 // CHECK-NEXT: [[Base_P1:%.*]] = call ptr @swift_getWitnessTable @@ -162,7 +162,7 @@ public func subclassgenericconcrete() { // CHECK-NEXT: [[T0:%.*]] = call swiftcc %swift.metadata_response @"$s32conditional_conformance_subclass23SubclassGenericConcreteCMa"(i64 255) // CHECK-NEXT: [[SubclassGenericConcrete_TYPE:%.*]] = extractvalue %swift.metadata_response [[T0]], 0 // CHECK-NEXT: extractvalue %swift.metadata_response [[T0]], 1 -// CHECK-NEXT: [[CONDITIONAL_REQUIREMENTS:%.*]] = getelementptr inbounds [1 x ptr], ptr %conditional.requirement.buffer, i32 0, i32 0 +// CHECK-NEXT: [[CONDITIONAL_REQUIREMENTS:%.*]] = getelementptr inbounds{{.*}} [1 x ptr], ptr %conditional.requirement.buffer, i32 0, i32 0 // CHECK-NEXT: [[A_P2_PTR:%.*]] = getelementptr inbounds ptr, ptr [[CONDITIONAL_REQUIREMENTS]], i32 0 // CHECK-NEXT: store ptr @"$s32conditional_conformance_subclass4IsP2VAA0E0AAWP", ptr [[A_P2_PTR]], align 8 // CHECK-NEXT: [[Base_P1:%.*]] = call ptr @swift_getWitnessTable diff --git a/test/Inputs/conditional_conformance_with_assoc.swift b/test/Inputs/conditional_conformance_with_assoc.swift index 1aeffe8f2cf56..adc6aa0de2c97 100644 --- a/test/Inputs/conditional_conformance_with_assoc.swift +++ b/test/Inputs/conditional_conformance_with_assoc.swift @@ -103,7 +103,7 @@ public func generic_generic(_: T.Type, _: U.Type) // CHECK: [[T0:%.*]] = call swiftcc %swift.metadata_response @"$s34conditional_conformance_with_assoc6DoubleVMa"(i64 0, ptr %T, ptr %U, ptr %T.P2) // CHECK-NEXT: [[Double_TYPE:%.*]] = extractvalue %swift.metadata_response [[T0]], 0 -// CHECK-NEXT: [[CONDITIONAL_REQUIREMENTS:%.*]] = getelementptr inbounds [3 x ptr], ptr %conditional.requirement.buffer, i32 0, i32 0 +// CHECK-NEXT: [[CONDITIONAL_REQUIREMENTS:%.*]] = getelementptr inbounds{{.*}} [3 x ptr], ptr %conditional.requirement.buffer, i32 0, i32 0 // CHECK-NEXT: [[C_P3_PTR:%.*]] = getelementptr inbounds ptr, ptr [[CONDITIONAL_REQUIREMENTS]], i32 0 // CHECK-NEXT: store ptr %U.P3, ptr [[C_P3_PTR]], align 8 // CHECK-NEXT: [[B_AT2_P2_PTR:%.*]] = getelementptr inbounds ptr, ptr [[CONDITIONAL_REQUIREMENTS]], i32 1 @@ -142,7 +142,7 @@ public func generic_concrete(_: T.Type) // CHECK-SAME: ) // CHECK-NEXT: [[Double_TYPE:%.*]] = extractvalue %swift.metadata_response [[T0]], 0 -// CHECK-NEXT: [[CONDITIONAL_REQUIREMENTS:%.*]] = getelementptr inbounds [3 x ptr], ptr %conditional.requirement.buffer, i32 0, i32 0 +// CHECK-NEXT: [[CONDITIONAL_REQUIREMENTS:%.*]] = getelementptr inbounds{{.*}} [3 x ptr], ptr %conditional.requirement.buffer, i32 0, i32 0 // CHECK-NEXT: [[C_P3_PTR:%.*]] = getelementptr inbounds ptr, ptr [[CONDITIONAL_REQUIREMENTS]], i32 0 // CHECK-NEXT: store ptr @"$s34conditional_conformance_with_assoc4IsP3VAA0F0AAWP", ptr [[C_P3_PTR]], align 8 // CHECK-NEXT: [[B_AT2_P2_PTR:%.*]] = getelementptr inbounds ptr, ptr [[CONDITIONAL_REQUIREMENTS]], i32 1 @@ -167,7 +167,7 @@ public func concrete_generic(_: U.Type) // CHECK: %conditional.requirement.buffer = alloca [3 x ptr], align 8 // CHECK: [[T0:%.*]] = call swiftcc %swift.metadata_response @"$s34conditional_conformance_with_assoc6DoubleVMa"(i64 0, ptr getelementptr inbounds (<{ {{.*}} }>, ptr @"$s34conditional_conformance_with_assoc8IsAlsoP2VMf", i32 0, i32 2), ptr %U, ptr @"$s34conditional_conformance_with_assoc8IsAlsoP2VAA0G0AAWP") // CHECK-NEXT: [[Double_TYPE:%.*]] = extractvalue %swift.metadata_response [[T0]], 0 -// CHECK-NEXT: [[CONDITIONAL_REQUIREMENTS:%.*]] = getelementptr inbounds [3 x ptr], ptr %conditional.requirement.buffer, i32 0, i32 0 +// CHECK-NEXT: [[CONDITIONAL_REQUIREMENTS:%.*]] = getelementptr inbounds{{.*}} [3 x ptr], ptr %conditional.requirement.buffer, i32 0, i32 0 // CHECK-NEXT: [[C_P3_PTR:%.*]] = getelementptr inbounds ptr, ptr [[CONDITIONAL_REQUIREMENTS]], i32 0 // CHECK-NEXT: store ptr %U.P3, ptr [[C_P3_PTR]], align 8 // CHECK-NEXT: [[B_AT2_P2_PTR:%.*]] = getelementptr inbounds ptr, ptr [[CONDITIONAL_REQUIREMENTS]], i32 1 @@ -206,7 +206,7 @@ public func concrete_concrete() { // CHECK-STABLE-ABI-FALSE-NEXT: [[Double_TYPE:%.*]] = extractvalue %swift.metadata_response [[T0]], 0 // CHECK-STABLE-ABI-FALSE-NEXT: extractvalue %swift.metadata_response [[T0]], 1 // CHECK-STABLE-ABI-TRUE-NEXT: [[T0:%.*]] = call ptr @__swift_instantiateConcreteTypeFromMangledNameAbstract(ptr @"$s34conditional_conformance_with_assoc6DoubleVyAA8IsAlsoP2VAA0F2P3VGMD") -// CHECK-NEXT: [[CONDITIONAL_REQUIREMENTS:%.*]] = getelementptr inbounds [3 x ptr], ptr %conditional.requirement.buffer, i32 0, i32 0 +// CHECK-NEXT: [[CONDITIONAL_REQUIREMENTS:%.*]] = getelementptr inbounds{{.*}} [3 x ptr], ptr %conditional.requirement.buffer, i32 0, i32 0 // CHECK-NEXT: [[C_P3_PTR:%.*]] = getelementptr inbounds ptr, ptr [[CONDITIONAL_REQUIREMENTS]], i32 0 // CHECK-NEXT: store ptr @"$s34conditional_conformance_with_assoc4IsP3VAA0F0AAWP", ptr [[C_P3_PTR]], align 8 // CHECK-NEXT: [[B_AT2_P2_PTR:%.*]] = getelementptr inbounds ptr, ptr [[CONDITIONAL_REQUIREMENTS]], i32 1 diff --git a/test/Inputs/conditional_conformance_with_assoc_future.swift b/test/Inputs/conditional_conformance_with_assoc_future.swift index 5dee20e72d072..f264b742db309 100644 --- a/test/Inputs/conditional_conformance_with_assoc_future.swift +++ b/test/Inputs/conditional_conformance_with_assoc_future.swift @@ -103,7 +103,7 @@ public func generic_generic(_: T.Type, _: U.Type) // CHECK: [[T0:%.*]] = call swiftcc %swift.metadata_response @"$s34conditional_conformance_with_assoc6DoubleVMa"(i64 0, ptr %T, ptr %U, ptr %T.P2) // CHECK-NEXT: [[Double_TYPE:%.*]] = extractvalue %swift.metadata_response [[T0]], 0 -// CHECK-NEXT: [[CONDITIONAL_REQUIREMENTS:%.*]] = getelementptr inbounds [3 x ptr], ptr %conditional.requirement.buffer, i32 0, i32 0 +// CHECK-NEXT: [[CONDITIONAL_REQUIREMENTS:%.*]] = getelementptr inbounds{{.*}} [3 x ptr], ptr %conditional.requirement.buffer, i32 0, i32 0 // CHECK-NEXT: [[C_P3_PTR:%.*]] = getelementptr inbounds ptr, ptr [[CONDITIONAL_REQUIREMENTS]], i32 0 // CHECK-NEXT: store ptr %U.P3, ptr [[C_P3_PTR]], align 8 // CHECK-NEXT: [[B_AT2_P2_PTR:%.*]] = getelementptr inbounds ptr, ptr [[CONDITIONAL_REQUIREMENTS]], i32 1 @@ -143,7 +143,7 @@ public func generic_concrete(_: T.Type) // CHECK-SAME: ) // CHECK-NEXT: [[Double_TYPE:%.*]] = extractvalue %swift.metadata_response [[T0]], 0 -// CHECK-NEXT: [[CONDITIONAL_REQUIREMENTS:%.*]] = getelementptr inbounds [3 x ptr], ptr %conditional.requirement.buffer, i32 0, i32 0 +// CHECK-NEXT: [[CONDITIONAL_REQUIREMENTS:%.*]] = getelementptr inbounds{{.*}} [3 x ptr], ptr %conditional.requirement.buffer, i32 0, i32 0 // CHECK-NEXT: [[C_P3_PTR:%.*]] = getelementptr inbounds ptr, ptr [[CONDITIONAL_REQUIREMENTS]], i32 0 // CHECK-NEXT: store ptr @"$s34conditional_conformance_with_assoc4IsP3VAA0F0AAWP", ptr [[C_P3_PTR]], align 8 // CHECK-NEXT: [[B_AT2_P2_PTR:%.*]] = getelementptr inbounds ptr, ptr [[CONDITIONAL_REQUIREMENTS]], i32 1 @@ -168,7 +168,7 @@ public func concrete_generic(_: U.Type) // CHECK: %conditional.requirement.buffer = alloca [3 x ptr], align 8 // CHECK: [[T0:%.*]] = call swiftcc %swift.metadata_response @"$s34conditional_conformance_with_assoc6DoubleVMa"(i64 0, ptr getelementptr inbounds (<{ {{.*}} }>, ptr @"$s34conditional_conformance_with_assoc8IsAlsoP2VMf", i32 0, i32 2), ptr %U, ptr @"$s34conditional_conformance_with_assoc8IsAlsoP2VAA0G0AAWP") // CHECK-NEXT: [[Double_TYPE:%.*]] = extractvalue %swift.metadata_response [[T0]], 0 -// CHECK-NEXT: [[CONDITIONAL_REQUIREMENTS:%.*]] = getelementptr inbounds [3 x ptr], ptr %conditional.requirement.buffer, i32 0, i32 0 +// CHECK-NEXT: [[CONDITIONAL_REQUIREMENTS:%.*]] = getelementptr inbounds{{.*}} [3 x ptr], ptr %conditional.requirement.buffer, i32 0, i32 0 // CHECK-NEXT: [[C_P3_PTR:%.*]] = getelementptr inbounds ptr, ptr [[CONDITIONAL_REQUIREMENTS]], i32 0 // CHECK-NEXT: store ptr %U.P3, ptr [[C_P3_PTR]], align 8 // CHECK-NEXT: [[B_AT2_P2_PTR:%.*]] = getelementptr inbounds ptr, ptr [[CONDITIONAL_REQUIREMENTS]], i32 1 @@ -215,7 +215,7 @@ public func concrete_concrete() { // CHECK-NEXT: br i1 [[IS_NULL]], label %cacheIsNull, label %cont // CHECK: cacheIsNull: -// CHECK-NEXT: [[CONDITIONAL_REQUIREMENTS:%.*]] = getelementptr inbounds [3 x ptr], ptr %conditional.requirement.buffer, i32 0, i32 0 +// CHECK-NEXT: [[CONDITIONAL_REQUIREMENTS:%.*]] = getelementptr inbounds{{.*}} [3 x ptr], ptr %conditional.requirement.buffer, i32 0, i32 0 // CHECK-NEXT: [[C_P3_PTR:%.*]] = getelementptr inbounds ptr, ptr [[CONDITIONAL_REQUIREMENTS]], i32 0 // CHECK-NEXT: store ptr @"$s34conditional_conformance_with_assoc4IsP3VAA0F0AAWP", ptr [[C_P3_PTR]], align 8 // CHECK-NEXT: [[B_AT2_P2_PTR:%.*]] = getelementptr inbounds ptr, ptr [[CONDITIONAL_REQUIREMENTS]], i32 1 diff --git a/test/Interop/Cxx/class/closure-thunk-irgen.swift b/test/Interop/Cxx/class/closure-thunk-irgen.swift index 7745b4364d798..856777ac27996 100644 --- a/test/Interop/Cxx/class/closure-thunk-irgen.swift +++ b/test/Interop/Cxx/class/closure-thunk-irgen.swift @@ -5,10 +5,10 @@ import Closure // CHECK: define linkonce_odr hidden void @"$sSo10NonTrivialVIegn_ABIeyBX_TR"(ptr %[[V0:.*]], ptr %[[V1:.*]]) -// CHECK: %[[V2:.*]] = getelementptr inbounds { %{{.*}}, %{{.*}} }, ptr %[[V0]], i32 0, i32 1 -// CHECK-NEXT: %[[_FN:.*]] = getelementptr inbounds %{{.*}}, ptr %[[V2]], i32 0, i32 0 +// CHECK: %[[V2:.*]] = getelementptr inbounds{{.*}} { %{{.*}}, %{{.*}} }, ptr %[[V0]], i32 0, i32 1 +// CHECK-NEXT: %[[_FN:.*]] = getelementptr inbounds{{.*}} %{{.*}}, ptr %[[V2]], i32 0, i32 0 // CHECK-NEXT: %[[V3:.*]] = load ptr, ptr %[[_FN]], align 8 -// CHECK-NEXT: %[[_DATA:.*]] = getelementptr inbounds %{{.*}}, ptr %[[V2]], i32 0, i32 1 +// CHECK-NEXT: %[[_DATA:.*]] = getelementptr inbounds{{.*}} %{{.*}}, ptr %[[V2]], i32 0, i32 1 // CHECK-NEXT: %[[V4:.*]] = load ptr, ptr %[[_DATA]], align 8 // CHECK-NEXT: call ptr @swift_retain(ptr returned %[[V4]]) // CHECK-NEXT: call swiftcc void %[[V3]](ptr noalias dereferenceable(8) %[[V1]], ptr swiftself %[[V4]]) @@ -44,7 +44,7 @@ public func testClosureToFuncPtrReturnNonTrivial() { // CHECK: define swiftcc { ptr, ptr } @"$s4main13returnFuncPtrySo10NonTrivialVcyF"() // CHECK: %[[V0:.*]] = call ptr @_Z8getFnPtrv() // CHECK: %[[V1:.*]] = call noalias ptr @swift_allocObject(ptr getelementptr inbounds (%{{.*}}, ptr @{{.*}}, i32 0, i32 2), i64 24, i64 7) -// CHECK: %[[V2:.*]] = getelementptr inbounds <{ %{{.*}}, ptr }>, ptr %[[V1]], i32 0, i32 1 +// CHECK: %[[V2:.*]] = getelementptr inbounds{{.*}} <{ %{{.*}}, ptr }>, ptr %[[V1]], i32 0, i32 1 // CHECK: store ptr %[[V0]], ptr %[[V2]], align 8 // CHECK: %[[V3:.*]] = insertvalue { ptr, ptr } { ptr @"$sSo10NonTrivialVIetCX_ABIegn_TRTA{{(\.ptrauth)?}}", ptr undef }, ptr %[[V1]], 1 // CHECK: ret { ptr, ptr } %[[V3]] @@ -62,7 +62,7 @@ public func testClosureToFuncPtrReturnNonTrivial() { // CHECK-NEXT: ret void // CHECK: define internal swiftcc void @"$sSo10NonTrivialVIetCX_ABIegn_TRTA"(ptr noalias dereferenceable(8) %[[V0]], ptr swiftself %[[V1]]) -// CHECK: %[[V2]] = getelementptr inbounds <{ %{{.*}}, ptr }>, ptr %[[V1]], i32 0, i32 1 +// CHECK: %[[V2]] = getelementptr inbounds{{.*}} <{ %{{.*}}, ptr }>, ptr %[[V1]], i32 0, i32 1 // CHECK-NEXT: %[[V3]] = load ptr, ptr %[[V2]], align 8 // CHECK-NEXT: tail call swiftcc void @"$sSo10NonTrivialVIetCX_ABIegn_TR"(ptr noalias dereferenceable(8) %[[V0]], ptr %[[V3]]) // CHECK-NEXT: ret void diff --git a/test/Interop/Cxx/class/closure-thunk-macosx-irgen.swift b/test/Interop/Cxx/class/closure-thunk-macosx-irgen.swift index 2cc33bdd042d3..9dfe7846df1ee 100644 --- a/test/Interop/Cxx/class/closure-thunk-macosx-irgen.swift +++ b/test/Interop/Cxx/class/closure-thunk-macosx-irgen.swift @@ -9,10 +9,10 @@ import Closure // CHECK: ret void // CHECK: define linkonce_odr hidden void @"$sSo10NonTrivialVIegr_ABIeyBr_TR"(ptr noalias sret(%{{.*}}) %[[V0:.*]], ptr %[[V1:.*]]) -// CHECK: %[[V2:.*]] = getelementptr inbounds { %{{.*}}, %{{.*}} }, ptr %[[V1]], i32 0, i32 1 -// CHECK: %[[_FN:.*]] = getelementptr inbounds %{{.*}}, ptr %[[V2]], i32 0, i32 0 +// CHECK: %[[V2:.*]] = getelementptr inbounds{{.*}} { %{{.*}}, %{{.*}} }, ptr %[[V1]], i32 0, i32 1 +// CHECK: %[[_FN:.*]] = getelementptr inbounds{{.*}} %{{.*}}, ptr %[[V2]], i32 0, i32 0 // CHECK: %[[V3:.*]] = load ptr, ptr %[[_FN]], align 8 -// CHECK: %[[_DATA:.*]] = getelementptr inbounds %{{.*}}, ptr %[[V2]], i32 0, i32 1 +// CHECK: %[[_DATA:.*]] = getelementptr inbounds{{.*}} %{{.*}}, ptr %[[V2]], i32 0, i32 1 // CHECK: %[[V4:.*]] = load ptr, ptr %[[_DATA]], align 8 // CHECK: call ptr @swift_retain(ptr returned %[[V4]]) // CHECK: call swiftcc void %[[V3]](ptr noalias sret(%{{.*}}) %[[V0]], ptr swiftself %[[V4]]) diff --git a/test/Interop/Cxx/class/inheritance/fields-irgen.swift b/test/Interop/Cxx/class/inheritance/fields-irgen.swift index b18a39da3ce7d..7ce5472b0673d 100644 --- a/test/Interop/Cxx/class/inheritance/fields-irgen.swift +++ b/test/Interop/Cxx/class/inheritance/fields-irgen.swift @@ -11,4 +11,4 @@ let _ = testGetX() // CHECK: define {{.*}}linkonce_odr{{.*}} i32 @{{(.*)(30CopyTrackedDerivedDerivedClass33__synthesizedBaseGetterAccessor_x|__synthesizedBaseGetterAccessor_x@CopyTrackedDerivedDerivedClass)(.*)}}(ptr {{.*}} %[[THIS_PTR:.*]]) // CHECK: %[[ADD_PTR:.*]] = getelementptr inbounds i8, ptr %{{.*}}, i{{32|64}} 4 -// CHECK: %[[X:.*]] = getelementptr inbounds %class.CopyTrackedBaseClass, ptr %[[ADD_PTR]], i32 0, i32 0 +// CHECK: %[[X:.*]] = getelementptr inbounds{{.*}} %class.CopyTrackedBaseClass, ptr %[[ADD_PTR]], i32 0, i32 0 diff --git a/test/Interop/Cxx/class/memory-layout-silgen.swift b/test/Interop/Cxx/class/memory-layout-silgen.swift index d56a3ee81d2f5..22afb63089844 100644 --- a/test/Interop/Cxx/class/memory-layout-silgen.swift +++ b/test/Interop/Cxx/class/memory-layout-silgen.swift @@ -8,5 +8,5 @@ var v = PrivateMemberLayout() // words, we use Clang's, not Swift's view of the class to compute the memory // layout. // The important point here is that the second index is 1, not 0. -// CHECK: store i32 42, ptr getelementptr inbounds (%TSo19PrivateMemberLayoutV, ptr @"$s4main1vSo19PrivateMemberLayoutVvp", i32 0, i32 1), align 4 +// CHECK: store i32 42, ptr getelementptr inbounds{{.*}} (%TSo19PrivateMemberLayoutV, ptr @"$s4main1vSo19PrivateMemberLayoutVvp", i32 0, i32 1), align 4 v.b = 42 diff --git a/test/Interop/Cxx/class/move-only/inherited-field-access-irgen.swift b/test/Interop/Cxx/class/move-only/inherited-field-access-irgen.swift index 75643f9261883..8152635fa8d32 100644 --- a/test/Interop/Cxx/class/move-only/inherited-field-access-irgen.swift +++ b/test/Interop/Cxx/class/move-only/inherited-field-access-irgen.swift @@ -18,9 +18,9 @@ func testSetX(_ x: CInt) { testSetX(2) // CHECK: define {{.*}}linkonce_odr{{.*}} ptr @{{(.*)(31NonCopyableHolderDerivedDerived*33__synthesizedBaseGetterAccessor_x|__synthesizedBaseGetterAccessor_x@NonCopyableHolderDerivedDerived)(.*)}} -// CHECK: %[[VPTR:.*]] = getelementptr inbounds %struct.NonCopyableHolder +// CHECK: %[[VPTR:.*]] = getelementptr inbounds{{.*}} %struct.NonCopyableHolder // CHECK: ret ptr %[[VPTR]] // CHECK: define {{.*}}linkonce_odr{{.*}} ptr @{{(.*)(31NonCopyableHolderDerivedDerived33__synthesizedBaseSetterAccessor_x|__synthesizedBaseSetterAccessor_x@NonCopyableHolderDerivedDerived)(.*)}} -// CHECK: %[[VPTRS:.*]] = getelementptr inbounds %struct.NonCopyableHolder +// CHECK: %[[VPTRS:.*]] = getelementptr inbounds{{.*}} %struct.NonCopyableHolder // CHECK: ret ptr %[[VPTRS]] diff --git a/test/Interop/Cxx/class/type-classification-non-trivial-irgen.swift b/test/Interop/Cxx/class/type-classification-non-trivial-irgen.swift index ad62ecb3174d5..625c0a0618276 100644 --- a/test/Interop/Cxx/class/type-classification-non-trivial-irgen.swift +++ b/test/Interop/Cxx/class/type-classification-non-trivial-irgen.swift @@ -13,8 +13,8 @@ import TypeClassification // CHECK-LABEL: define {{.*}}i1 @"$s4main37testStructWithCopyConstructorAndValueSbyF" // CHECK: [[OBJ:%.*]] = alloca %TSo33StructWithCopyConstructorAndValueV // CHECK: call {{.*}}@{{_ZN33StructWithCopyConstructorAndValueC(1|2)Ei|"\?\?0StructWithCopyConstructorAndValue@@QEAA@H@Z"}}(ptr {{(noalias )?}}[[OBJ]], i32 42) -// CHECK: [[OBJ_VAL:%.*]] = getelementptr inbounds %TSo33StructWithCopyConstructorAndValueV, ptr [[OBJ]], i32 0, i32 0 -// CHECK: [[I_VAL:%.*]] = getelementptr inbounds %Ts5Int32V, ptr [[OBJ_VAL]], i32 0, i32 0 +// CHECK: [[OBJ_VAL:%.*]] = getelementptr inbounds{{.*}} %TSo33StructWithCopyConstructorAndValueV, ptr [[OBJ]], i32 0, i32 0 +// CHECK: [[I_VAL:%.*]] = getelementptr inbounds{{.*}} %Ts5Int32V, ptr [[OBJ_VAL]], i32 0, i32 0 // CHECK: [[I_VAL_VAL:%.*]] = load i32, ptr [[OBJ_VAL]] // CHECK: [[OUT:%.*]] = icmp eq i32 [[I_VAL_VAL]], 42 // CHECK: ret i1 [[OUT]] @@ -29,8 +29,8 @@ public func testStructWithCopyConstructorAndValue() -> Bool { // CHECK: alloca %TSo33StructWithCopyConstructorAndValueV // CHECK: [[TMP:%.*]] = alloca %TSo33StructWithCopyConstructorAndValueV // CHECK: call {{.*}}@{{_ZN33StructWithCopyConstructorAndValueC(1|2)Ei|"\?\?0StructWithCopyConstructorAndValue@@QEAA@H@Z"}}(ptr {{(noalias )?}}[[MEMBER]], i32 42) -// CHECK: [[TEMP_MEMBER:%.*]] = getelementptr inbounds %TSo33StructWithCopyConstructorAndValueV, ptr [[TMP]], i32 0, i32 0 -// CHECK: [[TEMP_MEMBER_VALUE:%.*]] = getelementptr inbounds %Ts5Int32V, ptr [[TEMP_MEMBER]], i32 0, i32 0 +// CHECK: [[TEMP_MEMBER:%.*]] = getelementptr inbounds{{.*}} %TSo33StructWithCopyConstructorAndValueV, ptr [[TMP]], i32 0, i32 0 +// CHECK: [[TEMP_MEMBER_VALUE:%.*]] = getelementptr inbounds{{.*}} %Ts5Int32V, ptr [[TEMP_MEMBER]], i32 0, i32 0 // CHECK: [[LHS:%.*]] = load i32, ptr [[TEMP_MEMBER_VALUE]] // CHECK: [[OUT:%.*]] = icmp eq i32 [[LHS]], 42 // CHECK: ret i1 [[OUT]] @@ -48,8 +48,8 @@ public func testStructWithSubobjectCopyConstructorAndValue() -> Bool { // CHECK: call {{.*}}@{{_ZN33StructWithCopyConstructorAndValueC(1|2)Ei|"\?\?0StructWithCopyConstructorAndValue@@QEAA@H@Z"}}(ptr {{(noalias )?}}[[MEMBER]], i32 42) // CHECK: call {{.*}}@{{_ZN33StructWithCopyConstructorAndValueC(1|2)ERKS_|"\?\?0StructWithCopyConstructorAndValue@@QEAA@AEBU0@@Z"}}(ptr [[TEMP]], ptr [[MEMBER]]) // CHECK: call {{.*}}@{{_ZN60StructWithCopyConstructorAndSubobjectCopyConstructorAndValueC(1|2)E33StructWithCopyConstructorAndValue|"\?\?0StructWithCopyConstructorAndSubobjectCopyConstructorAndValue@@QEAA@UStructWithCopyConstructorAndValue@@@Z"}}(ptr {{(noalias )?}}[[OBJ]], ptr [[TEMP]]) -// CHECK: [[TEMP_MEMBER:%.*]] = getelementptr inbounds %TSo33StructWithCopyConstructorAndValueV, ptr [[TEMP2]], i32 0, i32 0 -// CHECK: [[TEMP_MEMBER_VAL:%.*]] = getelementptr inbounds %Ts5Int32V, ptr [[TEMP_MEMBER]], i32 0, i32 0 +// CHECK: [[TEMP_MEMBER:%.*]] = getelementptr inbounds{{.*}} %TSo33StructWithCopyConstructorAndValueV, ptr [[TEMP2]], i32 0, i32 0 +// CHECK: [[TEMP_MEMBER_VAL:%.*]] = getelementptr inbounds{{.*}} %Ts5Int32V, ptr [[TEMP_MEMBER]], i32 0, i32 0 // CHECK: [[LHS:%.*]] = load i32, ptr [[TEMP_MEMBER_VAL]] // CHECK: [[OUT:%.*]] = icmp eq i32 [[LHS]], 42 // CHECK: ret i1 [[OUT]] @@ -63,8 +63,8 @@ public func testStructWithCopyConstructorAndSubobjectCopyConstructorAndValue() } // CHECK-LABEL: define {{.*}}i1 @"$s4main4test3objSbSo33StructWithCopyConstructorAndValueV_tF"(ptr noalias dereferenceable(4) %0) -// CHECK: [[VAL:%.*]] = getelementptr inbounds %TSo33StructWithCopyConstructorAndValueV, ptr %0, i32 0, i32 0 -// CHECK: [[VAL_VAL:%.*]] = getelementptr inbounds %Ts5Int32V, ptr [[VAL]], i32 0, i32 0 +// CHECK: [[VAL:%.*]] = getelementptr inbounds{{.*}} %TSo33StructWithCopyConstructorAndValueV, ptr %0, i32 0, i32 0 +// CHECK: [[VAL_VAL:%.*]] = getelementptr inbounds{{.*}} %Ts5Int32V, ptr [[VAL]], i32 0, i32 0 // CHECK: [[LHS:%.*]] = load i32, ptr [[VAL_VAL]] // CHECK: [[OUT:%.*]] = icmp eq i32 [[LHS]], 42 // CHECK: ret i1 [[OUT]] @@ -74,9 +74,9 @@ public func test(obj: StructWithCopyConstructorAndValue) -> Bool { // CHECK-LABEL: define {{.*}}i1 @"$s4main4test3objSbSo42StructWithSubobjectCopyConstructorAndValueV_tF"(ptr noalias dereferenceable(4) %0) // CHECK: [[TMP:%.*]] = alloca %TSo33StructWithCopyConstructorAndValueV -// CHECK: [[MEMBER:%.*]] = getelementptr inbounds %TSo42StructWithSubobjectCopyConstructorAndValueV, ptr %0, i32 0, i32 0 -// CHECK: [[VAL:%.*]] = getelementptr inbounds %TSo33StructWithCopyConstructorAndValueV, ptr [[TMP]], i32 0, i32 0 -// CHECK: [[VAL_VAL:%.*]] = getelementptr inbounds %Ts5Int32V, ptr [[VAL]], i32 0, i32 0 +// CHECK: [[MEMBER:%.*]] = getelementptr inbounds{{.*}} %TSo42StructWithSubobjectCopyConstructorAndValueV, ptr %0, i32 0, i32 0 +// CHECK: [[VAL:%.*]] = getelementptr inbounds{{.*}} %TSo33StructWithCopyConstructorAndValueV, ptr [[TMP]], i32 0, i32 0 +// CHECK: [[VAL_VAL:%.*]] = getelementptr inbounds{{.*}} %Ts5Int32V, ptr [[VAL]], i32 0, i32 0 // CHECK: [[LHS:%.*]] = load i32, ptr [[VAL_VAL]] // CHECK: [[OUT:%.*]] = icmp eq i32 [[LHS]], 42 // CHECK: ret i1 [[OUT]] @@ -86,8 +86,8 @@ public func test(obj: StructWithSubobjectCopyConstructorAndValue) -> Bool { // CHECK-LABEL: define {{.*}}i1 @"$s4main4test3objSbSo037StructWithCopyConstructorAndSubobjectfgH5ValueV_tF"(ptr noalias dereferenceable(4) %0) // CHECK:[[TEMP:%.*]] = alloca %TSo33StructWithCopyConstructorAndValueV -// CHECK:[[VAL:%.*]] = getelementptr inbounds %TSo33StructWithCopyConstructorAndValueV, ptr [[TEMP]], i32 0, i32 0 -// CHECK:[[VAL_VAL:%.*]] = getelementptr inbounds %Ts5Int32V, ptr [[VAL]], i32 0, i32 0 +// CHECK:[[VAL:%.*]] = getelementptr inbounds{{.*}} %TSo33StructWithCopyConstructorAndValueV, ptr [[TEMP]], i32 0, i32 0 +// CHECK:[[VAL_VAL:%.*]] = getelementptr inbounds{{.*}} %Ts5Int32V, ptr [[VAL]], i32 0, i32 0 // CHECK:[[LHS:%.*]] = load i32, ptr [[VAL_VAL]] // CHECK:[[OUT:%.*]] = icmp eq i32 [[LHS]], 42 // CHECK:ret i1 [[OUT]] diff --git a/test/Interop/Cxx/foreign-reference/base-class-layout-irgen.swift b/test/Interop/Cxx/foreign-reference/base-class-layout-irgen.swift index cfbda03cb9b2b..8866fb5db666e 100644 --- a/test/Interop/Cxx/foreign-reference/base-class-layout-irgen.swift +++ b/test/Interop/Cxx/foreign-reference/base-class-layout-irgen.swift @@ -5,7 +5,7 @@ import MemberLayout // CHECK: %TSo7IntBaseV = type <{ [4 x i8], %Ts5Int32V }> // CHECK-LABEL: define {{.*}}swiftcc i32 @"$s4testAA1ys5Int32VSo7IntBaseV_tF"(ptr %0) -// CHECK: getelementptr inbounds %TSo7IntBaseV, ptr %0, i32 0, i32 1 +// CHECK: getelementptr inbounds{{.*}} %TSo7IntBaseV, ptr %0, i32 0, i32 1 public func test(y: IntBase) -> CInt { return y.i } diff --git a/test/Interop/Cxx/foreign-reference/derived-field-getter-retainable-frt-irgen.swift b/test/Interop/Cxx/foreign-reference/derived-field-getter-retainable-frt-irgen.swift index a8eb643102929..aeacbd09db366 100644 --- a/test/Interop/Cxx/foreign-reference/derived-field-getter-retainable-frt-irgen.swift +++ b/test/Interop/Cxx/foreign-reference/derived-field-getter-retainable-frt-irgen.swift @@ -11,6 +11,6 @@ let _ = testGetX() // CHECK: define {{.*}}linkonce_odr{{.*}} ptr @{{.*}}__synthesizedBaseGetterAccessor_{{.*}}(ptr {{.*}} %[[THIS_PTR:.*]]) -// CHECK: %[[VALUE_PTR_PTR:.*]] = getelementptr inbounds %class.BaseFieldFRT, ptr %{{.*}}, i32 0, i32 0 +// CHECK: %[[VALUE_PTR_PTR:.*]] = getelementptr inbounds{{.*}} %class.BaseFieldFRT, ptr %{{.*}}, i32 0, i32 0 // CHECK: %[[VALUE_PTR:.*]] = load ptr, ptr %[[VALUE_PTR_PTR]] // CHECK: call void @{{.*}}retainRefCounted{{.*}}(ptr noundef %[[VALUE_PTR]]) diff --git a/test/Interop/Cxx/foreign-reference/pod-irgen.swift b/test/Interop/Cxx/foreign-reference/pod-irgen.swift index 5354911f559aa..d1d17254381aa 100644 --- a/test/Interop/Cxx/foreign-reference/pod-irgen.swift +++ b/test/Interop/Cxx/foreign-reference/pod-irgen.swift @@ -13,8 +13,8 @@ import POD // CHECK: [[CREATED:%.*]] = call ptr @{{_ZN7IntPair6createEv|"\?create\@IntPair\@\@SAPEAU1\@XZ"}}() // CHECK: store ptr [[CREATED]], ptr [[X]] -// CHECK: [[B_FIELD:%.*]] = getelementptr inbounds %TSo7IntPairV, ptr [[CREATED]], i32 0, i32 1 -// CHECK: [[INT_VALUE:%.*]] = getelementptr inbounds %Ts5Int32V, ptr [[B_FIELD]], i32 0, i32 0 +// CHECK: [[B_FIELD:%.*]] = getelementptr inbounds{{.*}} %TSo7IntPairV, ptr [[CREATED]], i32 0, i32 1 +// CHECK: [[INT_VALUE:%.*]] = getelementptr inbounds{{.*}} %Ts5Int32V, ptr [[B_FIELD]], i32 0, i32 0 // CHECK: store i32 42, ptr [[INT_VALUE]], align 4 // CHECK: call i32 @{{_ZNK7IntPair4testEv|"\?test\@IntPair\@\@QEBAHXZ"}}(ptr [[CREATED]]) diff --git a/test/Interop/Cxx/foreign-reference/unimportable-member-layout-irgen.swift b/test/Interop/Cxx/foreign-reference/unimportable-member-layout-irgen.swift index 37122a035e1b2..c6057f082dead 100644 --- a/test/Interop/Cxx/foreign-reference/unimportable-member-layout-irgen.swift +++ b/test/Interop/Cxx/foreign-reference/unimportable-member-layout-irgen.swift @@ -11,25 +11,25 @@ import MemberLayout // CHECK: %TSo23UnimportableMemberValueV = type <{ %Ts5Int32V, %Ts5Int32V, [8 x i8], %Ts5Int32V }> // CHECK-LABEL: define {{.*}}swiftcc i8 @"$s4testAA1ys4Int8VSo10IntCharRefV_tF"(ptr %0) -// CHECK: getelementptr inbounds %TSo10IntCharRefV, ptr %0, i32 0, i32 1 +// CHECK: getelementptr inbounds{{.*}} %TSo10IntCharRefV, ptr %0, i32 0, i32 1 public func test(y: IntCharRef) -> CChar { return y.b } // CHECK-LABEL: define {{.*}}swiftcc i8 @"$s4testAA1ys4Int8VSo12IntCharValueV_tF"(ptr %0) -// CHECK: getelementptr inbounds %TSo12IntCharValueV, ptr %0, i32 0, i32 1 +// CHECK: getelementptr inbounds{{.*}} %TSo12IntCharValueV, ptr %0, i32 0, i32 1 public func test(y: IntCharValue) -> CChar { return y.b } // CHECK-LABEL: define {{.*}}swiftcc i32 @"$s4testAA1ys5Int32VSo21UnimportableMemberRefV_tF"(ptr %0) -// CHECK: getelementptr inbounds %TSo21UnimportableMemberRefV, ptr %0, i32 0, i32 3 +// CHECK: getelementptr inbounds{{.*}} %TSo21UnimportableMemberRefV, ptr %0, i32 0, i32 3 public func test(y: UnimportableMemberRef) -> CInt { return y.y } // CHECK-LABEL: define {{.*}}swiftcc i32 @"$s4testAA1ys5Int32VSo23UnimportableMemberValueV_tF"(ptr %0) -// CHECK: getelementptr inbounds %TSo23UnimportableMemberValueV, ptr %0, i32 0, i32 3 +// CHECK: getelementptr inbounds{{.*}} %TSo23UnimportableMemberValueV, ptr %0, i32 0, i32 3 public func test(y: UnimportableMemberValue) -> CInt { return y.y } diff --git a/test/Interop/Cxx/operators/member-inline-irgen.swift b/test/Interop/Cxx/operators/member-inline-irgen.swift index c3f5472ab4ba7..33b7e9d394e58 100644 --- a/test/Interop/Cxx/operators/member-inline-irgen.swift +++ b/test/Interop/Cxx/operators/member-inline-irgen.swift @@ -24,7 +24,7 @@ public func index(_ arr: inout ReadOnlyIntArray, _ arg: Int32) -> Int32 { arr[ar // CHECK: call ptr [[NAME:@(_ZNK16ReadOnlyIntArrayixEi|"\?\?AReadOnlyIntArray@@QEBAAEBHH@Z")]](ptr {{.*}}, {{i32|i64}}{{.*}}) // CHECK: define {{.*}}ptr [[NAME]](ptr {{.*}}, {{i32|\[1 x i32\]|i64|%struct.ReadOnlyIntArray\* byval\(%struct.ReadOnlyIntArray\)}}{{.*}}) // CHECK: [[THIS:%.*]] = load ptr, ptr -// CHECK: [[VALUES:%.*]] = getelementptr inbounds %struct.ReadOnlyIntArray, ptr [[THIS]] +// CHECK: [[VALUES:%.*]] = getelementptr inbounds{{.*}} %struct.ReadOnlyIntArray, ptr [[THIS]] // CHECK: [[VALUE:%.*]] = getelementptr inbounds [5 x {{i32|i64}}], ptr [[VALUES]] // CHECK: ret ptr [[VALUE]] @@ -33,7 +33,7 @@ public func index(_ arr: inout ReadWriteIntArray, _ arg: Int32, _ val: Int32) { // CHECK: call ptr [[NAME:@(_ZN17ReadWriteIntArrayixEi|"\?\?AReadWriteIntArray@@QEAAAEAHH@Z")]](ptr {{.*}}, {{i32|i64}}{{.*}}) // CHECK: define {{.*}}ptr [[NAME]](ptr {{.*}}, {{i32|\[1 x i32\]|i64|%struct.ReadWriteIntArray\* byval\(%struct.ReadWriteIntArray\)}}{{.*}}) // CHECK: [[THIS:%.*]] = load ptr, ptr -// CHECK: [[VALUES:%.*]] = getelementptr inbounds %struct.ReadWriteIntArray, ptr [[THIS]] +// CHECK: [[VALUES:%.*]] = getelementptr inbounds{{.*}} %struct.ReadWriteIntArray, ptr [[THIS]] // CHECK: [[VALUE:%.*]] = getelementptr inbounds [5 x {{i32|i64}}], ptr [[VALUES]] // CHECK: ret ptr [[VALUE]] @@ -44,7 +44,7 @@ public func index(_ arr: inout NonTrivialIntArrayByVal, _ arg: Int32) -> Int32 { // CHECK: define {{.*}}[[RES:i32|i64]] [[NAME]](ptr {{.*}}, {{i32|\[1 x i32\]|i64|%struct.NonTrivialIntArrayByVal\* byval\(%struct.NonTrivialIntArrayByVal\)}}{{.*}}) // CHECK: [[THIS:%.*]] = load ptr, ptr -// CHECK: [[VALUES:%.*]] = getelementptr inbounds %struct.NonTrivialIntArrayByVal, ptr [[THIS]] +// CHECK: [[VALUES:%.*]] = getelementptr inbounds{{.*}} %struct.NonTrivialIntArrayByVal, ptr [[THIS]] // CHECK: [[VALUE:%.*]] = getelementptr inbounds [5 x {{i32|i64}}], ptr [[VALUES]] // CHECK: [[VALUE2:%.*]] = load {{i32|i64}}, ptr [[VALUE]] // CHECK: ret {{i32|i64}} [[VALUE2]] diff --git a/test/ModuleInterface/private-stored-member-type-layout.swift b/test/ModuleInterface/private-stored-member-type-layout.swift index fba3799c8b993..494aa191c920f 100644 --- a/test/ModuleInterface/private-stored-member-type-layout.swift +++ b/test/ModuleInterface/private-stored-member-type-layout.swift @@ -28,17 +28,17 @@ import PrivateStoredMembers // CHECK-EXEC: swiftcc void @"$s{{[^ ]+}}8makeUseryyF"() #0 { public func makeUser() { let ptr = UnsafeMutablePointer.allocate(capacity: 1) - // CHECK-EXEC: %.publicEndVar = getelementptr inbounds [[MYSTRUCT]], ptr %{{[0-9]+}}, i32 0, i32 [[PUBLIC_END_VAR_IDX:12]] - // CHECK-EXEC: %.publicEndVar._value = getelementptr inbounds %Ts5Int64V, ptr %.publicEndVar, i32 0, i32 0 + // CHECK-EXEC: %.publicEndVar = getelementptr inbounds{{.*}} [[MYSTRUCT]], ptr %{{[0-9]+}}, i32 0, i32 [[PUBLIC_END_VAR_IDX:12]] + // CHECK-EXEC: %.publicEndVar._value = getelementptr inbounds{{.*}} %Ts5Int64V, ptr %.publicEndVar, i32 0, i32 0 // CHECK-EXEC: store i64 4, ptr %.publicEndVar._value ptr.pointee.publicEndVar = 4 - // CHECK-EXEC: %.publicEndVar1 = getelementptr inbounds [[MYSTRUCT]], ptr %{{[0-9]+}}, i32 0, i32 [[PUBLIC_END_VAR_IDX]] - // CHECK-EXEC: %.publicEndVar1._value = getelementptr inbounds %Ts5Int64V, ptr %.publicEndVar1, i32 0, i32 0 + // CHECK-EXEC: %.publicEndVar1 = getelementptr inbounds{{.*}} [[MYSTRUCT]], ptr %{{[0-9]+}}, i32 0, i32 [[PUBLIC_END_VAR_IDX]] + // CHECK-EXEC: %.publicEndVar1._value = getelementptr inbounds{{.*}} %Ts5Int64V, ptr %.publicEndVar1, i32 0, i32 0 // CHECK-EXEC: [[PUBLIC_END_VAR_LOAD:%[0-9]+]] = load i64, ptr %.publicEndVar1._value, align 8 - // CHECK-EXEC: %.publicVar = getelementptr inbounds [[MYSTRUCT]], ptr %{{[0-9]+}}, i32 0, i32 0 - // CHECK-EXEC: %.publicVar._value = getelementptr inbounds %Ts5Int64V, ptr %.publicVar, i32 0, i32 0 + // CHECK-EXEC: %.publicVar = getelementptr inbounds{{.*}} [[MYSTRUCT]], ptr %{{[0-9]+}}, i32 0, i32 0 + // CHECK-EXEC: %.publicVar._value = getelementptr inbounds{{.*}} %Ts5Int64V, ptr %.publicVar, i32 0, i32 0 // CHECK-EXEC: store i64 [[PUBLIC_END_VAR_LOAD]], ptr %.publicVar._value, align 8 ptr.pointee.publicVar = ptr.pointee.publicEndVar ptr.deallocate()