|
70 | 70 | }
|
71 | 71 | // CHECK-LABEL: define swiftcc void @test_accesses(%swift.type* %T, i8** %T.Q)
|
72 | 72 | // Fetch T.Assoc.
|
73 |
| -// CHECK: %T.Assoc = extractvalue %swift.metadata_response [[TMP:%.*]], 0 |
| 73 | +// CHECK: [[T_ASSOC:%.*]] = extractvalue %swift.metadata_response [[TMP:%.*]], 0 |
74 | 74 | // CHECK-NEXT: {{%.*}} = extractvalue %swift.metadata_response [[TMP]], 1
|
75 | 75 | // Fetch T.Assoc : P.
|
76 |
| -// CHECK-NEXT: %T.Assoc.P = call swiftcc i8** @swift_getAssociatedConformanceWitness(i8** %T.Q, %swift.type* %T, %swift.type* %T.Assoc |
| 76 | +// CHECK-NEXT: %T.Assoc.P = call swiftcc i8** @swift_getAssociatedConformanceWitness(i8** %T.Q, %swift.type* %T, %swift.type* [[T_ASSOC]] |
77 | 77 | // Fetch T.Assoc.foo
|
78 | 78 | // CHECK-NEXT: [[T0:%.*]] = getelementptr inbounds i8*, i8** %T.Assoc.P, i32 1
|
79 | 79 | // CHECK-NEXT: [[T1:%.*]] = load i8*, i8** [[T0]], align 8
|
80 | 80 | // CHECK-NEXT: [[FOO:%.*]] = bitcast i8* [[T1]] to void (%swift.type*, %swift.type*, i8**)*
|
81 | 81 | // CHECK-NEXT: [[T1:%.*]] = ptrtoint i8** [[T0]] to i64
|
82 | 82 | // CHECK-NEXT: [[DISC:%.*]] = call i64 @llvm.ptrauth.blend.i64(i64 [[T1]], i64 53700)
|
83 | 83 | // TODO: be smart about this and do a complete-metadata fetch in the first place
|
84 |
| -// CHECK-NEXT: [[ASSOC_RESPONSE:%.*]] = call swiftcc %swift.metadata_response @swift_checkMetadataState(i64 0, %swift.type* %T.Assoc) |
| 84 | +// CHECK-NEXT: [[ASSOC_RESPONSE:%.*]] = call swiftcc %swift.metadata_response @swift_checkMetadataState(i64 0, %swift.type* [[T_ASSOC]]) |
85 | 85 | // CHECK-NEXT: [[ASSOC:%.*]] = extractvalue %swift.metadata_response [[ASSOC_RESPONSE]], 0
|
86 | 86 | // CHECK-NEXT: call swiftcc void [[FOO]](%swift.type* swiftself [[ASSOC]], %swift.type* [[ASSOC]], i8** %T.Assoc.P) [ "ptrauth"(i32 0, i64 [[DISC]]) ]
|
87 | 87 | // CHECK-NEXT: ret void
|
|
0 commit comments