@@ -41,8 +41,8 @@ struct GenericWithUniversal<T> : Assocked {
41
41
// Witness table for Fulfilled : Assocked.
42
42
// GLOBAL-LABEL: @_T023associated_type_witness9FulfilledVyxGAA8AssockedAaA1PRzAA1QRzlWP = hidden constant [3 x i8*] [
43
43
// GLOBAL-SAME: i8* bitcast (%swift.type* (%swift.type*, i8**)* @_T023associated_type_witness9FulfilledVyxGAA8AssockedAaA1PRzAA1QRzl5AssocWt to i8*)
44
- // GLOBAL-SAME: i8* bitcast (i8** (%swift.type*, %swift.type*, i8**)* @_T023associated_type_witness9FulfilledVyxGAA8AssockedAaA1PRzAA1QRzl5AssocAaEPWT to i8*)
45
44
// GLOBAL-SAME: i8* bitcast (i8** (%swift.type*, %swift.type*, i8**)* @_T023associated_type_witness9FulfilledVyxGAA8AssockedAaA1PRzAA1QRzl5AssocAaFPWT to i8*)
45
+ // GLOBAL-SAME: i8* bitcast (i8** (%swift.type*, %swift.type*, i8**)* @_T023associated_type_witness9FulfilledVyxGAA8AssockedAaA1PRzAA1QRzl5AssocAaGPWT to i8*)
46
46
// GLOBAL-SAME: ]
47
47
struct Fulfilled < T : P & Q > : Assocked {
48
48
typealias Assoc = T
@@ -56,14 +56,14 @@ struct Fulfilled<T : P & Q> : Assocked {
56
56
// CHECK-NEXT: ret %swift.type* [[T2]]
57
57
58
58
// Associated type witness table access function for Fulfilled.Assoc : P.
59
- // CHECK-LABEL: define internal i8** @_T023associated_type_witness9FulfilledVyxGAA8AssockedAaA1PRzAA1QRzl5AssocAaEPWT (%swift.type* %"Fulfilled<T>.Assoc", %swift.type* %"Fulfilled<T>", i8** %"Fulfilled<T>.Assocked")
59
+ // CHECK-LABEL: define internal i8** @_T023associated_type_witness9FulfilledVyxGAA8AssockedAaA1PRzAA1QRzl5AssocAaFPWT (%swift.type* %"Fulfilled<T>.Assoc", %swift.type* %"Fulfilled<T>", i8** %"Fulfilled<T>.Assocked")
60
60
// CHECK: [[T0:%.*]] = bitcast %swift.type* %"Fulfilled<T>" to i8***
61
61
// CHECK-NEXT: [[T1:%.*]] = getelementptr inbounds i8**, i8*** [[T0]], i64 4
62
62
// CHECK-NEXT: [[T2:%.*]] = load i8**, i8*** [[T1]], align 8, !invariant.load
63
63
// CHECK-NEXT: ret i8** [[T2]]
64
64
65
65
// Associated type witness table access function for Fulfilled.Assoc : Q.
66
- // CHECK-LABEL: define internal i8** @_T023associated_type_witness9FulfilledVyxGAA8AssockedAaA1PRzAA1QRzl5AssocAaFPWT (%swift.type* %"Fulfilled<T>.Assoc", %swift.type* %"Fulfilled<T>", i8** %"Fulfilled<T>.Assocked")
66
+ // CHECK-LABEL: define internal i8** @_T023associated_type_witness9FulfilledVyxGAA8AssockedAaA1PRzAA1QRzl5AssocAaGPWT (%swift.type* %"Fulfilled<T>.Assoc", %swift.type* %"Fulfilled<T>", i8** %"Fulfilled<T>.Assocked")
67
67
// CHECK: [[T0:%.*]] = bitcast %swift.type* %"Fulfilled<T>" to i8***
68
68
// CHECK-NEXT: [[T1:%.*]] = getelementptr inbounds i8**, i8*** [[T0]], i64 5
69
69
// CHECK-NEXT: [[T2:%.*]] = load i8**, i8*** [[T1]], align 8, !invariant.load
0 commit comments