[llvm-dev] Adding custom callback function before/after passes
Jakub Kuderski via llvm-dev
llvm-dev at lists.llvm.org
Thu Dec 12 14:56:45 PST 2019
Being able to add these callbacks under the legacy PM would be super useful
for me. Currently, I have a set of local patches similar to what Neil
described. Any less ad hoc solution, such as the callback, would be a nice
Unfortunately, I don't know enough about the PM to comment on your patch.
On Wed, Dec 11, 2019 at 7:50 PM Juneyoung Lee via llvm-dev <
llvm-dev at lists.llvm.org> wrote:
> Hello Fedor.
> Thank you for the information.
> I made a simple patch that exposes PassInstrumentationCallback so
> llvmGetPassPluginInfo can use it: https://reviews.llvm.org/D71086 . Would
> this change make sense?
> Juneyoung Lee
> On Thu, Dec 12, 2019 at 12:44 AM Fedor Sergeev <fedor.sergeev at azul.com>
>> On 12/3/19 8:01 PM, Juneyoung Lee via llvm-dev wrote:
>> Hello all,
>> Is there a way to register callback that runs before/after passes?
>> PassTimingInfo seems to do a similar thing by calling
>> PassInstrumentationCallbacks::registerBeforePassCallback /
>> registerAfterPassCallback, but it is hard-wired with
>> StandardInstrumentations class.
>> PassInstrumentation framework was introduced to the new PassManager
>> specifically in mind with ability
>> to register arbitrary callbacks and execute them as pass manager
>> traverses through the pass pipeline.
>> PassInstrumentationCallbacks are indeed the entity to register your
>> callbacks into, before passing it to PassBuilder;
>> You can check how it is being done in
>> StandardInstrumentations are just a few "standard" callbacks that provide
>> "standard" functionality, like -print-after-all or -time-passes.
>> StandardInstrumentations registers its individual instrumentations the
>> same way you would register your own.
>> Note, that PassInstrumentation is only supported in new pass manager (opt
>> -passes= or clang -fexperimental-new-pass-manager).
>> Do we have something similar to RegisterStandardPasses, so custom
>> callbacks can be added from somewhere outside LLVM?
>> Juneyoung Lee
>> LLVM Developers mailing listllvm-dev at lists.llvm.orghttps://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
> Juneyoung Lee
> Software Foundation Lab, Seoul National University
> LLVM Developers mailing list
> llvm-dev at lists.llvm.org
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the llvm-dev