Skip to content

Commit 88579b2

Browse files
committed
[IRGen] NFC: Print vwitness name in IR.
It eases reading the code. Updated a few tests that were overly strict (requiring registers to be named with only numbers) to accept more register names.
1 parent 29acda5 commit 88579b2

File tree

7 files changed

+13
-12
lines changed

7 files changed

+13
-12
lines changed

lib/IRGen/GenOpaque.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -461,6 +461,7 @@ static FunctionPointer emitLoadOfValueWitnessFunction(IRGenFunction &IGF,
461461
IGF.getOptions().PointerAuth.ValueWitnesses,
462462
slot, index);
463463

464+
witness->setName(getValueWitnessName(index));
464465
return FunctionPointer::createSigned(FunctionPointer::Kind::Function, witness,
465466
authInfo, signature);
466467
}

test/IRGen/enum_dynamic_multi_payload.sil

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -332,7 +332,7 @@ entry(%a : $*EitherOr<T, Builtin.Int64>, %b : $*EitherOr<T, Builtin.Int64>):
332332
// CHECK-NEXT: br i1 [[COND]], label %[[NOOP:[0-9]+]], label %[[LEFT:[0-9]+]]
333333
// CHECK: [[LEFT]]:
334334
// CHECK: [[DESTROYADDR:%[0-9]+]] = getelementptr inbounds ptr, ptr %T.valueWitnesses, i32 1
335-
// CHECK: [[DESTROY:%[0-9]+]] = load ptr, ptr [[DESTROYADDR]]
335+
// CHECK: [[DESTROY:%[^,]+]] = load ptr, ptr [[DESTROYADDR]]
336336
// CHECK: call void [[DESTROY]](ptr noalias {{%[0-9]+}}, ptr %T)
337337
// CHECK: br label %[[NOOP]]
338338
// CHECK: [[NOOP]]:
@@ -344,7 +344,7 @@ entry(%a : $*EitherOr<T, Builtin.Int64>, %b : $*EitherOr<T, Builtin.Int64>):
344344
// CHECK-NEXT: br i1 [[COND]], label %[[TRIVIAL:[0-9]+]], label %[[LEFT:[0-9]+]]
345345
// CHECK: [[LEFT]]:
346346
// CHECK: [[INITWITHTAKEADDR:%[0-9]+]] = getelementptr inbounds ptr, ptr %T.valueWitnesses, i32 4
347-
// CHECK: [[INITWITHTAKE:%[0-9]+]] = load ptr, ptr [[INITWITHTAKEADDR]]
347+
// CHECK: [[INITWITHTAKE:%[^,]+]] = load ptr, ptr [[INITWITHTAKEADDR]]
348348
// CHECK: {{%[0-9]+}} = call ptr [[INITWITHTAKE]](ptr noalias {{%[0-9]+}}, ptr noalias {{%[0-9]+}}, ptr %T)
349349
// CHECK: br label %[[DONE:[0-9]+]]
350350
// CHECK: [[TRIVIAL]]:
@@ -371,7 +371,7 @@ entry(%a : $*EitherOr<T, C>, %b : $*EitherOr<T, C>):
371371
// CHECK-NEXT: ]
372372
// CHECK: [[LEFT]]:
373373
// CHECK: [[DESTROYADDR:%[0-9]+]] = getelementptr inbounds ptr, ptr %T.valueWitnesses, i32 1
374-
// CHECK: [[DESTROY:%[0-9]+]] = load ptr, ptr [[DESTROYADDR]]
374+
// CHECK: [[DESTROY:%[^,]+]] = load ptr, ptr [[DESTROYADDR]]
375375
// CHECK: call void [[DESTROY]](ptr noalias {{%[0-9]+}}, ptr %T)
376376
// CHECK: br label %[[NOOP]]
377377
// CHECK: [[RIGHT]]:
@@ -385,7 +385,7 @@ entry(%a : $*EitherOr<T, C>, %b : $*EitherOr<T, C>):
385385
// CHECK-NEXT: br i1 [[COND]], label %[[TRIVIAL:[0-9]+]], label %[[LEFT:[0-9]+]]
386386
// CHECK: [[LEFT]]:
387387
// CHECK: [[INITWITHTAKEADDR:%[0-9]+]] = getelementptr inbounds ptr, ptr %T.valueWitnesses, i32 4
388-
// CHECK: [[INITWITHTAKE:%[0-9]+]] = load ptr, ptr [[INITWITHTAKEADDR]]
388+
// CHECK: [[INITWITHTAKE:%[^,]+]] = load ptr, ptr [[INITWITHTAKEADDR]]
389389
// CHECK: {{%[0-9]+}} = call ptr [[INITWITHTAKE]](ptr noalias {{%[0-9]+}}, ptr noalias {{%[0-9]+}}, ptr %T)
390390
// CHECK: br label %[[DONE:[0-9]+]]
391391
// CHECK: [[TRIVIAL]]:
@@ -402,7 +402,7 @@ entry(%a : $*EitherOr<T, C>, %b : $*EitherOr<T, C>):
402402
// CHECK-NEXT: ]
403403
// CHECK: [[LEFT]]:
404404
// CHECK: [[INITWITHCOPYADDR:%[0-9]+]] = getelementptr inbounds ptr, ptr %T.valueWitnesses, i32 2
405-
// CHECK: [[INITWITHCOPY:%[0-9]+]] = load ptr, ptr [[INITWITHCOPYADDR]]
405+
// CHECK: [[INITWITHCOPY:%[^,]+]] = load ptr, ptr [[INITWITHCOPYADDR]]
406406
// CHECK: {{%[0-9]+}} = call ptr [[INITWITHCOPY]](ptr noalias {{%[0-9]+}}, ptr noalias {{%[0-9]+}}, ptr %T)
407407
// CHECK: br label %[[DONE:[0-9]+]]
408408
// CHECK: [[RIGHT]]:

test/IRGen/enum_resilience.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -310,7 +310,7 @@ extension ResilientMultiPayloadGenericEnum {
310310
// CHECK-NEXT: [[WITNESSTABLE_ADDR:%[0-9]+]] = getelementptr inbounds ptr, ptr [[METADATA]], {{(i64|i32)}} -1
311311
// CHECK-NEXT: %.valueWitnesses = load ptr, ptr [[WITNESSTABLE_ADDR]]
312312
// CHECK-NEXT: [[WITNESS_ADDR:%[0-9]+]] = getelementptr inbounds ptr, ptr %.valueWitnesses, i32 7
313-
// CHECK-NEXT: [[WITNESS_FN:%[0-9]+]] = load ptr, ptr [[WITNESS_ADDR]]
313+
// CHECK-NEXT: [[WITNESS_FN:%[^,]+]] = load ptr, ptr [[WITNESS_ADDR]]
314314
// CHECK-arm64e-NEXT: ptrtoint ptr {{.*}} to i64
315315
// CHECK-arm64e-NEXT: call i64 @llvm.ptrauth.blend
316316
// CHECK-NEXT: call void [[WITNESS_FN]](ptr noalias %0, i32 1, i32 1, ptr [[METADATA]])

test/IRGen/typed_throws.sil

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -346,7 +346,7 @@ bb0(%0: $*τ_0_0, %1 : $Builtin.Int64, %2 : $*τ_0_0):
346346
}
347347

348348
// CHECK: define{{.*}} swifttailcc void @throwErrorAsync(ptr swiftasync %0, i64 %1, ptr noalias %2, ptr %"\CF\84_0_0", ptr %3)
349-
// CHECK: call ptr {{%[0-9]+}}(ptr noalias %3, ptr noalias %2, ptr %"\CF\84_0_0")
349+
// CHECK: call ptr {{%[^,]+}}(ptr noalias %3, ptr noalias %2, ptr %"\CF\84_0_0")
350350
// CHECK: call i1 (ptr, i1, ...) @llvm.coro.end.async(ptr {{%[0-9]+}}, i1 false, ptr @throwErrorAsync.0, ptr {{%[0-9]+}}, ptr {{%[0-9]+}}, ptr inttoptr (i64 1 to ptr))
351351

352352
sil @throwErrorAsync : $@convention(thin) @async <τ_0_0> (Builtin.Int64, @in τ_0_0) -> @error_indirect τ_0_0 {

test/IRGen/weak_import_native_hoist.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ public func test_not_hoist_weakly_linked4() {
6363
}
6464

6565
// CHECK-LABEL: define {{.*}} @"$s24weak_import_native_hoist29test_weakly_linked_enum_cases1eSi0a1_b1_c1_D7_helper1EO_tF
66-
// CHECK: [[TAG:%.*]] = call i32 %{{[0-9]+}}(
66+
// CHECK: [[TAG:%.*]] = call i32 %{{[^,]+}}(
6767
// CHECK: [[STRONG_CASE:%.*]] = load i32, ptr @"$s31weak_import_native_hoist_helper1EO6strongyA2CmFWC"
6868
// CHECK: [[IS_STRONG:%.*]] = icmp eq i32 [[TAG]], [[STRONG_CASE]]
6969
// CHECK: br i1 [[IS_STRONG]], label %[[BB0:[0-9]+]], label %[[BB1:[0-9]+]]

test/SILOptimizer/eager_specialize.sil

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -721,10 +721,10 @@ bb0(%0 : $*Self, %1 : $*Self, %2 : $@thick Self.Type):
721721
// CHECK-IRGEN: %3 = getelementptr inbounds ptr, ptr %S, i{{.*}} -1
722722
// CHECK-IRGEN-NEXT: %S.valueWitnesses = load ptr, ptr %3
723723
// CHECK-IRGEN-NEXT: %4 = getelementptr inbounds ptr, ptr %S.valueWitnesses
724-
// CHECK-IRGEN-NEXT: %5 = load ptr, ptr %4
724+
// CHECK-IRGEN-NEXT: %InitializeWithCopy = load ptr, ptr %4
725725
// CHECK-IRGEN-arm64e-NEXT: ptrtoint ptr %4 to i64
726726
// CHECK-IRGEN-arm64e-NEXT: call i64 @llvm.ptrauth.blend.i64
727-
// CHECK-IRGEN-NEXT: call {{.*}} %5
727+
// CHECK-IRGEN-NEXT: call {{.*}} %InitializeWithCopy
728728
// CHECK-IRGEN-NEXT: ret void
729729
// CHECK-IRGEN-NEXT: }
730730

test/SILOptimizer/eager_specialize_ossa.sil

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -909,10 +909,10 @@ bb0(%0 : $*Self, %1 : $*Self, %2 : $@thick Self.Type):
909909
// CHECK-IRGEN: %3 = getelementptr inbounds ptr, ptr %S, i{{.*}} -1
910910
// CHECK-IRGEN-NEXT: %S.valueWitnesses = load ptr, ptr %3
911911
// CHECK-IRGEN-NEXT: %4 = getelementptr inbounds ptr, ptr %S.valueWitnesses
912-
// CHECK-IRGEN-NEXT: %5 = load ptr, ptr %4
912+
// CHECK-IRGEN-NEXT: %InitializeWithCopy = load ptr, ptr %4
913913
// CHECK-IRGEN-arm64e-NEXT: ptrtoint ptr %4 to i64
914914
// CHECK-IRGEN-arm64e-NEXT: call i64 @llvm.ptrauth.blend.i64
915-
// CHECK-IRGEN-NEXT: call {{.*}} %5
915+
// CHECK-IRGEN-NEXT: call {{.*}} %InitializeWithCopy
916916
// CHECK-IRGEN-NEXT: ret void
917917
// CHECK-IRGEN-NEXT: }
918918

0 commit comments

Comments
 (0)