[PATCH] D82320: [NPM] Attempt to run opt passes specified via -foo-pass under NPM

Arthur Eubanks via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Jun 22 18:49:15 PDT 2020


aeubanks added a comment.

In D82320#2107899 <https://reviews.llvm.org/D82320#2107899>, @ychen wrote:

> In D82320#2107835 <https://reviews.llvm.org/D82320#2107835>, @aeubanks wrote:
>
> > In D82320#2107762 <https://reviews.llvm.org/D82320#2107762>, @ychen wrote:
> >
> > > This is great! What are these failures look like? Do they look straightforward to fix?
> >
> >
> > Updated the description.
> >  Most of them are passes either not ported to NPM
>
>
> I would assume most of these are passes for codegen pipeline?


No, codegen hasn't really been updated to work with NPM at all. For example we don't even have some sort of MachineFunctionPassManager yet (I found your older https://reviews.llvm.org/D67687 which hasn't been submitted yet).
Under clang if NPM is enabled, it runs the pre-codegen passes under NPM, but then just runs the codegen passes separately under legacy PM.
For tests, almost all codegen passes use llc instead of opt. The one odd pass I've run into was CodeGenPrepare, which is pre-codegen, but requires some codegen analysis (MachineModuleAnalysis I believe), which was part of https://reviews.llvm.org/D67687.

> 
> 
>   or don't have the same name in PassRegistry.def as their old name.
> 
>> I was thinking about potentially creating some wrapper class around old PM passes but I don't think that would work.
> 
> Not for this patch, how about adding the old name in the PassRegistry.def as an alternative name?

Yes that works for some cases where the pass has been ported to NPM.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D82320/new/

https://reviews.llvm.org/D82320





More information about the llvm-commits mailing list