1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-24 03:33:20 +01:00
llvm-mirror/test/tools/llvm-profdata
Wei Mi 2b916be8fe [SampleFDO] Store fixed length MD5 in NameTable instead of using ULEB128 if
MD5 is used.

Currently during sample profile loading, NameTable has to be loaded entirely
up front before any name string is retrieved. That is because NameTable is
stored using ULEB128 encoding and cannot be directly accessed like an array.
However, if MD5 is used to represent name in the NameTable, it has fixed
length. If MD5 names are stored in uint64_t type instead of ULEB128, NameTable
can be accessed like an array then in many cases only part of the NameTable
has to be read. This is helpful for reducing compile time especially when
small source file is compiled. We find that after this change, the elapsed
time to build a large application distributively is reduced by 5% and the
accumulative cpu time used for building is also reduced by 5%. The size of
the profile is slightly reduced with this change by ~0.2%, and that also
indicates encoding MD5 in ULEB128 doesn't save the storage space.

Differential Revision: https://reviews.llvm.org/D92621
2020-12-08 16:21:01 -08:00
..
Inputs
c-general.test
compact-sample.proftext
compat.proftext
count-mismatch.proftext
csprof-dump.test
cutoff.test
gcc-gcov-sample-profile.test
general.proftext
hash-mismatch.proftext
header-directives.test
inline-samples.test
input-dir.test
input-filenames.test
instr-remap.test
invalid-profdata.test
lit.local.cfg
malformed-ptr-to-counter-array.test
memop-size-prof.proftext
merge_empty_profile.test
multiple-inputs.test
multiple-profdata-merge.test
nocompress.test
overflow-instr.test
overflow-sample.test
overlap_cs.test
overlap_vp.test
overlap.test
profile-symbol-list-compress.test
profile-symbol-list.test
raw-32-bits-be.test
raw-32-bits-le.test
raw-64-bits-be.test
raw-64-bits-le.test
raw-magic-but-no-header.test
raw-two-profiles.test
roundtrip-compress.test
roundtrip.test
same-filename.test
sample-hot-func-list.test
sample-overlap.test
sample-profile-basic.test
sample-remap.test
sample-summary.test
show-instr-level.test
show-prof-info.test
suppl-instr-with-sample.test
text-dump.test
text-format-errors.test
threaded-count-mismatch.test
value-prof.proftext
weight-instr.test
weight-sample.test