Skip to content

Commit ca97344

Browse files
committed
Remove expensive DAG based checks from tests.
1 parent e348ff8 commit ca97344

File tree

5 files changed

+146
-113
lines changed

5 files changed

+146
-113
lines changed

clang/test/CodeGen/call-graph-section-callback.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,4 +27,4 @@ int takeCallbackAddress() {
2727
return 0;
2828
}
2929

30-
// CHECK-DAG: [[F_CALLBACK]] = !{i64 0, !"_ZTSFviE.generalized"}
30+
// CHECK: [[F_CALLBACK]] = !{i64 0, !"_ZTSFviE.generalized"}

clang/test/CodeGen/call-graph-section-templates.cpp

Lines changed: 35 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -16,34 +16,40 @@ class Cls1 {};
1616
template <class T>
1717
class Cls2 {
1818
public:
19-
// FT: define {{.*}} void @_ZN4Cls2I4Cls1E2f1Ev({{.*}} !type [[F_TCLS2F1:![0-9]+]]
19+
// FT-LABEL: define {{.*}} void @_ZN4Cls2I4Cls1E2f1Ev(
20+
// FT: {{.*}} !type [[F_TCLS2F1:![0-9]+]]
2021
void f1() {}
2122

22-
// FT: define {{.*}} void @_ZN4Cls2I4Cls1E2f2ES0_({{.*}} !type [[F_TCLS2F2:![0-9]+]]
23+
// FT-LABEL: define {{.*}} void @_ZN4Cls2I4Cls1E2f2ES0_(
24+
// FT: {{.*}} !type [[F_TCLS2F2:![0-9]+]]
2325
void f2(T a) {}
2426

25-
// FT: define {{.*}} void @_ZN4Cls2I4Cls1E2f3EPS0_({{.*}} !type [[F_TCLS2F3:![0-9]+]]
27+
// FT-LABEL: define {{.*}} void @_ZN4Cls2I4Cls1E2f3EPS0_(
28+
// FT: {{.*}} !type [[F_TCLS2F3:![0-9]+]]
2629
void f3(T *a) {}
2730

28-
// FT: define {{.*}} void @_ZN4Cls2I4Cls1E2f4EPKS0_({{.*}} !type [[F_TCLS2F4:![0-9]+]]
31+
// FT-LABEL: define {{.*}} void @_ZN4Cls2I4Cls1E2f4EPKS0_(
32+
// FT: {{.*}} !type [[F_TCLS2F4:![0-9]+]]
2933
void f4(const T *a) {}
3034

31-
// FT: define {{.*}} void @_ZN4Cls2I4Cls1E2f5ERS0_({{.*}} !type [[F_TCLS2F5:![0-9]+]]
35+
// FT-LABEL: define {{.*}} void @_ZN4Cls2I4Cls1E2f5ERS0_(
36+
// FT: {{.*}} !type [[F_TCLS2F5:![0-9]+]]
3237
void f5(T &a) {}
3338

34-
// FT: define {{.*}} void @_ZN4Cls2I4Cls1E2f6ERKS0_({{.*}} !type [[F_TCLS2F6:![0-9]+]]
39+
// FT-LABEL: define {{.*}} void @_ZN4Cls2I4Cls1E2f6ERKS0_(
40+
// FT: {{.*}} !type [[F_TCLS2F6:![0-9]+]]
3541
void f6(const T &a) {}
3642

3743
// Mixed type function pointer member
3844
T *(*fp)(T a, T *b, const T *c, T &d, const T &e);
3945
};
4046

41-
// FT-DAG: [[F_TCLS2F1]] = !{i64 0, !"_ZTSFvvE.generalized"}
42-
// FT-DAG: [[F_TCLS2F2]] = !{i64 0, !"_ZTSFv4Cls1E.generalized"}
43-
// FT-DAG: [[F_TCLS2F3]] = !{i64 0, !"_ZTSFvP4Cls1E.generalized"}
44-
// FT-DAG: [[F_TCLS2F4]] = !{i64 0, !"_ZTSFvPK4Cls1E.generalized"}
45-
// FT-DAG: [[F_TCLS2F5]] = !{i64 0, !"_ZTSFvR4Cls1E.generalized"}
46-
// FT-DAG: [[F_TCLS2F6]] = !{i64 0, !"_ZTSFvRK4Cls1E.generalized"}
47+
// FT: [[F_TCLS2F1]] = !{i64 0, !"_ZTSFvvE.generalized"}
48+
// FT: [[F_TCLS2F2]] = !{i64 0, !"_ZTSFv4Cls1E.generalized"}
49+
// FT: [[F_TCLS2F3]] = !{i64 0, !"_ZTSFvP4Cls1E.generalized"}
50+
// FT: [[F_TCLS2F4]] = !{i64 0, !"_ZTSFvPK4Cls1E.generalized"}
51+
// FT: [[F_TCLS2F5]] = !{i64 0, !"_ZTSFvR4Cls1E.generalized"}
52+
// FT: [[F_TCLS2F6]] = !{i64 0, !"_ZTSFvRK4Cls1E.generalized"}
4753

4854
////////////////////////////////////////////////////////////////////////////////
4955
// Callsites (check for indirect callsite operand bundles)
@@ -91,24 +97,20 @@ void foo() {
9197
(Obj2Ptr->*fp_f6)(Cls1Obj);
9298
}
9399

94-
// CST: define {{.*}} @_Z6T_funcI4Cls1EPT_S1_S2_PKS1_RS1_RS3_({{.*}} !type [[F_TFUNC_CLS1:![0-9]+]]
95-
// CST-DAG: [[F_TFUNC_CLS1_CT]] = !{[[F_TFUNC_CLS1:![0-9]+]]}
96-
// CST-DAG: [[F_TFUNC_CLS1]] = !{i64 0, !"_ZTSFP4Cls1S_S0_PKS_RS_RS1_E.generalized"}
97-
98-
// CST-DAG: [[F_TCLS2F1_CT]] = !{[[F_TCLS2F1:![0-9]+]]}
99-
// CST-DAG: [[F_TCLS2F1]] = !{i64 0, !"_ZTSFvvE.generalized"}
100-
101-
// CST-DAG: [[F_TCLS2F2_CT]] = !{[[F_TCLS2F2:![0-9]+]]}
102-
// CST-DAG: [[F_TCLS2F2]] = !{i64 0, !"_ZTSFv4Cls1E.generalized"}
103-
104-
// CST-DAG: [[F_TCLS2F3_CT]] = !{[[F_TCLS2F3:![0-9]+]]}
105-
// CST-DAG: [[F_TCLS2F3]] = !{i64 0, !"_ZTSFvP4Cls1E.generalized"}
106-
107-
// CST-DAG: [[F_TCLS2F4_CT]] = !{[[F_TCLS2F4:![0-9]+]]}
108-
// CST-DAG: [[F_TCLS2F4]] = !{i64 0, !"_ZTSFvPK4Cls1E.generalized"}
109-
110-
// CST-DAG: [[F_TCLS2F5_CT]] = !{[[F_TCLS2F5:![0-9]+]]}
111-
// CST-DAG: [[F_TCLS2F5]] = !{i64 0, !"_ZTSFvR4Cls1E.generalized"}
112-
113-
// CST-DAG: [[F_TCLS2F6_CT]] = !{[[F_TCLS2F6:![0-9]+]]}
114-
// CST-DAG: [[F_TCLS2F6]] = !{i64 0, !"_ZTSFvRK4Cls1E.generalized"}
100+
// CST-LABEL: define {{.*}} @_Z6T_funcI4Cls1EPT_S1_S2_PKS1_RS1_RS3_(
101+
// CST: {{.*}} !type [[F_TFUNC_CLS1:![0-9]+]]
102+
103+
// CST: [[F_TCLS2F1]] = !{i64 0, !"_ZTSFvvE.generalized"}
104+
// CST: [[F_TFUNC_CLS1_CT]] = !{[[F_TFUNC_CLS1:![0-9]+]]}
105+
// CST: [[F_TFUNC_CLS1]] = !{i64 0, !"_ZTSFP4Cls1S_S0_PKS_RS_RS1_E.generalized"}
106+
// CST: [[F_TCLS2F1_CT]] = !{[[F_TCLS2F1:![0-9]+]]}
107+
// CST: [[F_TCLS2F2_CT]] = !{[[F_TCLS2F2:![0-9]+]]}
108+
// CST: [[F_TCLS2F2]] = !{i64 0, !"_ZTSFv4Cls1E.generalized"}
109+
// CST: [[F_TCLS2F3_CT]] = !{[[F_TCLS2F3:![0-9]+]]}
110+
// CST: [[F_TCLS2F3]] = !{i64 0, !"_ZTSFvP4Cls1E.generalized"}
111+
// CST: [[F_TCLS2F4_CT]] = !{[[F_TCLS2F4:![0-9]+]]}
112+
// CST: [[F_TCLS2F4]] = !{i64 0, !"_ZTSFvPK4Cls1E.generalized"}
113+
// CST: [[F_TCLS2F5_CT]] = !{[[F_TCLS2F5:![0-9]+]]}
114+
// CST: [[F_TCLS2F5]] = !{i64 0, !"_ZTSFvR4Cls1E.generalized"}
115+
// CST: [[F_TCLS2F6_CT]] = !{[[F_TCLS2F6:![0-9]+]]}
116+
// CST: [[F_TCLS2F6]] = !{i64 0, !"_ZTSFvRK4Cls1E.generalized"}

clang/test/CodeGen/call-graph-section-virtual-methods.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,11 +18,11 @@ class Base {
1818

1919
class Derived : public Base {
2020
public:
21-
// FT-DAG: define {{.*}} @_ZN7Derived2vfEPc({{.*}} !type [[F_TVF]]
21+
// FT: define {{.*}} @_ZN7Derived2vfEPc({{.*}} !type [[F_TVF]]
2222
int vf(char *a) override { return 1; };
2323
};
2424

25-
// FT-DAG: [[F_TVF]] = !{i64 0, !"_ZTSFiPcE.generalized"}
25+
// FT: [[F_TVF]] = !{i64 0, !"_ZTSFiPcE.generalized"}
2626

2727
////////////////////////////////////////////////////////////////////////////////
2828
// Callsites (check for indirect callsite operand bundles)
@@ -52,5 +52,5 @@ class Base {
5252
(Dptr->*FpDerivedVf)(0);
5353
}
5454

55-
// CST-DAG: [[F_TVF_CT]] = !{[[F_TVF:![0-9]+]]}
56-
// CST-DAG: [[F_TVF]] = !{i64 0, !"_ZTSFiPcE.generalized"}
55+
// CST: [[F_TVF_CT]] = !{[[F_TVF:![0-9]+]]}
56+
// CST: [[F_TVF]] = !{i64 0, !"_ZTSFiPcE.generalized"}
Lines changed: 59 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -1,45 +1,58 @@
11
// Tests that we assign appropriate identifiers to indirect calls and targets.
22

33
// RUN: %clang_cc1 -triple x86_64-unknown-linux -fexperimental-call-graph-section \
4-
// RUN: -emit-llvm -o - %s | FileCheck --check-prefixes=CHECK,ITANIUM %s
4+
// RUN: -emit-llvm -o - %s | FileCheck --check-prefixes=ITANIUM %s
55

66
// RUN: %clang_cc1 -triple x86_64-pc-windows-msvc -fexperimental-call-graph-section \
7-
// RUN: -emit-llvm -o - %s | FileCheck --check-prefixes=CHECK,MS %s
7+
// RUN: -emit-llvm -o - %s | FileCheck --check-prefixes=MS %s
88

9-
// CHECK-LABEL: define {{(dso_local)?}} void @foo(
10-
// CHECK: {{.*}} !type [[F_TVOID:![0-9]+]]
9+
// ITANIUM-LABEL: define {{(dso_local)?}} void @foo(
10+
// ITANIUM: {{.*}} !type [[F_TVOID:![0-9]+]]
11+
// MS-LABEL: define {{(dso_local)?}} void @foo(
12+
// MS: {{.*}} !type [[F_TVOID:![0-9]+]]
1113
void foo() {
1214
}
1315

14-
// CHECK-LABEL: define {{(dso_local)?}} void @bar(
15-
// CHECK: {{.*}} !type [[F_TVOID]]
16+
// ITANIUM-LABEL: define {{(dso_local)?}} void @bar(
17+
// ITANIUM: {{.*}} !type [[F_TVOID]]
18+
// MS-LABEL: define {{(dso_local)?}} void @bar(
19+
// MS: {{.*}} !type [[F_TVOID]]
1620
void bar() {
1721
void (*fp)() = foo;
18-
// CHECK: call {{.*}}, !callee_type [[F_TVOID_CT:![0-9]+]]
22+
// ITANIUM: call {{.*}}, !callee_type [[F_TVOID_CT:![0-9]+]]
23+
// MS: call {{.*}}, !callee_type [[F_TVOID_CT:![0-9]+]]
1924
fp();
2025
}
2126

22-
// CHECK-LABEL: define {{(dso_local)?}} i32 @baz(
23-
// CHECK: {{.*}} !type [[F_TPRIMITIVE:![0-9]+]]
27+
// ITANIUM-LABEL: define {{(dso_local)?}} i32 @baz(
28+
// ITANIUM: {{.*}} !type [[F_TPRIMITIVE:![0-9]+]]
29+
// MS-LABEL: define {{(dso_local)?}} i32 @baz(
30+
// MS: {{.*}} !type [[F_TPRIMITIVE:![0-9]+]]
2431
int baz(char a, float b, double c) {
2532
return 1;
2633
}
2734

28-
// CHECK-LABEL: define {{(dso_local)?}} ptr @qux(
29-
// CHECK: {{.*}} !type [[F_TPTR:![0-9]+]]
35+
// ITANIUM-LABEL: define {{(dso_local)?}} ptr @qux(
36+
// ITANIUM: {{.*}} !type [[F_TPTR:![0-9]+]]
37+
// MS-LABEL: define {{(dso_local)?}} ptr @qux(
38+
// MS: {{.*}} !type [[F_TPTR:![0-9]+]]
3039
int *qux(char *a, float *b, double *c) {
3140
return 0;
3241
}
3342

34-
// CHECK-LABEL: define {{(dso_local)?}} void @corge(
35-
// CHECK: {{.*}} !type [[F_TVOID]]
43+
// ITANIUM-LABEL: define {{(dso_local)?}} void @corge(
44+
// ITANIUM: {{.*}} !type [[F_TVOID]]
45+
// MS-LABEL: define {{(dso_local)?}} void @corge(
46+
// MS: {{.*}} !type [[F_TVOID]]
3647
void corge() {
3748
int (*fp_baz)(char, float, double) = baz;
38-
// CHECK: call i32 {{.*}}, !callee_type [[F_TPRIMITIVE_CT:![0-9]+]]
49+
// ITANIUM: call i32 {{.*}}, !callee_type [[F_TPRIMITIVE_CT:![0-9]+]]
50+
// MS: call i32 {{.*}}, !callee_type [[F_TPRIMITIVE_CT:![0-9]+]]
3951
fp_baz('a', .0f, .0);
4052

4153
int *(*fp_qux)(char *, float *, double *) = qux;
42-
// CHECK: call ptr {{.*}}, !callee_type [[F_TPTR_CT:![0-9]+]]
54+
// ITANIUM: call ptr {{.*}}, !callee_type [[F_TPTR_CT:![0-9]+]]
55+
// MS: call ptr {{.*}}, !callee_type [[F_TPTR_CT:![0-9]+]]
4356
fp_qux(0, 0, 0);
4457
}
4558

@@ -51,40 +64,49 @@ struct st2 {
5164
struct st1 m;
5265
};
5366

54-
// CHECK-LABEL: define {{(dso_local)?}} void @stparam(
55-
// CHECK: {{.*}} !type [[F_TSTRUCT:![0-9]+]]
67+
// ITANIUM-LABEL: define {{(dso_local)?}} void @stparam(
68+
// ITANIUM: {{.*}} !type [[F_TSTRUCT:![0-9]+]]
69+
// MS-LABEL: define {{(dso_local)?}} void @stparam(
70+
// MS: {{.*}} !type [[F_TSTRUCT:![0-9]+]]
5671
void stparam(struct st2 a, struct st2 *b) {}
5772

58-
// CHECK-LABEL: define {{(dso_local)?}} void @stf(
59-
// CHECK: {{.*}} !type [[F_TVOID]]
73+
// ITANIUM-LABEL: define {{(dso_local)?}} void @stf(
74+
// ITANIUM: {{.*}} !type [[F_TVOID]]
75+
// MS-LABEL: define {{(dso_local)?}} void @stf(
76+
// MS: {{.*}} !type [[F_TVOID]]
6077
void stf() {
6178
struct st1 St1;
6279
St1.fp = qux;
63-
// CHECK: call ptr {{.*}}, !callee_type [[F_TPTR_CT:![0-9]+]]
80+
// ITANIUM: call ptr {{.*}}, !callee_type [[F_TPTR_CT:![0-9]+]]
81+
// MS: call ptr {{.*}}, !callee_type [[F_TPTR_CT:![0-9]+]]
6482
St1.fp(0, 0, 0);
6583

6684
struct st2 St2;
6785
St2.m.fp = qux;
68-
// CHECK: call ptr {{.*}}, !callee_type [[F_TPTR_CT:![0-9]+]]
86+
// ITANIUM: call ptr {{.*}}, !callee_type [[F_TPTR_CT:![0-9]+]]
87+
// MS: call ptr {{.*}}, !callee_type [[F_TPTR_CT:![0-9]+]]
6988
St2.m.fp(0, 0, 0);
7089

71-
// CHECK: call void {{.*}}, !callee_type [[F_TSTRUCT_CT:![0-9]+]]
90+
// ITANIUM: call void {{.*}}, !callee_type [[F_TSTRUCT_CT:![0-9]+]]
91+
// MS: call void {{.*}}, !callee_type [[F_TSTRUCT_CT:![0-9]+]]
7292
void (*fp_stparam)(struct st2, struct st2 *) = stparam;
7393
fp_stparam(St2, &St2);
7494
}
7595

76-
// CHECK-DAG: [[F_TVOID_CT]] = !{[[F_TVOID:![0-9]+]]}
77-
// ITANIUM-DAG: [[F_TVOID]] = !{i64 0, !"_ZTSFvE.generalized"}
78-
// MS-DAG: [[F_TVOID]] = !{i64 0, !"[email protected]"}
79-
80-
// CHECK-DAG: [[F_TPRIMITIVE_CT]] = !{[[F_TPRIMITIVE:![0-9]+]]}
81-
// ITANIUM-DAG: [[F_TPRIMITIVE]] = !{i64 0, !"_ZTSFicfdE.generalized"}
82-
// MS-DAG: [[F_TPRIMITIVE]] = !{i64 0, !"[email protected]"}
83-
84-
// CHECK-DAG: [[F_TPTR_CT]] = !{[[F_TPTR:![0-9]+]]}
85-
// ITANIUM-DAG: [[F_TPTR]] = !{i64 0, !"_ZTSFPiPcPfPdE.generalized"}
86-
// MS-DAG: [[F_TPTR]] = !{i64 0, !"[email protected]"}
87-
88-
// CHECK-DAG: [[F_TSTRUCT_CT]] = !{[[F_TSTRUCT:![0-9]+]]}
89-
// ITANIUM-DAG: [[F_TSTRUCT]] = !{i64 0, !"_ZTSFv3st2PS_E.generalized"}
90-
// MS-DAG: [[F_TSTRUCT]] = !{i64 0, !"?6AXUst2@@PEAU0@@Z.generalized"}
96+
// ITANIUM: [[F_TVOID]] = !{i64 0, !"_ZTSFvE.generalized"}
97+
// ITANIUM: [[F_TVOID_CT]] = !{[[F_TVOID:![0-9]+]]}
98+
// ITANIUM: [[F_TPRIMITIVE]] = !{i64 0, !"_ZTSFicfdE.generalized"}
99+
// ITANIUM: [[F_TPTR]] = !{i64 0, !"_ZTSFPiPcPfPdE.generalized"}
100+
// ITANIUM: [[F_TPRIMITIVE_CT]] = !{[[F_TPRIMITIVE:![0-9]+]]}
101+
// ITANIUM: [[F_TPTR_CT]] = !{[[F_TPTR:![0-9]+]]}
102+
// ITANIUM: [[F_TSTRUCT]] = !{i64 0, !"_ZTSFv3st2PS_E.generalized"}
103+
// ITANIUM: [[F_TSTRUCT_CT]] = !{[[F_TSTRUCT:![0-9]+]]}
104+
105+
// MS: [[F_TVOID]] = !{i64 0, !"[email protected]"}
106+
// MS: [[F_TVOID_CT]] = !{[[F_TVOID:![0-9]+]]}
107+
// MS: [[F_TPRIMITIVE]] = !{i64 0, !"[email protected]"}
108+
// MS: [[F_TPTR]] = !{i64 0, !"[email protected]"}
109+
// MS: [[F_TPRIMITIVE_CT]] = !{[[F_TPRIMITIVE:![0-9]+]]}
110+
// MS: [[F_TPTR_CT]] = !{[[F_TPTR:![0-9]+]]}
111+
// MS: [[F_TSTRUCT]] = !{i64 0, !"?6AXUst2@@PEAU0@@Z.generalized"}
112+
// MS: [[F_TSTRUCT_CT]] = !{[[F_TSTRUCT:![0-9]+]]}

clang/test/CodeGen/call-graph-section.cpp

Lines changed: 47 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -11,51 +11,61 @@
1111

1212
class Cls1 {
1313
public:
14-
// FT-DAG: define {{.*}} ptr @_ZN4Cls18receiverEPcPf({{.*}} !type [[F_TCLS1RECEIVER:![0-9]+]]
14+
// FT-LABEL: define {{.*}} ptr @_ZN4Cls18receiverEPcPf(
15+
// FT: {{.*}} !type [[F_TCLS1RECEIVER:![0-9]+]]
1516
static int *receiver(char *a, float *b) { return 0; }
1617
};
1718

1819
class Cls2 {
1920
public:
2021
int *(*fp)(char *, float *);
2122

22-
// FT-DAG: define {{.*}} i32 @_ZN4Cls22f1Ecfd({{.*}} !type [[F_TCLS2F1:![0-9]+]]
23+
// FT-LABEL: define {{.*}} i32 @_ZN4Cls22f1Ecfd(
24+
// FT: {{.*}} !type [[F_TCLS2F1:![0-9]+]]
2325
int f1(char a, float b, double c) { return 0; }
2426

25-
// FT-DAG: define {{.*}} ptr @_ZN4Cls22f2EPcPfPd({{.*}} !type [[F_TCLS2F2:![0-9]+]]
27+
// FT-LABEL: define {{.*}} ptr @_ZN4Cls22f2EPcPfPd(
28+
// FT: {{.*}} !type [[F_TCLS2F2:![0-9]+]]
2629
int *f2(char *a, float *b, double *c) { return 0; }
2730

28-
// FT-DAG: define {{.*}} void @_ZN4Cls22f3E4Cls1({{.*}} !type [[F_TCLS2F3F4:![0-9]+]]
31+
// FT-LABEL: define {{.*}} void @_ZN4Cls22f3E4Cls1(
32+
// FT: {{.*}} !type [[F_TCLS2F3F4:![0-9]+]]
2933
void f3(Cls1 a) {}
3034

31-
// FT-DAG: define {{.*}} void @_ZN4Cls22f4E4Cls1({{.*}} !type [[F_TCLS2F3F4]]
35+
// FT-LABEL: define {{.*}} void @_ZN4Cls22f4E4Cls1(
36+
// FT: {{.*}} !type [[F_TCLS2F3F4]]
3237
void f4(const Cls1 a) {}
3338

34-
// FT-DAG: define {{.*}} void @_ZN4Cls22f5EP4Cls1({{.*}} !type [[F_TCLS2F5:![0-9]+]]
39+
// FT-LABEL: define {{.*}} void @_ZN4Cls22f5EP4Cls1(
40+
// FT: {{.*}} !type [[F_TCLS2F5:![0-9]+]]
3541
void f5(Cls1 *a) {}
3642

37-
// FT-DAG: define {{.*}} void @_ZN4Cls22f6EPK4Cls1({{.*}} !type [[F_TCLS2F6:![0-9]+]]
43+
// FT-LABEL: define {{.*}} void @_ZN4Cls22f6EPK4Cls1(
44+
// FT: {{.*}} !type [[F_TCLS2F6:![0-9]+]]
3845
void f6(const Cls1 *a) {}
3946

40-
// FT-DAG: define {{.*}} void @_ZN4Cls22f7ER4Cls1({{.*}} !type [[F_TCLS2F7:![0-9]+]]
47+
// FT-LABEL: define {{.*}} void @_ZN4Cls22f7ER4Cls1(
48+
// FT: {{.*}} !type [[F_TCLS2F7:![0-9]+]]
4149
void f7(Cls1 &a) {}
4250

43-
// FT-DAG: define {{.*}} void @_ZN4Cls22f8ERK4Cls1({{.*}} !type [[F_TCLS2F8:![0-9]+]]
51+
// FT-LABEL: define {{.*}} void @_ZN4Cls22f8ERK4Cls1(
52+
// FT: {{.*}} !type [[F_TCLS2F8:![0-9]+]]
4453
void f8(const Cls1 &a) {}
4554

46-
// FT-DAG: define {{.*}} void @_ZNK4Cls22f9Ev({{.*}} !type [[F_TCLS2F9:![0-9]+]]
55+
// FT-LABEL: define {{.*}} void @_ZNK4Cls22f9Ev(
56+
// FT: {{.*}} !type [[F_TCLS2F9:![0-9]+]]
4757
void f9() const {}
4858
};
4959

50-
// FT-DAG: [[F_TCLS1RECEIVER]] = !{i64 0, !"_ZTSFPiPcPfE.generalized"}
51-
// FT-DAG: [[F_TCLS2F2]] = !{i64 0, !"_ZTSFPiPcPfPdE.generalized"}
52-
// FT-DAG: [[F_TCLS2F1]] = !{i64 0, !"_ZTSFicfdE.generalized"}
53-
// FT-DAG: [[F_TCLS2F3F4]] = !{i64 0, !"_ZTSFv4Cls1E.generalized"}
54-
// FT-DAG: [[F_TCLS2F5]] = !{i64 0, !"_ZTSFvP4Cls1E.generalized"}
55-
// FT-DAG: [[F_TCLS2F6]] = !{i64 0, !"_ZTSFvPK4Cls1E.generalized"}
56-
// FT-DAG: [[F_TCLS2F7]] = !{i64 0, !"_ZTSFvR4Cls1E.generalized"}
57-
// FT-DAG: [[F_TCLS2F8]] = !{i64 0, !"_ZTSFvRK4Cls1E.generalized"}
58-
// FT-DAG: [[F_TCLS2F9]] = !{i64 0, !"_ZTSKFvvE.generalized"}
60+
// FT: [[F_TCLS1RECEIVER]] = !{i64 0, !"_ZTSFPiPcPfE.generalized"}
61+
// FT: [[F_TCLS2F1]] = !{i64 0, !"_ZTSFicfdE.generalized"}
62+
// FT: [[F_TCLS2F2]] = !{i64 0, !"_ZTSFPiPcPfPdE.generalized"}
63+
// FT: [[F_TCLS2F3F4]] = !{i64 0, !"_ZTSFv4Cls1E.generalized"}
64+
// FT: [[F_TCLS2F5]] = !{i64 0, !"_ZTSFvP4Cls1E.generalized"}
65+
// FT: [[F_TCLS2F6]] = !{i64 0, !"_ZTSFvPK4Cls1E.generalized"}
66+
// FT: [[F_TCLS2F7]] = !{i64 0, !"_ZTSFvR4Cls1E.generalized"}
67+
// FT: [[F_TCLS2F8]] = !{i64 0, !"_ZTSFvRK4Cls1E.generalized"}
68+
// FT: [[F_TCLS2F9]] = !{i64 0, !"_ZTSKFvvE.generalized"}
5969

6070
////////////////////////////////////////////////////////////////////////////////
6171
// Callsites (check for indirect callsites' callee_type metadata )
@@ -109,30 +119,29 @@ void foo() {
109119
(ObjCls2Ptr->*fp_f9)();
110120
}
111121

122+
// CST: [[F_TCLS1RECEIVER_CT]] = !{[[F_TCLS1RECEIVER:![0-9]+]]}
123+
// CST: [[F_TCLS1RECEIVER]] = !{i64 0, !"_ZTSFPiPcPfE.generalized"}
112124

113-
// CST-DAG: [[F_TCLS1RECEIVER_CT]] = !{[[F_TCLS1RECEIVER:![0-9]+]]}
114-
// CST-DAG: [[F_TCLS1RECEIVER]] = !{i64 0, !"_ZTSFPiPcPfE.generalized"}
125+
// CST: [[F_TCLS2F1_CT]] = !{[[F_TCLS2F1:![0-9]+]]}
126+
// CST: [[F_TCLS2F1]] = !{i64 0, !"_ZTSFicfdE.generalized"}
115127

116-
// CST-DAG: [[F_TCLS2F2_CT]] = !{[[F_TCLS2F2:![0-9]+]]}
117-
// CST-DAG: [[F_TCLS2F2]] = !{i64 0, !"_ZTSFPiPcPfPdE.generalized"}
128+
// CST: [[F_TCLS2F2_CT]] = !{[[F_TCLS2F2:![0-9]+]]}
129+
// CST: [[F_TCLS2F2]] = !{i64 0, !"_ZTSFPiPcPfPdE.generalized"}
118130

119-
// CST-DAG: [[F_TCLS2F1_CT]] = !{[[F_TCLS2F1:![0-9]+]]}
120-
// CST-DAG: [[F_TCLS2F1]] = !{i64 0, !"_ZTSFicfdE.generalized"}
131+
// CST: [[F_TCLS2F3F4_CT]] = !{[[F_TCLS2F3F4:![0-9]+]]}
132+
// CST: [[F_TCLS2F3F4]] = !{i64 0, !"_ZTSFv4Cls1E.generalized"}
121133

122-
// CST-DAG: [[F_TCLS2F3F4_CT]] = !{[[F_TCLS2F3F4:![0-9]+]]}
123-
// CST-DAG: [[F_TCLS2F3F4]] = !{i64 0, !"_ZTSFv4Cls1E.generalized"}
134+
// CST: [[F_TCLS2F5_CT]] = !{[[F_TCLS2F5:![0-9]+]]}
135+
// CST: [[F_TCLS2F5]] = !{i64 0, !"_ZTSFvP4Cls1E.generalized"}
124136

125-
// CST-DAG: [[F_TCLS2F5_CT]] = !{[[F_TCLS2F5:![0-9]+]]}
126-
// CST-DAG: [[F_TCLS2F5]] = !{i64 0, !"_ZTSFvP4Cls1E.generalized"}
137+
// CST: [[F_TCLS2F6_CT]] = !{[[F_TCLS2F6:![0-9]+]]}
138+
// CST: [[F_TCLS2F6]] = !{i64 0, !"_ZTSFvPK4Cls1E.generalized"}
127139

128-
// CST-DAG: [[F_TCLS2F6_CT]] = !{[[F_TCLS2F6:![0-9]+]]}
129-
// CST-DAG: [[F_TCLS2F6]] = !{i64 0, !"_ZTSFvPK4Cls1E.generalized"}
140+
// CST: [[F_TCLS2F7_CT]] = !{[[F_TCLS2F7:![0-9]+]]}
141+
// CST: [[F_TCLS2F7]] = !{i64 0, !"_ZTSFvR4Cls1E.generalized"}
130142

131-
// CST-DAG: [[F_TCLS2F7_CT]] = !{[[F_TCLS2F7:![0-9]+]]}
132-
// CST-DAG: [[F_TCLS2F7]] = !{i64 0, !"_ZTSFvR4Cls1E.generalized"}
143+
// CST: [[F_TCLS2F8_CT]] = !{[[F_TCLS2F8:![0-9]+]]}
144+
// CST: [[F_TCLS2F8]] = !{i64 0, !"_ZTSFvRK4Cls1E.generalized"}
133145

134-
// CST-DAG: [[F_TCLS2F8_CT]] = !{[[F_TCLS2F8:![0-9]+]]}
135-
// CST-DAG: [[F_TCLS2F8]] = !{i64 0, !"_ZTSFvRK4Cls1E.generalized"}
136-
137-
// CST-DAG: [[F_TCLS2F9_CT]] = !{[[F_TCLS2F9:![0-9]+]]}
138-
// CST-DAG: [[F_TCLS2F9]] = !{i64 0, !"_ZTSKFvvE.generalized"}
146+
// CST: [[F_TCLS2F9_CT]] = !{[[F_TCLS2F9:![0-9]+]]}
147+
// CST: [[F_TCLS2F9]] = !{i64 0, !"_ZTSKFvvE.generalized"}

0 commit comments

Comments
 (0)