; 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 ; OVERLAP0:Program level: ; OVERLAP0: Whole program profile similarity: 100.000% ; OVERLAP0: Whole program sample overlap: 100.000% ; OVERLAP0: percentage of samples unique in base profile: 0.000% ; OVERLAP0: percentage of samples unique in test profile: 0.000% ; OVERLAP0: total samples in base profile: 13943 ; OVERLAP0: total samples in test profile: 13943 ; OVERLAP0: Function overlap: 100.000% ; OVERLAP0: overlap functions: 4 ; OVERLAP0: functions unique in base profile: 0 ; OVERLAP0: functions unique in test profile: 0 ; OVERLAP0: Hot-function overlap: 100.000% ; OVERLAP0: overlap hot functions: 4 ; OVERLAP0: hot functions unique in base profile: 0 ; OVERLAP0: hot functions unique in test profile: 0 ; OVERLAP0: Hot-block overlap: 100.000% ; OVERLAP0: overlap hot blocks: 12 ; OVERLAP0: hot blocks unique in base profile: 0 ; OVERLAP0: hot blocks unique in test profile: 0 ; 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 ; OVERLAP1:Program level: ; OVERLAP1: Whole program profile similarity: 100.000% ; OVERLAP1: Whole program sample overlap: 10.000% ; OVERLAP1: percentage of samples unique in base profile: 0.000% ; OVERLAP1: percentage of samples unique in test profile: 0.000% ; OVERLAP1: total samples in base profile: 13943 ; OVERLAP1: total samples in test profile: 139430 ; OVERLAP1: Function overlap: 100.000% ; OVERLAP1: overlap functions: 4 ; OVERLAP1: functions unique in base profile: 0 ; OVERLAP1: functions unique in test profile: 0 ; OVERLAP1: Hot-function overlap: 100.000% ; OVERLAP1: overlap hot functions: 4 ; OVERLAP1: hot functions unique in base profile: 0 ; OVERLAP1: hot functions unique in test profile: 0 ; OVERLAP1: Hot-block overlap: 100.000% ; OVERLAP1: overlap hot blocks: 12 ; OVERLAP1: hot blocks unique in base profile: 0 ; OVERLAP1: hot blocks unique in test profile: 0 ; 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 ; OVERLAP2:Program level: ; OVERLAP2: Whole program profile similarity: 63.720% ; OVERLAP2: Whole program sample overlap: 29.649% ; OVERLAP2: percentage of samples unique in base profile: 0.000% ; OVERLAP2: percentage of samples unique in test profile: 0.000% ; OVERLAP2: total samples in base profile: 13943 ; OVERLAP2: total samples in test profile: 4134 ; OVERLAP2: Function overlap: 100.000% ; OVERLAP2: overlap functions: 4 ; OVERLAP2: functions unique in base profile: 0 ; OVERLAP2: functions unique in test profile: 0 ; OVERLAP2: Hot-function overlap: 100.000% ; OVERLAP2: overlap hot functions: 4 ; OVERLAP2: hot functions unique in base profile: 0 ; OVERLAP2: hot functions unique in test profile: 0 ; OVERLAP2: Hot-block overlap: 100.000% ; OVERLAP2: overlap hot blocks: 12 ; OVERLAP2: hot blocks unique in base profile: 0 ; OVERLAP2: hot blocks unique in test profile: 0 ; OVERLAP2:Function-level details: ; OVERLAP2:Base weight Test weight Similarity Overlap Base unique Test unique Base samples Test samples Function name ; OVERLAP2:78.15% 26.29% 48.09% 9.98% 0.00% 0.00% 10896 1087 main ; OVERLAP2:10.31% 34.76% 75.55% 100.00% 0.00% 0.00% 1437 1437 _Z3bari ; 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 ; OVERLAP3:Program level: ; OVERLAP3: Whole program profile similarity: 14.301% ; OVERLAP3: Whole program sample overlap: 6.040% ; OVERLAP3: percentage of samples unique in base profile: 82.522% ; OVERLAP3: percentage of samples unique in test profile: 88.216% ; OVERLAP3: total samples in base profile: 13943 ; OVERLAP3: total samples in test profile: 13043 ; OVERLAP3: Function overlap: 33.333% ; OVERLAP3: overlap functions: 2 ; OVERLAP3: functions unique in base profile: 2 ; OVERLAP3: functions unique in test profile: 2 ; OVERLAP3: Hot-function overlap: 16.667% ; OVERLAP3: overlap hot functions: 1 ; OVERLAP3: hot functions unique in base profile: 3 ; OVERLAP3: hot functions unique in test profile: 2 ; OVERLAP3: Hot-block overlap: 4.545% ; OVERLAP3: overlap hot blocks: 1 ; OVERLAP3: hot blocks unique in base profile: 11 ; OVERLAP3: hot blocks unique in test profile: 10 ; OVERLAP3:Function-level details: ; OVERLAP3:Base weight Test weight Similarity Overlap Base unique Test unique Base samples Test samples Function name ; OVERLAP3:10.31% 11.02% 99.29% 100.00% 0.00% 0.00% 1437 1437 _Z3bari ; OVERLAP3:0.00% 83.54% 0.00% 0.00% 0.00% 100.00% 0 10896 main2 ; 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 ; OVERLAP4:Program level: ; OVERLAP4: Whole program profile similarity: 17.302% ; OVERLAP4: Whole program sample overlap: 8.134% ; OVERLAP4: percentage of samples unique in base profile: 73.542% ; OVERLAP4: percentage of samples unique in test profile: 82.209% ; OVERLAP4: total samples in base profile: 13943 ; OVERLAP4: total samples in test profile: 10213 ; OVERLAP4: Function overlap: 100.000% ; OVERLAP4: overlap functions: 4 ; OVERLAP4: functions unique in base profile: 0 ; OVERLAP4: functions unique in test profile: 0 ; OVERLAP4: Hot-function overlap: 100.000% ; OVERLAP4: overlap hot functions: 4 ; OVERLAP4: hot functions unique in base profile: 0 ; OVERLAP4: hot functions unique in test profile: 0 ; OVERLAP4: Hot-block overlap: 14.286% ; OVERLAP4: overlap hot blocks: 3 ; OVERLAP4: hot blocks unique in base profile: 9 ; OVERLAP4: hot blocks unique in test profile: 9 ; OVERLAP4:Function-level details: ; OVERLAP4:Base weight Test weight Similarity Overlap Base unique Test unique Base samples Test samples Function name ; OVERLAP4:78.15% 70.17% 23.33% 11.18% 66.14% 74.64% 10896 7166 main ; 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 ; OVERLAP5:Sum of sample counts for profile {{.*}}/Inputs/sample-overlap-5.proftext is 0. ; 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 ; CS:Program level: ; CS: Whole program profile similarity: 100.000% ; CS: Whole program sample overlap: 100.000% ; CS: percentage of samples unique in base profile: 0.000% ; CS: percentage of samples unique in test profile: 0.000% ; CS: total samples in base profile: 772562 ; CS: total samples in test profile: 772562 ; CS: Function overlap: 100.000% ; CS: overlap functions: 8 ; CS: functions unique in base profile: 0 ; CS: functions unique in test profile: 0 ; CS: Hot-function overlap: 100.000% ; CS: overlap hot functions: 2 ; CS: hot functions unique in base profile: 0 ; CS: hot functions unique in test profile: 0 ; CS: Hot-block overlap: 100.000% ; CS: overlap hot blocks: 6 ; CS: hot blocks unique in base profile: 0 ; CS: hot blocks unique in test profile: 0