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