@@ -14,39 +14,31 @@ class SubClass: BaseClass {
1414}
1515
1616// 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):
2018// CHECK: [[AL:%.*]] = alloc_ref [tail_elems $Int * {{.*}} : $Builtin.Word] $SubClass
2119// CHECK: [[UP:%.*]] = upcast [[AL]] : $SubClass to $BaseClass
2220// CHECK: [[MO:%.*]] = move_value [lexical] [var_decl] [[UP]] : $BaseClass
2321// CHECK: return [[MO]] : $BaseClass
2422// 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 ):
2725 %4 = metatype $@thick SubClass.Type
2826 %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
3228 %13 = move_value [lexical] [var_decl] %12 : $BaseClass
3329 return %13 : $BaseClass
3430}
3531
3632// 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):
4034// CHECK: [[AL:%.*]] = alloc_ref [tail_elems $Int * {{.*}} : $Builtin.Word] $BaseClass
4135// CHECK: [[MO:%.*]] = move_value [lexical] [var_decl] [[AL]] : $BaseClass
4236// CHECK: return [[MO]] : $BaseClass
4337// 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 ):
4640 %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
5042 %13 = move_value [lexical] [var_decl] %12 : $BaseClass
5143 return %13 : $BaseClass
5244}
0 commit comments