[llvm-shlib] Fix the version naming style of libLLVM for Windows (#85710)
[llvm-project.git] / llvm / test / tools / llvm-profdata / merge-filter.test
blob5c47c6a75a7c40cf249db49520552156f3833c0a
1 Test llvm-profdata merge with function filters.
3 RUN: llvm-profdata merge --sample %p/Inputs/sample-profile.proftext --text --function="_Z3.*" | FileCheck %s --check-prefix=CHECK-FILTER1
4 RUN: llvm-profdata merge --sample %p/Inputs/sample-profile.proftext --text --no-function="main" | FileCheck %s --check-prefix=CHECK-FILTER1
5 CHECK-FILTER1: _Z3bari:20301:1437
6 CHECK-NEXT:  1: 1437
7 CHECK-NEXT: _Z3fooi:7711:610
8 CHECK-NEXT:  1: 610
9 CHECK-NOT: main
11 RUN: llvm-profdata merge --sample %p/Inputs/sample-profile.proftext --text --function="_Z3.*" --no-function="fooi$" | FileCheck %s --check-prefix=CHECK-FILTER2
12 CHECK-FILTER2: _Z3bari:20301:1437
13 CHECK-NEXT:  1: 1437
14 CHECK-NOT: main
15 CHECK-NOT: _Z3fooi
17 RUN: llvm-profdata merge --sample --extbinary --use-md5 -output=%t.0.profdata %p/Inputs/sample-profile.proftext
18 RUN: llvm-profdata merge --sample %t.0.profdata --text --function="_Z3fooi" | FileCheck %s --check-prefix=CHECK-FILTER-MD5
19 CHECK-FILTER-MD5: 1228452328526475178:7711:610
20 CHECK-NEXT:  1: 610
21 CHECK-NOT: 15822663052811949562
22 CHECK-NOT: 3727899762981752933
24 RUN: llvm-profdata merge --instr %p/Inputs/basic.proftext --text --function="foo" | FileCheck %s --check-prefix=CHECK-FILTER3
25 RUN: llvm-profdata merge --instr %p/Inputs/basic.proftext --text --no-function="main" | FileCheck %s --check-prefix=CHECK-FILTER3
26 CHECK-FILTER3: foo
27 CHECK-NEXT: # Func Hash:
28 CHECK-NEXT: 10
29 CHECK-NEXT: # Num Counters:
30 CHECK-NEXT: 2
31 CHECK-NEXT: # Counter Values:
32 CHECK-NEXT: 499500
33 CHECK-NEXT: 179900
34 CHECK-NEXT: 
35 CHECK-NEXT: foo2
36 CHECK-NEXT: # Func Hash:
37 CHECK-NEXT: 10
38 CHECK-NEXT: # Num Counters:
39 CHECK-NEXT: 2
40 CHECK-NEXT: # Counter Values:
41 CHECK-NEXT: 500500
42 CHECK-NEXT: 180100
44 RUN: llvm-profdata merge --instr %p/Inputs/basic.proftext --text --function="foo" --no-function="^foo$" | FileCheck %s --check-prefix=CHECK-FILTER4
45 CHECK-FILTER4: foo2
46 CHECK-NEXT: # Func Hash:
47 CHECK-NEXT: 10
48 CHECK-NEXT: # Num Counters:
49 CHECK-NEXT: 2
50 CHECK-NEXT: # Counter Values:
51 CHECK-NEXT: 500500
52 CHECK-NEXT: 180100
54 RUN: llvm-profdata merge --sample %p/Inputs/cs-sample.proftext --text --function="main.*@.*_Z5funcBi" | FileCheck %s --check-prefix=CHECK-FILTER5
55 CHECK-FILTER5: [main:3.1 @ _Z5funcBi:1 @ _Z8funcLeafi]:500853:20
56 CHECK-NEXT:  0: 15
57 CHECK-NEXT:  1: 15
58 CHECK-NEXT:  3: 74946
59 CHECK-NEXT:  4: 74941 _Z3fibi:82359
60 CHECK-NEXT:  10: 23324
61 CHECK-NEXT:  11: 23327 _Z3fibi:25228
62 CHECK-NEXT:  15: 11
63 CHECK-NEXT:  !Attributes: 1
64 CHECK-NEXT: [main:3.1 @ _Z5funcBi]:120:19
65 CHECK-NEXT:  0: 19
66 CHECK-NEXT:  1: 19 _Z8funcLeafi:20
67 CHECK-NEXT:  3: 12
68 CHECK-NEXT:  !Attributes: 1