Skip to content

Commit 5cc52dc

Browse files
authored
Merge pull request #76713 from kubamracek/fix-simplify-alloc-ref
Fix simplify_alloc_ref_dynamic.sil test to work on 32-bit systems too
2 parents b2b7d46 + 7ae364e commit 5cc52dc

File tree

1 file changed

+8
-16
lines changed

1 file changed

+8
-16
lines changed

test/SILOptimizer/simplify_alloc_ref_dynamic.sil

Lines changed: 8 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)