[llvm-dev] RFC: Switching to the new pass manager by default

Davide Italiano via llvm-dev llvm-dev at lists.llvm.org
Thu Oct 19 09:01:45 PDT 2017


On Tue, Oct 17, 2017 at 11:50 PM, Chandler Carruth via llvm-dev
<llvm-dev at lists.llvm.org> wrote:
> Greetings everyone!
>
> The new pass manager is getting extremely close to the point where I'm not
> aware of any significant outstanding work needed, and I'd like to see what
> else would be needed to enable it by default. Here are the current
> functionality I'm aware of outstanding:
>
> 1) Does not do non-trivial loop unswitching. Majority of this is in
> https://reviews.llvm.org/D34200 but will need one or two small follow-ups.
>
> 2) Currently, sanitizers don't work correctly with it. Thanks to the work of
> others, the missing infrastructure has been added and I'll send a patch to
> wire this up this week.
>
> 3) Missing support for 'optnone'. I've been working on this, but the
> existing testing wasn't as thorough as I wanted, so it is going slowly. I've
> got about 1/4 of this implemented and should have patches this week or next.
>
> 4) Missing opt-bisect (or similar) facility. This looks pretty trivial to
> add, but I've not even started. If anyone is interested in it, go for it. We
> might even be able to do something simpler using the generic debug counters
> and get equivalent functionality.
>

I discussed this yesterday with Chandler but I'm going to echo my thoughts here.
I think we might consider doing at least one round of fuzzing before
switching the flag (in particular, as loop unswitch has been rewritten
entirely). Zhendong has already a lot of infrastructure for this, and
it seems it's just matter of changing a flag.

For the `opt-bisect` I think we could just reuse Danny's debug counter
infrastructure (and/or port the old functionality straight to the new
PM). I don't feel particularly strong about this.

Thanks,

--
Davide


More information about the llvm-dev mailing list