[llvm-dev] Support for older format versions in RawInstrProfReader

Vedant Kumar via llvm-dev llvm-dev at lists.llvm.org
Tue Aug 24 13:38:29 PDT 2021



> On Aug 24, 2021, at 8:24 AM, Xinliang David Li <davidxl at google.com> wrote:
> 
> On Mon, Aug 23, 2021 at 10:52 PM Petr Hosek <phosek at google.com <mailto:phosek at google.com>> wrote:
> Currently, while IndexedInstrProfReader provides backwards compatibility for indexed profile format, RawInstrProfReader only supports the current version of raw profile format. Has support for older raw profile format versions in RawInstrProfReader ever been considered?

Justin (cc'd) once explained to me that a key motivating factor for splitting up the raw and indexed profile formats was to free the runtime from back-compat concerns.

> 
> The reason why I'm asking is that we collect code coverage from both C++ and Rust, but since Clang and Rust toolchains use different version on LLVM, we need to match each profile with a corresponding llvm-profdata binary which has been increasing the complexity of our infrastructure quite a bit. 
> 
> Is it possible to save one reader binary per raw format version? What is the challenge of matching up versions with the reader binary?
> 
> Using the same llvm-profdata tool would simplify things a lot but would require backwards compatibility support in RawInstrProfReader. Would that be desirable?
> 
> Current scheme for raw format allows fast pace change and innovation. It also allows quite drastical format change. Losing that capability would be undesirable. Before pursuing this path, the benefit needs to outweigh the cost.

+ 1

vedant
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20210824/084100cc/attachment.html>


More information about the llvm-dev mailing list