[llvm-dev] Switching to the New Pass Manager by Default

Leonard Chan via llvm-dev llvm-dev at lists.llvm.org
Fri Aug 2 10:25:07 PDT 2019

Hello all,

As of now, all LLVM and Clang tests have been updated/addressed to run
under the new/experimental pass manager (at least the ones that failed when
using the new PM).

For those who aren't aware of what the new pass manager (PM) is, the tl;dr
is that this will serve as a replacement for the legacy PM, and promises
faster build times by restructuring how passes are run over IR units. For
some time, when someone wants to create a new pass, they may need to
implement it for both pass managers since the legacy one is what is enabled
by default. Passes that were initially made under the new PM have also
slowly been ported over time.

Now that LLVM 9.0.0 has branched, we have about 6 months before the next
release. We think it would be a good idea to take this opportunity and make
the new PM the default one which gives us enough time to work out any kinks
that might come out of this switch before LLVM 10.0.0 branch point. We
suspect that there may be other LLVM projects that will be affected by
this, probably from unported passes.

Does anyone have any opinions on this?

Off the top of my head, the next immediate work would be to update the docs
with instructions on how to write or port a new PM pass, and address any
breakages for other LLVM projects.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20190802/34dec2d3/attachment.html>

More information about the llvm-dev mailing list