[PATCH] D64179: [CodeGen] Define an interface for the new pass manager.

Charles Zhang via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Aug 12 09:42:22 PDT 2019


czhang added a comment.

@fedor.sergeev

In D64179#1623993 <https://reviews.llvm.org/D64179#1623993>, @fedor.sergeev wrote:

> In D64179#1610998 <https://reviews.llvm.org/D64179#1610998>, @czhang wrote:
>
> > In D64179#1606205 <https://reviews.llvm.org/D64179#1606205>, @fedor.sergeev wrote:
> >
> > > I believe in order to make progress here we first need to settle down on a very principal matter -
> > >
> > >   what kind of IRUnit MachineFunction is?
> >
>
>
> Okey, everything you said there makes perfect sense. Thanks for clarification.
>
> >> There are many details to dive in, but first lets work on doing the basics right:
> >> 
> >>   MachineFunctionPassManager
> >>   FunctionToMachineFunctionPassAdaptor
> > 
> > This sentence doesn't quite parse for me. Could you please elaborate what you mean here? Which part of the basics specifically?
>
> I mean both should work :)
>  In particular, MachineFunctionPassManager.
>  It seems that you just defined a typedef in a hope that it will work... for one you need some tests to verify that.
>  And my guess is that as soon as you instantiate MachineFunctionPassManager::run you will hit missing interfaces that generic PassManager template refers to.
>  At least I'm sure you will hit PassInstrumentation ones.
>
> Lets first start with some basic unittests (see llvm/unittests/IR/PassManagerTest.cpp etc).


But everything does work :). The reason I know is because the 6 follow up patches after this allow llc to run and produce bitwise identical inputs for the 5 other passes I ported after this compared to the legacy pass manager. (using --run-new-pass after the prerequisite passes are manually run with stop-before). It's harder to see that's the case because I had split up this patch series,

Nonetheless, you are absolutely correct that some amount of unit testing is needed.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D64179





More information about the llvm-commits mailing list