mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2026-04-21 23:17:16 +00:00
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
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user