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

Yuanfang Chen via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Jun 22 19:21:00 PDT 2020


ychen added a comment.

In D82320#2107956 <https://reviews.llvm.org/D82320#2107956>, @aeubanks wrote:

> 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.


Thanks. I'm asking because I have vague memory that there are some codegen IR passes that are driven by `opt` instead of `llc`. But as you said, they are not. I guess @leonardchan got a better idea about our situation on passes (ported/not ported).

>> 
>> 
>>   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