diff options
| author | Rong Xu <xur@google.com> | 2019-01-07 23:25:56 +0000 |
|---|---|---|
| committer | Rong Xu <xur@google.com> | 2019-01-07 23:25:56 +0000 |
| commit | 6f366c3a040e3bdc6756d455b0b82996cd5822ef (patch) | |
| tree | 8866195a9e78c6ed87df325942ad8544e2286073 /llvm/test | |
| parent | bf1fdb852f936ca7c8493c063d6f14ae552fb86f (diff) | |
| download | bcm5719-llvm-6f366c3a040e3bdc6756d455b0b82996cd5822ef.tar.gz bcm5719-llvm-6f366c3a040e3bdc6756d455b0b82996cd5822ef.zip | |
[PGO] Use SourceFileName rather module name in PGOFuncName
In LTO or Thin-lto mode (though linker plugin), the module
names are of temp file names which are different for
different compilations. Using SourceFileName avoids the issue.
This should not change any functionality for current PGO as
all the current callers of getPGOFuncName() is before LTO.
llvm-svn: 350579
Diffstat (limited to 'llvm/test')
| -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: |

