blob: b52ce5b55788c9b09de5ca9a987c9210eaa1d210 [file] [log] [blame]
// RUN: %target-swift-frontend -assume-parsing-unqualified-ownership-sil -I %S/Inputs/abi %s -emit-ir | %FileCheck %s
sil_stage canonical
import c_layout
// CHECK-LABEL: @_T0SC14HasNestedUnionV18__Unnamed_struct_sVN = linkonce_odr hidden global
// CHECK-SAME: void (%swift.type*)* @initialize_metadata___Unnamed_struct_s,
// CHECK-SAME: i8* getelementptr inbounds
// CHECK-SAME: %swift.type* null,
// CHECK-SAME: [[INT:i[0-9]+]] 1,
// CHECK-SAME: @_T0SC14HasNestedUnionV18__Unnamed_struct_sVWV
// CHECK-SAME: [[INT]] 1,
// CHECK-SAME: [[INT]] sub ({{.*}}),
// CHECK-SAME: %swift.type* null,
// CHECK-SAME: [[INT]] 0,
// CHECK-SAME: [[INT]] 4 }
sil @test0 : $() -> () {
bb0:
%0 = metatype $@thick HasNestedUnion.Type
%ret = tuple ()
return %ret : $()
}
// CHECK-LABEL: define private void @initialize_metadata___Unnamed_struct_s
// CHECK: [[PARENT:%.*]] = call %swift.type* @_T0SC14HasNestedUnionVMa()
// CHECK-NEXT: [[T0:%.]] = bitcast %swift.type* %0 to %swift.type**
// CHECK-NEXT: [[T1:%.]] = getelementptr inbounds %swift.type*, %swift.type** [[T0]], [[INT]] 2
// CHECK-NEXT: store %swift.type* [[PARENT]], %swift.type** [[T1]],
// CHECK-NEXT: ret void