search for: runpasspipeline

Displaying 7 results from an estimated 7 matches for "runpasspipeline".

2019 Dec 12
3
Adding custom callback function before/after passes
...backs 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 > `llvm/tools/opt/NewPMDriver.cpp`llvm::runPassPipeline. > > 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. >...
2019 Aug 06
2
Status of the New Pass Manager
...gt;> anyone else see this? >> >> Are we talking about the same thing? > Apparently both yes and no. > How do you run this? > > IR printing is implemented through pass instrumentation and is enabled > in e.g. opt through the use of StandardInstrumentation > in llvm::runPassPipeline. > If you set up NewPM by yourself w/o the use llvm::runPassPipeline then > most likely you just do not have StandardInstrumentation installed. Reread your mail/output once more and honestly, I do not understand what happens there. Can you share exact setup where you get this? regards,  ...
2019 Dec 03
3
Adding custom callback function before/after passes
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. Do we have something similar to RegisterStandardPasses, so custom callbacks can be added from somewhere outside LLVM?
2019 Sep 08
2
New PM, opt and command line options
Hi all, I'm porting some LLVM plugins to the new pass manager and I've noticed that the command line options are no longer registered when using `-load-pass-plugin` (the new PM flag) to load the plugins in opt. Everything is back to normal when loading via `-load` (the legacy PM). For example, given this CL option: static cl::opt<bool> SomeFlat("some-flag",
2019 Aug 07
2
Status of the New Pass Manager
...Are we talking about the same thing? >> Apparently both yes and no. >> How do you run this? >> >> IR printing is implemented through pass instrumentation and is >> enabled in e.g. opt through the use of StandardInstrumentation >> in llvm::runPassPipeline. >> If you set up NewPM by yourself w/o the use llvm::runPassPipeline >> then most likely you just do not have StandardInstrumentation >> installed. > Reread your mail/output once more and honestly, I do not > understand what happens there. > Can y...
2019 Aug 06
2
Status of the New Pass Manager
I had a chance to try -print-after-all with NPM. It seems like there's still no output for the passes before objc-arc-contract (which is basically what I saw before.) Does anyone else see this? Are we talking about the same thing? *** IR Dump After ObjC ARC contraction *** *** IR Dump After Pre-ISel Intrinsic Lowering *** *** IR Dump After Expand Atomic instructions *** *** IR Dump After
2018 Aug 21
2
Function optimization pass
Hi Philip, Thanks for the response. Under llvm-5.0.2 and llvm-6.0.1 in Debug mode, the crash hit at the same assertion: /usr/local/include/llvm/IR/PassManager.h:689: typename PassT::Result& llvm::AnalysisManager<IRUnitT, ExtraArgTs>::getResult(IRUnitT&, ExtraArgTs ...) [with PassT = llvm::InnerAnalysisManagerProxy<llvm::AnalysisManager<llvm::Loop,