zatrazz added a comment. In D96803#2569436 <https://reviews.llvm.org/D96803#2569436>, @aeubanks wrote:
> In D96803#2568179 <https://reviews.llvm.org/D96803#2568179>, @zatrazz wrote: > >> In D96803#2566322 <https://reviews.llvm.org/D96803#2566322>, @aeubanks wrote: >> >>> why is this now a module pass? >> >> Mainly to avoid the default rule from new pass manager to *not* apply any >> FunctionPass for optnone (which is the main issue for PR49143). Is there a >> better way to accomplish it? I noted also that >> createModuleToFunctionPassAdaptor basically creates a adaptor that applies >> the pass to all function on the module. > > It's always good to make the pass as specific as possible (e.g. prefer a > function pass rather than a module pass) so it doesn't have to worry about > infra. For example, just iterating over functions doesn't skip declarations. I modeled it after AlwaysInlinerPass, since it seems that it was enabled at -O0 as well. To keep EntryExitInstrumenterPass a function pass and enable it with -O0 I think we will need a way to communicate to the pass manager that the pass should be run even with optnone, my understanding was that a ModulePass will the way to do it. Do we have a way to advertise that a function pass should be run regardless of ' optnone' ? > The whole point of `isRequired()` is to make the pass always run when it's > added to the pipeline, so making it a module pass shouldn't be necessary with > that line. Indeed, I have added to fix a testcase but it does seem unrequired. I will remove it. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D96803/new/ https://reviews.llvm.org/D96803 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits