Files
clang-p2996/llvm/test/tools/llvm-profdata/inline-samples.test
Diego Novillo ef548d2918 SamplePGO - Sort samples by source location when emitting as text.
When dumping function samples or writing them out as text format, it
helps if the samples are emitted sorted by source location. The sorting
of the maps is a bit slow, so we only do it on demand.

llvm-svn: 253568
2015-11-19 15:33:08 +00:00

31 lines
1.4 KiB
Plaintext

Tests for conversion between text and binary encoded sample profiles.
1- Encode the original profile into binary form. All the tests below will use
the binary profile.
RUN: llvm-profdata merge --sample %p/Inputs/inline-samples.afdo -o %t.profbin
2- Show all functions. This profile has a single main() function with several
inlined callees.
RUN: llvm-profdata show --sample %t.profbin | FileCheck %s --check-prefix=SHOW1
SHOW1: Function: main: 366846, 0, 6 sampled lines
SHOW1: 2.3: inlined callee: _Z3fool: 246044, 0, 3 sampled lines
SHOW1: 1.3: inlined callee: _Z3bari: 0, 0, 2 sampled lines
SHOW1: 1.7: inlined callee: _Z3bari: 99492, 0, 2 sampled lines
SHOW1: 1.2: 46732
SHOW1: 1.8: inlined callee: _Z3bari: 0, 0, 2 sampled lines
3- Convert the binary profile to text encoding and check that they are both
identical.
RUN: llvm-profdata merge --sample %t.profbin --text -o - | llvm-profdata show --sample - -o %t-bintext
RUN: llvm-profdata show --sample %p/Inputs/inline-samples.afdo -o %t-text
RUN: diff %t-bintext %t-text
4- Merge the binary and text encodings of the profile and check that the
counters have doubled.
RUN: llvm-profdata merge --sample --text %t.profbin %p/Inputs/inline-samples.afdo -o - | FileCheck %s --check-prefix=MERGE1
MERGE1: main:733692:0
MERGE1: 2.3: 120802
MERGE1: 2.3: _Z3fool:492088
MERGE1: 1.7: _Z3bari:198984
MERGE1: 1.1: 105520