@@ -14,39 +14,31 @@ class SubClass: BaseClass {
14
14
}
15
15
16
16
// CHECK-LABEL: sil [ossa] @test_alloc_ref_dynamic_with_upcast
17
- // CHECK: bb0(%0 : $Int):
18
- // CHECK: struct_extract %0 : $Int, #Int._value
19
- // CHECK: builtin "truncOrBitCast_Int64_Word"({{.*}} : $Builtin.Int64) : $Builtin.Word
17
+ // CHECK: bb0(%0 : $Builtin.Word):
20
18
// CHECK: [[AL:%.*]] = alloc_ref [tail_elems $Int * {{.*}} : $Builtin.Word] $SubClass
21
19
// CHECK: [[UP:%.*]] = upcast [[AL]] : $SubClass to $BaseClass
22
20
// CHECK: [[MO:%.*]] = move_value [lexical] [var_decl] [[UP]] : $BaseClass
23
21
// CHECK: return [[MO]] : $BaseClass
24
22
// CHECK: } // end sil function 'test_alloc_ref_dynamic_with_upcast'
25
- sil [ossa] @test_alloc_ref_dynamic_with_upcast : $@convention(thin) (Int ) -> @owned BaseClass {
26
- bb0(%0 : $Int ):
23
+ sil [ossa] @test_alloc_ref_dynamic_with_upcast : $@convention(thin) (Builtin.Word ) -> @owned BaseClass {
24
+ bb0(%0 : $Builtin.Word ):
27
25
%4 = metatype $@thick SubClass.Type
28
26
%5 = upcast %4 : $@thick SubClass.Type to $@thick BaseClass.Type
29
- %10 = struct_extract %0 : $Int, #Int._value
30
- %11 = builtin "truncOrBitCast_Int64_Word"(%10 : $Builtin.Int64) : $Builtin.Word
31
- %12 = alloc_ref_dynamic [tail_elems $Int * %11 : $Builtin.Word] %5 : $@thick BaseClass.Type, $BaseClass
27
+ %12 = alloc_ref_dynamic [tail_elems $Int * %0 : $Builtin.Word] %5 : $@thick BaseClass.Type, $BaseClass
32
28
%13 = move_value [lexical] [var_decl] %12 : $BaseClass
33
29
return %13 : $BaseClass
34
30
}
35
31
36
32
// CHECK-LABEL: sil [ossa] @test_alloc_ref_dynamic_without_upcast
37
- // CHECK: bb0(%0 : $Int):
38
- // CHECK: struct_extract %0 : $Int, #Int._value
39
- // CHECK: builtin "truncOrBitCast_Int64_Word"({{.*}} : $Builtin.Int64) : $Builtin.Word
33
+ // CHECK: bb0(%0 : $Builtin.Word):
40
34
// CHECK: [[AL:%.*]] = alloc_ref [tail_elems $Int * {{.*}} : $Builtin.Word] $BaseClass
41
35
// CHECK: [[MO:%.*]] = move_value [lexical] [var_decl] [[AL]] : $BaseClass
42
36
// CHECK: return [[MO]] : $BaseClass
43
37
// CHECK: } // end sil function 'test_alloc_ref_dynamic_without_upcast'
44
- sil [ossa] @test_alloc_ref_dynamic_without_upcast : $@convention(thin) (Int ) -> @owned BaseClass {
45
- bb0(%0 : $Int ):
38
+ sil [ossa] @test_alloc_ref_dynamic_without_upcast : $@convention(thin) (Builtin.Word ) -> @owned BaseClass {
39
+ bb0(%0 : $Builtin.Word ):
46
40
%4 = metatype $@thick BaseClass.Type
47
- %10 = struct_extract %0 : $Int, #Int._value
48
- %11 = builtin "truncOrBitCast_Int64_Word"(%10 : $Builtin.Int64) : $Builtin.Word
49
- %12 = alloc_ref_dynamic [tail_elems $Int * %11 : $Builtin.Word] %4 : $@thick BaseClass.Type, $BaseClass
41
+ %12 = alloc_ref_dynamic [tail_elems $Int * %0 : $Builtin.Word] %4 : $@thick BaseClass.Type, $BaseClass
50
42
%13 = move_value [lexical] [var_decl] %12 : $BaseClass
51
43
return %13 : $BaseClass
52
44
}
0 commit comments