xref: /llvm-project/llvm/test/tools/llvm-profdata/memprof-merge-versions.test (revision ad2bdd8fab7b0ba05d25ec68ee06cf89e45fe369)
1REQUIRES: x86_64-linux
2
3RUN: echo ":ir" > %t.proftext
4RUN: echo "main" >> %t.proftext
5RUN: echo "742261418966908927" >> %t.proftext
6RUN: echo "1" >> %t.proftext
7RUN: echo "1" >> %t.proftext
8
9To update the inputs used below run Inputs/update_memprof_inputs.sh /path/to/updated/clang
10RUN: llvm-profdata merge %t.proftext %p/Inputs/basic.memprofraw --memprof-version=2 --profiled-binary %p/Inputs/basic.memprofexe -o %t.prof.v2
11RUN: llvm-profdata show %t.prof.v2 | FileCheck %s
12
13RUN: llvm-profdata merge %t.proftext %p/Inputs/basic.memprofraw --memprof-version=2 --memprof-full-schema --profiled-binary %p/Inputs/basic.memprofexe -o %t.prof.v2
14RUN: llvm-profdata show %t.prof.v2 | FileCheck %s
15
16RUN: llvm-profdata merge %t.proftext %p/Inputs/basic.memprofraw --memprof-version=3 --profiled-binary %p/Inputs/basic.memprofexe -o %t.prof.v3
17RUN: llvm-profdata show %t.prof.v3 | FileCheck %s
18
19RUN: llvm-profdata merge %t.proftext %p/Inputs/basic.memprofraw --memprof-version=3 --memprof-full-schema --profiled-binary %p/Inputs/basic.memprofexe -o %t.prof.v3
20RUN: llvm-profdata show %t.prof.v3 | FileCheck %s
21
22Check to see if llvm-profdata produces V3 by default.
23RUN: llvm-profdata merge %t.proftext %p/Inputs/basic.memprofraw --memprof-full-schema --profiled-binary %p/Inputs/basic.memprofexe -o %t.prof.default
24RUN: cmp %t.prof.default %t.prof.v3
25
26For now we only check the validity of the instrumented profile since we don't
27have a way to display the contents of the memprof indexed format yet.
28
29CHECK: Instrumentation level: IR  entry_first = 0
30CHECK: Total functions: 1
31CHECK: Maximum function count: 1
32CHECK: Maximum internal block count: 0
33