llvm-project/llvm/test/tools/llvm-profdata/same-filename.test

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

28 lines
1.5 KiB
Plaintext
Raw Normal View History

Test the input file names overlap with the output file names.
This is OK for merging instrument profiles.
RUN: cp %S/Inputs/same-name-1.proftext %t.0.proftext
RUN: llvm-profdata merge -o %t.0.profdata -text %t.0.proftext %t.0.proftext
RUN: llvm-profdata show -counts -all-functions %t.0.profdata -o %t_show_0
RUN: llvm-profdata show -counts -all-functions %S/Inputs/same-name-2.proftext -o %t_show_1
RUN: diff %t_show_0 %t_show_1
RUN: llvm-profdata merge -o %t.1.profdata %S/Inputs/same-name-1.proftext
RUN: llvm-profdata merge -o %t.1.profdata %t.1.profdata %t.1.profdata
RUN: llvm-profdata show -counts -all-functions %t.1.profdata -o %t_show_2
RUN: diff %t_show_2 %t_show_1
We report error for the show command.
RUN: not llvm-profdata show -o %t.1.profdata %t.1.profdata 2>&1 | FileCheck %s
CHECK: llvm-profdata{{.*}} show: Input file name cannot be the same as the output file name!
This is OK for merging sample fdo profiles.
RUN: cp %S/Inputs/same-name-3.proftext %t.3.proftext
RUN: llvm-profdata merge --sample -o %t.3.profdata -text %t.3.proftext %t.3.proftext
RUN: llvm-profdata show --sample -counts -all-functions %t.3.profdata -o %t_show_3
RUN: llvm-profdata show --sample -counts -all-functions %S/Inputs/same-name-4.proftext -o %t_show_4
RUN: diff %t_show_3 %t_show_4
RUN: llvm-profdata merge --sample -o %t.5.profdata %S/Inputs/same-name-3.proftext
RUN: llvm-profdata merge --sample -o %t.5.profdata %t.5.profdata %t.5.profdata
RUN: llvm-profdata show --sample -counts -all-functions %t.5.profdata -o %t_show_6
RUN: diff %t_show_6 %t_show_4