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

Petr Hosek via llvm-dev llvm-dev at lists.llvm.org
Tue Aug 6 15:26:00 PDT 2019


One option is just to change the default
for ENABLE_EXPERIMENTAL_NEW_PASS_MANAGER in Clang's CMakeLists.txt:
https://github.com/llvm/llvm-project/blob/0930643ff6f1684bf234a97f6a3b76bf8e30b0a1/clang/CMakeLists.txt#L236.
That approach allows developers and bots to easily switch back to the
legacy pass manager by simply
passing -DENABLE_EXPERIMENTAL_NEW_PASS_MANAGER=OFF to their CMake build.

On Tue, Aug 6, 2019 at 2:45 PM Tom Stellard via llvm-dev <
llvm-dev at lists.llvm.org> wrote:

> On 08/02/2019 10:25 AM, Leonard Chan via llvm-dev wrote:
> > 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?
> >
>
> What is involved in making the new pass manager the default?
> Does it just mean updating clang, or will the C API functions,
> like LLVMCreatePassManager(), etc. be updated too?
>
> -Tom
>
> > 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.
> >
> > Thanks,
> > Leonard
> >
> >
> > _______________________________________________
> > LLVM Developers mailing list
> > llvm-dev at lists.llvm.org
> > https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
> >
>
> _______________________________________________
> LLVM Developers mailing list
> llvm-dev at lists.llvm.org
> https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20190806/0d711aad/attachment.html>


More information about the llvm-dev mailing list