mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-19 17:33:29 +00:00
e153fb33e4
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
78 lines
3.0 KiB
Plaintext
78 lines
3.0 KiB
Plaintext
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
|
|
FOO3: Block counts: [7, 6]
|
|
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 -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
|
|
FOO4: Block counts: [28, 38, 48]
|
|
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 -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
|
|
FOO3BAR3: Block counts: [22, 28]
|
|
FOO3BAR3: bar:
|
|
FOO3BAR3: Counters: 3
|
|
FOO3BAR3: Function count: 36
|
|
FOO3BAR3: Block counts: [42, 50]
|
|
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 -o %t
|
|
RUN: llvm-profdata show %t -all-functions -counts | FileCheck %s --check-prefix=FOO3EMPTY
|
|
FOO3EMPTY: foo:
|
|
FOO3EMPTY: Counters: 3
|
|
FOO3EMPTY: Function count: 1
|
|
FOO3EMPTY: Block counts: [2, 3]
|
|
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 -o %t
|
|
RUN: llvm-profdata show %t -all-functions -counts | FileCheck %s --check-prefix=FOO3FOO3BAR3
|
|
FOO3FOO3BAR3: foo:
|
|
FOO3FOO3BAR3: Counters: 3
|
|
FOO3FOO3BAR3: Function count: 3
|
|
FOO3FOO3BAR3: Block counts: [5, 8]
|
|
FOO3FOO3BAR3: bar:
|
|
FOO3FOO3BAR3: Counters: 3
|
|
FOO3FOO3BAR3: Function count: 7
|
|
FOO3FOO3BAR3: Block counts: [11, 13]
|
|
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 -o %t
|
|
RUN: llvm-profdata show %t -all-functions -counts | FileCheck %s --check-prefix=DISJOINT
|
|
DISJOINT: foo:
|
|
DISJOINT: Counters: 3
|
|
DISJOINT: Function count: 1
|
|
DISJOINT: Block counts: [2, 3]
|
|
DISJOINT: bar:
|
|
DISJOINT: Counters: 3
|
|
DISJOINT: Function count: 1
|
|
DISJOINT: Block counts: [2, 3]
|
|
DISJOINT: Total functions: 2
|
|
DISJOINT: Maximum function count: 1
|
|
DISJOINT: Maximum internal block count: 3
|