[MLGO] Use binary protobufs for improved training performance.
authorMircea Trofin <mtrofin@google.com>
Wed, 14 Jul 2021 22:03:14 +0000 (15:03 -0700)
committerMircea Trofin <mtrofin@google.com>
Mon, 19 Jul 2021 20:59:28 +0000 (13:59 -0700)
commit55e2d2060a367a293710f44fd61a03d797d4aade
treeb9b0cb7f8f0218fb3de771fd9c3b835585233097
parent4ae575b9997e0903d1c2ec01a43e3f3f2db5df16
[MLGO] Use binary protobufs for improved training performance.

It turns out that during training, the time required to parse the
textual protobuf of a training log is about the same as the time it
takes to compile the module generating that log. Using binary protobufs
instead elides that cost almost completely.

Differential Revision: https://reviews.llvm.org/D106157
llvm/CMakeLists.txt
llvm/lib/Analysis/CMakeLists.txt
llvm/lib/Analysis/TFUtils.cpp
llvm/test/Transforms/Inline/ML/bounds-checks-rewards.ll
llvm/test/Transforms/Inline/ML/development-training-log.ll
llvm/unittests/Analysis/TFUtilsTest.cpp