xref: /llvm-project/llvm/test/tools/llvm-profdata/overlap.test (revision b6d77e792c3339425a733756b970dbac0da119fb)
1RUN: llvm-profdata overlap %p/Inputs/overlap_1.proftext %p/Inputs/overlap_2.proftext | FileCheck %s -check-prefix=OVERLAP
2RUN: llvm-profdata overlap -function=main %p/Inputs/overlap_1.proftext %p/Inputs/overlap_2.proftext | FileCheck %s --check-prefixes=MAINFUNC,OVERLAP
3RUN: llvm-profdata overlap -value-cutoff=15000 %p/Inputs/overlap_1.proftext %p/Inputs/overlap_2.proftext | FileCheck %s --check-prefixes=MAINFUNC,OVERLAP
4RUN: llvm-profdata merge %p/Inputs/overlap_1.proftext -o %t_1.profdata
5RUN: llvm-profdata merge %p/Inputs/overlap_2.proftext -o %t_2.profdata
6RUN: llvm-profdata overlap %t_1.profdata %t_2.profdata | FileCheck %s -check-prefix=OVERLAP
7MAINFUNC: Function: main (Hash=29212902728)
8MAINFUNC:   # of edge counters overlap: 2
9MAINFUNC:   Edge profile overlap: 100.000%
10MAINFUNC:   Edge profile base count sum: 200000
11MAINFUNC:   Edge profile test count sum: 20000
12OVERLAP: Profile overlap infomation for base_profile: {{.*}} and test_profile:
13OVERLAP: Program level:
14OVERLAP:   # of functions overlap: 2
15OVERLAP:   # of functions mismatch: 1
16OVERLAP:   # of functions only in test_profile: 1
17OVERLAP:   Edge profile overlap: 60.000%
18OVERLAP:   Mismatched count percentage (Edge): 20.000%
19OVERLAP:   Percentage of Edge profile only in test_profile: 20.000%
20OVERLAP:   Edge profile base count sum: 500000
21OVERLAP:   Edge profile test count sum: 50000
22