@@ -152,11 +152,31 @@ bb0:
152
152
// CHECK: [[TMP:%.*]] = call swiftcc %swift.metadata_response @"$S18static_initializer16TestArrayStorageCMa"(i64 0)
153
153
// CHECK: [[MD:%[0-9]+]] = extractvalue %swift.metadata_response [[TMP]], 0
154
154
// CHECK: [[O:%[0-9a-z]+]] = call %swift.refcounted* @swift_initStaticObject(%swift.type* [[MD]], %swift.refcounted* getelementptr inbounds (%T18static_initializer16TestArrayStorageC_tailelems0c, %T18static_initializer16TestArrayStorageC_tailelems0c* @static_array, i32 0, i32 1, i32 0))
155
- // CHECK: [[R:%[0-9]+]] = bitcast %swift.refcounted* [[O]] to %T18static_initializer16TestArrayStorageC_tailelems0*
156
- // CHECK: [[R2:%[0-9]+]] = bitcast %T18static_initializer16TestArrayStorageC_tailelems0* [[R]] to %T18static_initializer16TestArrayStorageC*
157
- // CHECK: ret %T18static_initializer16TestArrayStorageC* [[R2]]
155
+ // CHECK: [[R:%[0-9]+]] = bitcast %swift.refcounted* [[O]] to %T18static_initializer16TestArrayStorageC*
156
+ // CHECK: ret %T18static_initializer16TestArrayStorageC* [[R]]
158
157
%0 = global_value @static_array : $TestArrayStorage
159
158
%1 = struct $TestArray (%0 : $TestArrayStorage)
160
159
return %1 : $TestArray
161
160
}
162
161
162
+ // CHECK-LABEL: define{{( dllexport)?}}{{( protected)?}} swiftcc %T18static_initializer16TestArrayStorageC* @phi_nodes(i1, %T18static_initializer16TestArrayStorageC*)
163
+ // CHECK: [[T0:%.*]] = call %swift.refcounted* @swift_initStaticObject
164
+ // CHECK: [[T1:%.*]] = bitcast %swift.refcounted* [[T0]] to %T18static_initializer16TestArrayStorageC*
165
+ // CHECK: br
166
+ // CHECK: br
167
+ // CHECK: [[T3:%.*]] = phi %T18static_initializer16TestArrayStorageC* [ %1, {{.*}} ], [ [[T1]], {{.*}} ]
168
+ // CHECK: ret %T18static_initializer16TestArrayStorageC* [[T3]]
169
+ sil @phi_nodes : $@convention(thin) (Builtin.Int1, TestArrayStorage) -> TestArrayStorage {
170
+ bb0(%0 : $Builtin.Int1, %1 : $TestArrayStorage):
171
+ cond_br %0, bb1, bb2
172
+
173
+ bb1:
174
+ %2 = global_value @static_array : $TestArrayStorage
175
+ br bb3(%2 : $TestArrayStorage)
176
+
177
+ bb2:
178
+ br bb3(%1 : $TestArrayStorage)
179
+
180
+ bb3(%3 : $TestArrayStorage):
181
+ return %3 : $TestArrayStorage
182
+ }
0 commit comments