1 ; RUN: llvm-profdata overlap --sample %S/Inputs/sample-overlap-0.proftext %S/Inputs/sample-overlap-0.proftext | FileCheck %s --check-prefix=OVERLAP0 --match-full-lines --strict-whitespace
2 ; OVERLAP0:Program level:
3 ; OVERLAP0: Whole program profile similarity: 100.000%
4 ; OVERLAP0: Whole program sample overlap: 100.000%
5 ; OVERLAP0: percentage of samples unique in base profile: 0.000%
6 ; OVERLAP0: percentage of samples unique in test profile: 0.000%
7 ; OVERLAP0: total samples in base profile: 13943
8 ; OVERLAP0: total samples in test profile: 13943
9 ; OVERLAP0: Function overlap: 100.000%
10 ; OVERLAP0: overlap functions: 4
11 ; OVERLAP0: functions unique in base profile: 0
12 ; OVERLAP0: functions unique in test profile: 0
13 ; OVERLAP0: Hot-function overlap: 100.000%
14 ; OVERLAP0: overlap hot functions: 4
15 ; OVERLAP0: hot functions unique in base profile: 0
16 ; OVERLAP0: hot functions unique in test profile: 0
17 ; OVERLAP0: Hot-block overlap: 100.000%
18 ; OVERLAP0: overlap hot blocks: 12
19 ; OVERLAP0: hot blocks unique in base profile: 0
20 ; OVERLAP0: hot blocks unique in test profile: 0
22 ; RUN: llvm-profdata overlap --sample %S/Inputs/sample-overlap-0.proftext %S/Inputs/sample-overlap-1.proftext | FileCheck %s --check-prefix=OVERLAP1 --match-full-lines --strict-whitespace
23 ; OVERLAP1:Program level:
24 ; OVERLAP1: Whole program profile similarity: 100.000%
25 ; OVERLAP1: Whole program sample overlap: 10.000%
26 ; OVERLAP1: percentage of samples unique in base profile: 0.000%
27 ; OVERLAP1: percentage of samples unique in test profile: 0.000%
28 ; OVERLAP1: total samples in base profile: 13943
29 ; OVERLAP1: total samples in test profile: 139430
30 ; OVERLAP1: Function overlap: 100.000%
31 ; OVERLAP1: overlap functions: 4
32 ; OVERLAP1: functions unique in base profile: 0
33 ; OVERLAP1: functions unique in test profile: 0
34 ; OVERLAP1: Hot-function overlap: 100.000%
35 ; OVERLAP1: overlap hot functions: 4
36 ; OVERLAP1: hot functions unique in base profile: 0
37 ; OVERLAP1: hot functions unique in test profile: 0
38 ; OVERLAP1: Hot-block overlap: 100.000%
39 ; OVERLAP1: overlap hot blocks: 12
40 ; OVERLAP1: hot blocks unique in base profile: 0
41 ; OVERLAP1: hot blocks unique in test profile: 0
43 ; RUN: llvm-profdata overlap --sample --similarity-cutoff=800000 %S/Inputs/sample-overlap-0.proftext %S/Inputs/sample-overlap-2.proftext | FileCheck %s --check-prefix=OVERLAP2 --match-full-lines --strict-whitespace
44 ; OVERLAP2:Program level:
45 ; OVERLAP2: Whole program profile similarity: 63.720%
46 ; OVERLAP2: Whole program sample overlap: 29.649%
47 ; OVERLAP2: percentage of samples unique in base profile: 0.000%
48 ; OVERLAP2: percentage of samples unique in test profile: 0.000%
49 ; OVERLAP2: total samples in base profile: 13943
50 ; OVERLAP2: total samples in test profile: 4134
51 ; OVERLAP2: Function overlap: 100.000%
52 ; OVERLAP2: overlap functions: 4
53 ; OVERLAP2: functions unique in base profile: 0
54 ; OVERLAP2: functions unique in test profile: 0
55 ; OVERLAP2: Hot-function overlap: 100.000%
56 ; OVERLAP2: overlap hot functions: 4
57 ; OVERLAP2: hot functions unique in base profile: 0
58 ; OVERLAP2: hot functions unique in test profile: 0
59 ; OVERLAP2: Hot-block overlap: 100.000%
60 ; OVERLAP2: overlap hot blocks: 12
61 ; OVERLAP2: hot blocks unique in base profile: 0
62 ; OVERLAP2: hot blocks unique in test profile: 0
63 ; OVERLAP2:Function-level details:
64 ; OVERLAP2:Base weight Test weight Similarity Overlap Base unique Test unique Base samples Test samples Function name
65 ; OVERLAP2:78.15% 26.29% 48.09% 9.98% 0.00% 0.00% 10896 1087 main
66 ; OVERLAP2:10.31% 34.76% 75.55% 100.00% 0.00% 0.00% 1437 1437 _Z3bari
68 ; RUN: llvm-profdata overlap --sample --value-cutoff=1000 %S/Inputs/sample-overlap-0.proftext %S/Inputs/sample-overlap-3.proftext | FileCheck %s --check-prefix=OVERLAP3 --match-full-lines --strict-whitespace
69 ; OVERLAP3:Program level:
70 ; OVERLAP3: Whole program profile similarity: 14.301%
71 ; OVERLAP3: Whole program sample overlap: 6.040%
72 ; OVERLAP3: percentage of samples unique in base profile: 82.522%
73 ; OVERLAP3: percentage of samples unique in test profile: 88.216%
74 ; OVERLAP3: total samples in base profile: 13943
75 ; OVERLAP3: total samples in test profile: 13043
76 ; OVERLAP3: Function overlap: 33.333%
77 ; OVERLAP3: overlap functions: 2
78 ; OVERLAP3: functions unique in base profile: 2
79 ; OVERLAP3: functions unique in test profile: 2
80 ; OVERLAP3: Hot-function overlap: 16.667%
81 ; OVERLAP3: overlap hot functions: 1
82 ; OVERLAP3: hot functions unique in base profile: 3
83 ; OVERLAP3: hot functions unique in test profile: 2
84 ; OVERLAP3: Hot-block overlap: 4.545%
85 ; OVERLAP3: overlap hot blocks: 1
86 ; OVERLAP3: hot blocks unique in base profile: 11
87 ; OVERLAP3: hot blocks unique in test profile: 10
88 ; OVERLAP3:Function-level details:
89 ; OVERLAP3:Base weight Test weight Similarity Overlap Base unique Test unique Base samples Test samples Function name
90 ; OVERLAP3:10.31% 11.02% 99.29% 100.00% 0.00% 0.00% 1437 1437 _Z3bari
91 ; OVERLAP3:0.00% 83.54% 0.00% 0.00% 0.00% 100.00% 0 10896 main2
93 ; RUN: llvm-profdata overlap --sample --function=main %S/Inputs/sample-overlap-0.proftext %S/Inputs/sample-overlap-4.proftext | FileCheck %s --check-prefix=OVERLAP4 --match-full-lines --strict-whitespace
94 ; OVERLAP4:Program level:
95 ; OVERLAP4: Whole program profile similarity: 17.302%
96 ; OVERLAP4: Whole program sample overlap: 8.134%
97 ; OVERLAP4: percentage of samples unique in base profile: 73.542%
98 ; OVERLAP4: percentage of samples unique in test profile: 82.209%
99 ; OVERLAP4: total samples in base profile: 13943
100 ; OVERLAP4: total samples in test profile: 10213
101 ; OVERLAP4: Function overlap: 100.000%
102 ; OVERLAP4: overlap functions: 4
103 ; OVERLAP4: functions unique in base profile: 0
104 ; OVERLAP4: functions unique in test profile: 0
105 ; OVERLAP4: Hot-function overlap: 100.000%
106 ; OVERLAP4: overlap hot functions: 4
107 ; OVERLAP4: hot functions unique in base profile: 0
108 ; OVERLAP4: hot functions unique in test profile: 0
109 ; OVERLAP4: Hot-block overlap: 14.286%
110 ; OVERLAP4: overlap hot blocks: 3
111 ; OVERLAP4: hot blocks unique in base profile: 9
112 ; OVERLAP4: hot blocks unique in test profile: 9
113 ; OVERLAP4:Function-level details:
114 ; OVERLAP4:Base weight Test weight Similarity Overlap Base unique Test unique Base samples Test samples Function name
115 ; OVERLAP4:78.15% 70.17% 23.33% 11.18% 66.14% 74.64% 10896 7166 main
117 ; RUN: llvm-profdata overlap --sample %S/Inputs/sample-overlap-0.proftext %S/Inputs/sample-overlap-5.proftext | FileCheck %s --check-prefix=OVERLAP5 --match-full-lines --strict-whitespace
118 ; OVERLAP5:Sum of sample counts for profile {{.*}}/Inputs/sample-overlap-5.proftext is 0.
121 ; RUN: llvm-profdata overlap --sample %S/Inputs/cs-sample.proftext %S/Inputs/cs-sample.proftext | FileCheck %s --check-prefix=CS --match-full-lines --strict-whitespace
123 ; CS: Whole program profile similarity: 100.000%
124 ; CS: Whole program sample overlap: 100.000%
125 ; CS: percentage of samples unique in base profile: 0.000%
126 ; CS: percentage of samples unique in test profile: 0.000%
127 ; CS: total samples in base profile: 772562
128 ; CS: total samples in test profile: 772562
129 ; CS: Function overlap: 100.000%
130 ; CS: overlap functions: 8
131 ; CS: functions unique in base profile: 0
132 ; CS: functions unique in test profile: 0
133 ; CS: Hot-function overlap: 100.000%
134 ; CS: overlap hot functions: 2
135 ; CS: hot functions unique in base profile: 0
136 ; CS: hot functions unique in test profile: 0
137 ; CS: Hot-block overlap: 100.000%
138 ; CS: overlap hot blocks: 6
139 ; CS: hot blocks unique in base profile: 0
140 ; CS: hot blocks unique in test profile: 0