|
19 | 19 | // CHECK-LL: %struct.__pp_struct_Generalization__Base1 = type { %struct.Generalization, %struct.Base1 }
|
20 | 20 | // CHECK-LL: %struct.__pp_struct_Generalization__Base2 = type { %struct.Generalization, %struct.Base2 }
|
21 | 21 |
|
| 22 | +// CHECK-LL: @__pp_tags_Figure = dso_local global i32 0, align 4 |
| 23 | +// CHECK-LL: @__pp_tag__pp_struct_Figure__Circle = dso_local global i32 0, align 4 |
| 24 | +// CHECK-LL: @__pp_tag__pp_struct_Figure__Rectangle = dso_local global i32 0, align 4 |
| 25 | +// CHECK-LL: @llvm.global_ctors = appending global [2 x { i32, ptr, ptr }] [{ i32, ptr, ptr } { i32 101, ptr @__pp_tag__pp_struct_Figure__Circle, ptr null }, { i32, ptr, ptr } { i32 101, ptr @__pp_tag__pp_struct_Figure__Rectangle, ptr null }] |
| 26 | + |
22 | 27 | // CHECK-LL: double @check_gen_b1(ptr noundef byval(%struct.__pp_struct_Generalization__Base1) align 8 %gb)
|
23 | 28 | // CHECK-LL: double @check_gen_b2(ptr noundef byval(%struct.__pp_struct_Generalization__Base2) align 8 %gb)
|
24 | 29 |
|
| 30 | +// CHECK-LL: ; Function Attrs: noinline nounwind optnone uwtable |
| 31 | +// CHECK-LL: define dso_local void @__pp_tag__pp_struct_Figure__Circle() #0 { |
| 32 | +// CHECK-LL: entry: |
| 33 | +// CHECK-LL: %0 = load i32, ptr @__pp_tags_Figure, align 4 |
| 34 | +// CHECK-LL: %inc = add nsw i32 %0, 1 |
| 35 | +// CHECK-LL: store i32 %inc, ptr @__pp_tags_Figure, align 4 |
| 36 | +// CHECK-LL: %1 = load i32, ptr @__pp_tags_Figure, align 4 |
| 37 | +// CHECK-LL: store i32 %1, ptr @__pp_tag__pp_struct_Figure__Circle, align 4 |
| 38 | +// CHECK-LL: ret void |
| 39 | +// CHECK-LL: } |
| 40 | + |
| 41 | +// CHECK-LL: ; Function Attrs: noinline nounwind optnone uwtable |
| 42 | +// CHECK-LL: define dso_local void @__pp_tag__pp_struct_Figure__Rectangle() #0 { |
| 43 | +// CHECK-LL: entry: |
| 44 | +// CHECK-LL: %0 = load i32, ptr @__pp_tags_Figure, align 4 |
| 45 | +// CHECK-LL: %inc = add nsw i32 %0, 1 |
| 46 | +// CHECK-LL: store i32 %inc, ptr @__pp_tags_Figure, align 4 |
| 47 | +// CHECK-LL: %1 = load i32, ptr @__pp_tags_Figure, align 4 |
| 48 | +// CHECK-LL: store i32 %1, ptr @__pp_tag__pp_struct_Figure__Rectangle, align 4 |
| 49 | +// CHECK-LL: ret void |
| 50 | +// CHECK-LL: } |
| 51 | + |
25 | 52 | // CHECK-AST: |-RecordDecl {{.*}} struct Base1 definition
|
26 | 53 | // CHECK-AST-NEXT:| `-FieldDecl {{.*}} i 'int'
|
27 | 54 | // CHECK-AST-NEXT:|-RecordDecl {{.*}} struct Base2 definition
|
|
0 commit comments