[llvm] [LTO] Enable adding custom pass instrumentation callbacks (PR #71268)

Igor Kudrin via llvm-commits llvm-commits at lists.llvm.org
Mon Nov 27 14:08:19 PST 2023


igorkudrin wrote:

> Interesting, essentially you are doing 2 rounds of LTO?

That's right.

> Is the EliminateAvailableExternallyPass the only one you want to disable?

`EliminateAvailableExternallyPass` is the only pass we have found issues with so far. 

> Another approach would be to add an internal option to enable or skip that pass, like many of the other -enable-* flags in PassBuilderPipelines.cpp.

These are command-line options and their variables are local to the TU. There is no API to access them from other components. Designing a global filter could be a solution, but for now, it seems too complex for our needs. Moreover, using such an API would mean that components communicate through a global state, which is usually not considered a good program design.

> There are existing options to register a custom opt pipeline completely, but I suppose you want something very close to an existing pass pipeline minus a handful of passes?

That's right again. We want to run the typical LTO pass pipelines with only minor customizations.


https://github.com/llvm/llvm-project/pull/71268


More information about the llvm-commits mailing list