aboutsummaryrefslogtreecommitdiff
path: root/test/tools/llvm-profdata/c-general.test
blob: ddb95d1260d88431b0e8db35c24c8c70f5cf1748 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
REGENERATE: You need a checkout of clang with compiler-rt to generate the
REGENERATE: binary file here.  These shell commands can be used to regenerate
REGENERATE: it.
REGENERATE:
REGENERATE: $ SRC=path/to/llvm
REGENERATE: $ CFE=$SRC/tools/clang
REGENERATE: $ TESTDIR=$SRC/test/tools/llvm-profdata
REGENERATE: $ CFE_TESTDIR=$CFE/test/Profile
REGENERATE: $ clang -o a.out -fprofile-instr-generate $CFE_TESTDIR/c-general.c
REGENERATE: $ LLVM_PROFILE_FILE=$TESTDIR/Inputs/c-general.profraw ./a.out

RUN: llvm-profdata show %p/Inputs/c-general.profraw -o - | FileCheck %s
RUN: llvm-profdata show %p/Inputs/c-general.profraw --topn=3 -o - | FileCheck %s --check-prefix=TOPN
RUN: llvm-profdata show %p/Inputs/c-general.profraw -o - --function=switches | FileCheck %s -check-prefix=SWITCHES -check-prefix=CHECK

SWITCHES-LABEL: Counters:
SWITCHES-NEXT:   switches:
SWITCHES-NEXT:     Hash: 0x2618e4f23f2e8daa
SWITCHES-NEXT:     Counters: 19
SWITCHES-NEXT:     Function count: 1
SWITCHES-LABEL: Functions shown: 1

CHECK-LABEL: Total functions: 12
CHECK-NEXT: Maximum function count: 1
CHECK-NEXT: Maximum internal block count: 100
TOPN: boolean_operators, max count = 100
TOPN-NEXT: simple_loops, max count = 100
TOPN-NEXT:  conditionals, max count = 100