diff options
author | Justin Bogner <mail@justinbogner.com> | 2014-04-18 21:48:40 +0000 |
---|---|---|
committer | Justin Bogner <mail@justinbogner.com> | 2014-04-18 21:48:40 +0000 |
commit | e153fb33e49bd6d44189d3659287338c410bc0ce (patch) | |
tree | 28b8eb8580f22648394e4d4e629d97cd0d72e4c9 /test | |
parent | 4c464def6ae721b09ebb7cf202e04339267f761a (diff) | |
download | llvm-e153fb33e49bd6d44189d3659287338c410bc0ce.tar.gz llvm-e153fb33e49bd6d44189d3659287338c410bc0ce.tar.bz2 llvm-e153fb33e49bd6d44189d3659287338c410bc0ce.tar.xz |
ProfileData: Add support for the indexed instrprof format
This adds support for an indexed instrumentation based profiling
format, which is just a small header and an on disk hash table. This
format will be used by clang's -fprofile-instr-use= for PGO.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@206656 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test')
-rw-r--r-- | test/tools/llvm-profdata/errors.test | 4 | ||||
-rw-r--r-- | test/tools/llvm-profdata/simple.test | 27 |
2 files changed, 20 insertions, 11 deletions
diff --git a/test/tools/llvm-profdata/errors.test b/test/tools/llvm-profdata/errors.test index 6ccb084869..50dd798b8d 100644 --- a/test/tools/llvm-profdata/errors.test +++ b/test/tools/llvm-profdata/errors.test @@ -5,9 +5,9 @@ RUN: llvm-profdata merge %p/Inputs/overflow.profdata %p/Inputs/overflow.profdata OVERFLOW: overflow.profdata: overflow: Counter overflow RUN: not llvm-profdata show %p/Inputs/invalid-count-later.profdata 2>&1 | FileCheck %s --check-prefix=INVALID-COUNT-LATER -RUN: not llvm-profdata merge %p/Inputs/invalid-count-later.profdata %p/Inputs/invalid-count-later.profdata 2>&1 | FileCheck %s --check-prefix=INVALID-COUNT-LATER +RUN: not llvm-profdata merge %p/Inputs/invalid-count-later.profdata %p/Inputs/invalid-count-later.profdata -o /dev/null 2>&1 | FileCheck %s --check-prefix=INVALID-COUNT-LATER INVALID-COUNT-LATER: error: {{.*}}invalid-count-later.profdata: Malformed profile data RUN: not llvm-profdata show %p/Inputs/bad-hash.profdata 2>&1 | FileCheck %s --check-prefix=BAD-HASH -RUN: not llvm-profdata merge %p/Inputs/bad-hash.profdata %p/Inputs/bad-hash.profdata 2>&1 | FileCheck %s --check-prefix=BAD-HASH +RUN: not llvm-profdata merge %p/Inputs/bad-hash.profdata %p/Inputs/bad-hash.profdata -o /dev/null 2>&1 | FileCheck %s --check-prefix=BAD-HASH BAD-HASH: error: {{.*}}bad-hash.profdata: Malformed profile data diff --git a/test/tools/llvm-profdata/simple.test b/test/tools/llvm-profdata/simple.test index 97dda5a676..18741dd2ba 100644 --- a/test/tools/llvm-profdata/simple.test +++ b/test/tools/llvm-profdata/simple.test @@ -1,5 +1,7 @@ -RUN: llvm-profdata merge %p/Inputs/foo3-1.profdata %p/Inputs/foo3-2.profdata | llvm-profdata show - -all-functions -counts | FileCheck %s --check-prefix=FOO3 -RUN: llvm-profdata merge %p/Inputs/foo3-2.profdata %p/Inputs/foo3-1.profdata | llvm-profdata show - -all-functions -counts | FileCheck %s --check-prefix=FOO3 +RUN: llvm-profdata merge %p/Inputs/foo3-1.profdata %p/Inputs/foo3-2.profdata -o %t +RUN: llvm-profdata show %t -all-functions -counts | FileCheck %s --check-prefix=FOO3 +RUN: llvm-profdata merge %p/Inputs/foo3-2.profdata %p/Inputs/foo3-1.profdata -o %t +RUN: llvm-profdata show %t -all-functions -counts | FileCheck %s --check-prefix=FOO3 FOO3: foo: FOO3: Counters: 3 FOO3: Function count: 8 @@ -8,8 +10,10 @@ FOO3: Total functions: 1 FOO3: Maximum function count: 8 FOO3: Maximum internal block count: 7 -RUN: llvm-profdata merge %p/Inputs/foo4-1.profdata %p/Inputs/foo4-2.profdata | llvm-profdata show - -all-functions -counts | FileCheck %s --check-prefix=FOO4 -RUN: llvm-profdata merge %p/Inputs/foo4-2.profdata %p/Inputs/foo4-1.profdata | llvm-profdata show - -all-functions -counts | FileCheck %s --check-prefix=FOO4 +RUN: llvm-profdata merge %p/Inputs/foo4-1.profdata %p/Inputs/foo4-2.profdata -o %t +RUN: llvm-profdata show %t -all-functions -counts | FileCheck %s --check-prefix=FOO4 +RUN: llvm-profdata merge %p/Inputs/foo4-2.profdata %p/Inputs/foo4-1.profdata -o %t +RUN: llvm-profdata show %t -all-functions -counts | FileCheck %s --check-prefix=FOO4 FOO4: foo: FOO4: Counters: 4 FOO4: Function count: 18 @@ -18,8 +22,10 @@ FOO4: Total functions: 1 FOO4: Maximum function count: 18 FOO4: Maximum internal block count: 48 -RUN: llvm-profdata merge %p/Inputs/foo3bar3-1.profdata %p/Inputs/foo3bar3-2.profdata | llvm-profdata show - -all-functions -counts | FileCheck %s --check-prefix=FOO3BAR3 -RUN: llvm-profdata merge %p/Inputs/foo3bar3-2.profdata %p/Inputs/foo3bar3-1.profdata | llvm-profdata show - -all-functions -counts | FileCheck %s --check-prefix=FOO3BAR3 +RUN: llvm-profdata merge %p/Inputs/foo3bar3-1.profdata %p/Inputs/foo3bar3-2.profdata -o %t +RUN: llvm-profdata show %t -all-functions -counts | FileCheck %s --check-prefix=FOO3BAR3 +RUN: llvm-profdata merge %p/Inputs/foo3bar3-2.profdata %p/Inputs/foo3bar3-1.profdata -o %t +RUN: llvm-profdata show %t -all-functions -counts | FileCheck %s --check-prefix=FOO3BAR3 FOO3BAR3: foo: FOO3BAR3: Counters: 3 FOO3BAR3: Function count: 19 @@ -32,7 +38,8 @@ FOO3BAR3: Total functions: 2 FOO3BAR3: Maximum function count: 36 FOO3BAR3: Maximum internal block count: 50 -RUN: llvm-profdata merge %p/Inputs/empty.profdata %p/Inputs/foo3-1.profdata | llvm-profdata show - -all-functions -counts | FileCheck %s --check-prefix=FOO3EMPTY +RUN: llvm-profdata merge %p/Inputs/empty.profdata %p/Inputs/foo3-1.profdata -o %t +RUN: llvm-profdata show %t -all-functions -counts | FileCheck %s --check-prefix=FOO3EMPTY FOO3EMPTY: foo: FOO3EMPTY: Counters: 3 FOO3EMPTY: Function count: 1 @@ -41,7 +48,8 @@ FOO3EMPTY: Total functions: 1 FOO3EMPTY: Maximum function count: 1 FOO3EMPTY: Maximum internal block count: 3 -RUN: llvm-profdata merge %p/Inputs/foo3-1.profdata %p/Inputs/foo3bar3-1.profdata | llvm-profdata show - -all-functions -counts | FileCheck %s --check-prefix=FOO3FOO3BAR3 +RUN: llvm-profdata merge %p/Inputs/foo3-1.profdata %p/Inputs/foo3bar3-1.profdata -o %t +RUN: llvm-profdata show %t -all-functions -counts | FileCheck %s --check-prefix=FOO3FOO3BAR3 FOO3FOO3BAR3: foo: FOO3FOO3BAR3: Counters: 3 FOO3FOO3BAR3: Function count: 3 @@ -54,7 +62,8 @@ FOO3FOO3BAR3: Total functions: 2 FOO3FOO3BAR3: Maximum function count: 7 FOO3FOO3BAR3: Maximum internal block count: 13 -RUN: llvm-profdata merge %p/Inputs/foo3-1.profdata %p/Inputs/bar3-1.profdata | llvm-profdata show - -all-functions -counts | FileCheck %s --check-prefix=DISJOINT +RUN: llvm-profdata merge %p/Inputs/foo3-1.profdata %p/Inputs/bar3-1.profdata -o %t +RUN: llvm-profdata show %t -all-functions -counts | FileCheck %s --check-prefix=DISJOINT DISJOINT: foo: DISJOINT: Counters: 3 DISJOINT: Function count: 1 |