Skip to content

Commit 59f2708

Browse files
committed
Fix some IRGen tests on arm64e
1 parent ec09cb5 commit 59f2708

File tree

4 files changed

+8
-6
lines changed

4 files changed

+8
-6
lines changed

test/IRGen/async/hop_to_executor.sil

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,9 @@ import _Concurrency
2222
// CHECK: [[CTX:%[0-9+]+]] = load ptr, ptr [[CTX_ADDR]], align 8
2323
// CHECK: [[CONT_ADDR:%[0-9]+]] = getelementptr inbounds <{ ptr, ptr }>, ptr [[CTX]], i32 0, i32 1
2424
// CHECK: [[RET_CONTINUATION:%.*]] = load ptr, ptr [[CONT_ADDR]], align 8
25+
// CHECK-arm64e: [[T0:%.*]] = ptrtoint ptr [[RET_CONTINUATION]] to i64
26+
// CHECK-arm64e: [[T1:%.*]] = call i64 @llvm.ptrauth.auth(i64 [[T0]]
27+
// CHECK-arm64e: [[RET_CONTINUATION:%.*]] = inttoptr i64 [[T1]] to ptr
2528
// CHECK: call i1 (ptr, i1, ...) @llvm.coro.end.async(ptr {{.*}}, i1 false, ptr @[[TAIL_CALL_FUNC:.*]], ptr [[RET_CONTINUATION]]
2629
// CHECK: unreachable
2730

test/IRGen/enum_resilience.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -307,12 +307,12 @@ extension ResilientMultiPayloadGenericEnum {
307307
// CHECK-LABEL: define{{( dllexport)?}}{{( protected)?}} swiftcc void @"$s15enum_resilience39constructExhaustiveWithResilientMembers010resilient_A011SimpleShapeOyF"(ptr noalias nocapture sret({{.*}}) %0)
308308
// CHECK: [[T0:%.*]] = call swiftcc %swift.metadata_response @"$s16resilient_struct4SizeVMa"([[INT]] 0)
309309
// CHECK-NEXT: [[METADATA:%.*]] = extractvalue %swift.metadata_response [[T0]], 0
310-
// CHECK-arm64e-NEXT: ptrtoint ptr {{.*}} to i64
311-
// CHECK-arm64e-NEXT: call i64 @llvm.ptrauth.blend
312310
// CHECK-NEXT: [[WITNESSTABLE_ADDR:%[0-9]+]] = getelementptr inbounds ptr, ptr [[METADATA]], i64 -1
313311
// CHECK-NEXT: %.valueWitnesses = load ptr, ptr [[WITNESSTABLE_ADDR]]
314312
// CHECK-NEXT: [[WITNESS_ADDR:%[0-9]+]] = getelementptr inbounds ptr, ptr %.valueWitnesses, i32 7
315313
// CHECK-NEXT: [[WITNESS_FN:%[0-9]+]] = load ptr, ptr [[WITNESS_ADDR]]
314+
// CHECK-arm64e-NEXT: ptrtoint ptr {{.*}} to i64
315+
// CHECK-arm64e-NEXT: call i64 @llvm.ptrauth.blend
316316
// CHECK-NEXT: call void [[WITNESS_FN]](ptr noalias %0, i32 1, i32 1, ptr [[METADATA]])
317317
// CHECK-NEXT: ret void
318318
// CHECK-NEXT: {{^}$}}

test/IRGen/opaque_values_irgen.sil

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,10 @@ sil_stage raw
77
// CHECK: define hidden swiftcc void @f010_irgen_identity(ptr noalias nocapture sret({{.*}}) %0, ptr noalias nocapture %1, ptr %T)
88
// CHECK: entry:
99
// CHECK-NOT: call
10-
// CHECK-arm64e: call i64 @llvm.ptrauth.blend
1110
// CHECK-NOT: call
1211
// CHECK: [[InitializeWithTake_ADDR:%.*]] = getelementptr inbounds ptr, ptr %T.valueWitnesses
1312
// CHECK: [[InitializeWithTake:%.*]] = load ptr, ptr [[InitializeWithTake_ADDR]]
13+
// CHECK-arm64e: call i64 @llvm.ptrauth.blend
1414
// CHECK: %{{.*}} = call ptr [[InitializeWithTake]](ptr noalias %0, ptr noalias %1, ptr %T)
1515
// CHECK-NOT: call
1616
// CHECK: ret void

test/IRGen/relative_protocol_witness_table.swift

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -252,7 +252,7 @@ func instantiate_conditional_conformance_2nd<T>(_ t : T) where T: Sub, T.S == T
252252
// CHECK:[[L2]]:
253253
// CHECK-arm64e: [[P0:%.*]] = ptrtoint ptr [[T_INHERITED]] to i64
254254
// CHECK-arm64e: [[P1:%.*]] = call i64 @llvm.ptrauth.auth(i64 [[P0]], i32 2, i64 47152)
255-
// CHECK-arm64e: [[P2:%.*]] = inttoptr i64 [[P1]] to ptr
255+
// CHECK-arm64e: [[T_INHERITED:%.*]] = inttoptr i64 [[P1]] to ptr
256256
// CHECK: [[T9:%.*]] = getelementptr inbounds i32, ptr [[T_INHERITED]], i32 1
257257
// CHECK: [[T10:%.*]] = load i32, ptr [[T9]]
258258
// CHECK: [[T11:%.*]] = sext i32 [[T10]] to i64
@@ -261,12 +261,11 @@ func instantiate_conditional_conformance_2nd<T>(_ t : T) where T: Sub, T.S == T
261261
// CHECK: [[T14:%.*]] = inttoptr i64 [[T13]] to ptr
262262
// CHECK-arm64e: [[T16:%.*]] = ptrtoint ptr [[T14]] to i64
263263
// CHECK-arm64e: [[T17:%.*]] = call i64 @llvm.ptrauth.sign(i64 [[T16]], i32 2, i64 47152)
264-
// CHECK-arm64e: [[T15:%.*]] = inttoptr i64 [[T17]] to ptr
264+
// CHECK-arm64e: [[T14:%.*]] = inttoptr i64 [[T17]] to ptr
265265
// CHECK: br label %[[L3:.*]]
266266

267267
// CHECK:[[L3]]:
268268
// CHECK: phi ptr [ [[T6]], %[[L1]] ], [ [[T14]], %[[L2]] ]
269-
// CHECK-arm64e: phi ptr [ [[T6]], %[[L1]] ], [ [[T15]], %[[L2]] ]
270269

271270
// Passing the witness table.
272271

0 commit comments

Comments
 (0)