diff options
author | Amir Ayupov <aaupov@meta.com> | 2023-08-30 18:59:48 -0700 |
---|---|---|
committer | Amir Ayupov <aaupov@fb.com> | 2023-09-11 16:07:57 -0700 |
commit | 7b750943d722a23cdd4088b144af1691f1955ac9 (patch) | |
tree | 7b50525c1cbb41f1a77016faf00ea19d19b81575 /llvm/lib/CodeGen/ExpandVectorPredication.cpp | |
parent | ffef4fe0dbb9d734422343b1419724af61b6fddd (diff) | |
download | llvm-7b750943d722a23cdd4088b144af1691f1955ac9.zip llvm-7b750943d722a23cdd4088b144af1691f1955ac9.tar.gz llvm-7b750943d722a23cdd4088b144af1691f1955ac9.tar.bz2 |
[BOLT][NFC] Speedup YAML profile processing
Reduce YAML profile processing times:
- preprocessProfile: speed up buildNameMaps by replacing ProfileNameToProfile
mapping with ProfileFunctionNames set and ProfileBFs vector.
Pre-look up YamlBF->BF correspondence, memoize in ProfileBFs.
- readProfile: replace iteration over all functions in the binary by iteration
over profile functions (strict match and LTO name match).
On a large binary (1.9M functions) and large YAML profile (121MB, 30k functions)
reduces profile steps runtime:
pre-process profile data: 12.4953s -> 10.7123s
process profile data: 9.8195s -> 5.6639s
Compared to fdata profile reading:
pre-process profile data: 8.0268s
process profile data: 1.0265s
process profile data pre-CFG: 0.1644s
Reviewed By: #bolt, maksfb
Differential Revision: https://reviews.llvm.org/D159460
Diffstat (limited to 'llvm/lib/CodeGen/ExpandVectorPredication.cpp')
0 files changed, 0 insertions, 0 deletions