[llvm-dev] [RFC] Introduce Dump Accumulator

Renato Golin via llvm-dev
2020-08-06T08:46:56Z

On Thu, 6 Aug 2020 at 00:16, Mircea Trofin via llvm-dev
<llvm-dev at lists.llvm.org> wrote:
> The analysis in the scenarios here is external to LLVM - ML training, for
example. It's really a way to do printf, but where the data could be large
(challenging in a distributed build env, where IO may be throttled), or
non-textual (for instance, capture IR right before a pass). An alternative would
be to produce a side-file, but then (again, distributed build), you have to
collect those files and concatenate them, and modify the build system to be
aware of all that.

I don't understand why we'd add a functionality to LLVM that is
external to LLVM and not want to change the build system accordingly.

All of the needs you describe on your email can already be done using
optimization remarks and dumped into a file.

The main difference for you, in the distributed build, is that you
rely on the linker to do the concatenation, and for that you change
the compiler and the ELF files you produce.

Seems to me like a roundabout way of doing concatenation of debug
messages that could easily be done by a simple script and added to
your build system.

In the past, when I wanted something similar, I wrote a small script
that would be called as the compiler (CMAKE_C_COMPILER=myscript) and
it would do the fiddling with return values and the outputs onto local
fast storage. For a distributed build you'd need another script to
copy them into your dispatcher (or something), and that's it.

What am I missing?

cheers,
--renato