diff options
| author | Rong Xu <xur@google.com> | 2019-01-08 22:41:48 +0000 |
|---|---|---|
| committer | Rong Xu <xur@google.com> | 2019-01-08 22:41:48 +0000 |
| commit | 52aa224affbf2559387e59d71ad809b4bd726e7a (patch) | |
| tree | ff78b56173980a26d12ebb6ad959517cbb3b529d /llvm/test/tools/llvm-profdata | |
| parent | d023dd60e944886a9d5a0b1dbf46f67d43293af8 (diff) | |
| download | bcm5719-llvm-52aa224affbf2559387e59d71ad809b4bd726e7a.tar.gz bcm5719-llvm-52aa224affbf2559387e59d71ad809b4bd726e7a.zip | |
[llvm-profdata] add value-cutoff functionality in show command
This patch improves llvm-profdata show command:
(1) add -value-cutoff=<N> option: Show only those functions whose max count
values are greater or equal to N.
(2) add -list-below-cutoff option: Only output names of functions whose max
count value are below the cutoff.
(3) formats value-profile counts and prints out percentage.
Differential Revision: https://reviews.llvm.org/D56342
llvm-svn: 350673
Diffstat (limited to 'llvm/test/tools/llvm-profdata')
| -rw-r--r-- | llvm/test/tools/llvm-profdata/Inputs/cutoff.proftext | 21 | ||||
| -rw-r--r-- | llvm/test/tools/llvm-profdata/cutoff.test | 23 | ||||
| -rw-r--r-- | llvm/test/tools/llvm-profdata/value-prof.proftext | 6 |
3 files changed, 47 insertions, 3 deletions
diff --git a/llvm/test/tools/llvm-profdata/Inputs/cutoff.proftext b/llvm/test/tools/llvm-profdata/Inputs/cutoff.proftext new file mode 100644 index 00000000000..1ce4843f54f --- /dev/null +++ b/llvm/test/tools/llvm-profdata/Inputs/cutoff.proftext @@ -0,0 +1,21 @@ +# IR level Instrumentation Flag +:ir +bar +10 +2 +0 +0 + +main +16650 +4 +1 +1000 +1000000 +499500 + +foo +10 +2 +999 +1 diff --git a/llvm/test/tools/llvm-profdata/cutoff.test b/llvm/test/tools/llvm-profdata/cutoff.test new file mode 100644 index 00000000000..f04ea16f324 --- /dev/null +++ b/llvm/test/tools/llvm-profdata/cutoff.test @@ -0,0 +1,23 @@ +Basic tests for cutoff options in show command. + +RUN: llvm-profdata show -value-cutoff=1 %p/Inputs/cutoff.proftext | FileCheck %s -check-prefix=CUTOFF1 -check-prefix=CHECK +RUN: llvm-profdata show -value-cutoff=1000 %p/Inputs/cutoff.proftext | FileCheck %s -check-prefix=CUTOFF1000 -check-prefix=CHECK +RUN: llvm-profdata show -all-functions -value-cutoff=1 %p/Inputs/cutoff.proftext | FileCheck %s -check-prefix=CUTOFF1FUNC -check-prefix=CUTOFF1 -check-prefix=CHECK +RUN: llvm-profdata show -all-functions -value-cutoff=1000 %p/Inputs/cutoff.proftext | FileCheck %s -check-prefix=CUTOFF1000FUNC -check-prefix=CUTOFF1000 -check-prefix=CHECK +RUN: llvm-profdata show -value-cutoff=1 -list-below-cutoff %p/Inputs/cutoff.proftext | FileCheck %s -check-prefix=BELOW1 -check-prefix=CUTOFF1 -check-prefix=CHECK +RUN: llvm-profdata show -value-cutoff=1000 -list-below-cutoff %p/Inputs/cutoff.proftext | FileCheck %s -check-prefix=BELOW1000 -check-prefix=CUTOFF1000 -check-prefix=CHECK +CUTOFF1FUNC-NOT: bar +CUTOFF1FUNC: Functions shown: 2 +CUTOFF1000FUNC-NOT: bar +CUTOFF1000FUNC-NOT: foo +CUTOFF1000FUNC: Functions shown: 1 +BELOW1: The list of functions with the maximum counter less than 1: +BELOW1: bar: (Max = 0 Sum = 0) +BELOW1000:The list of functions with the maximum counter less than 1000: +BELOW1000: bar: (Max = 0 Sum = 0) +BELOW1000: foo: (Max = 999 Sum = 1000) +CHECK: Total functions: 3 +CUTOFF1: Number of functions with maximum count (< 1): 1 +CUTOFF1: Number of functions with maximum count (>= 1): 2 +CUTOFF1000: Number of functions with maximum count (< 1000): 2 +CUTOFF1000: Number of functions with maximum count (>= 1000): 1 diff --git a/llvm/test/tools/llvm-profdata/value-prof.proftext b/llvm/test/tools/llvm-profdata/value-prof.proftext index 31a7698895d..a854a51afa6 100644 --- a/llvm/test/tools/llvm-profdata/value-prof.proftext +++ b/llvm/test/tools/llvm-profdata/value-prof.proftext @@ -47,9 +47,9 @@ foo2:20000 #ICTXT: Indirect Call Site Count: 3 #ICTXT-NEXT: Indirect Target Results: -#ICTXT-NEXT: [ 1, foo, 100 ] -#ICTXT-NEXT: [ 1, foo2, 1000 ] -#ICTXT-NEXT: [ 2, foo2, 20000 ] +#ICTXT-NEXT: [ 1, foo, 100 ] (9.09%) +#ICTXT-NEXT: [ 1, foo2, 1000 ] (90.91%) +#ICTXT-NEXT: [ 2, foo2, 20000 ] (100.00%) #IC: Indirect Call Site Count: 3 #IC-NEXT: Indirect Target Results: |

