This is an archive of the discontinued LLVM Phabricator instance.

[NewPM] Enable the New Pass Manager by Default in Clang
Needs ReviewPublic

Authored by leonardchan on Aug 20 2019, 12:10 PM.

Details

Summary

The new PM serves as a replacement for the legacy PM, and promises better codegen, better inlining, faster build times, and better PGO and LTO. Now that LLVM 9.0.0 has branched, we have some time before the next release to work out any kinks that may arise from the switch.

Diff Detail

Event Timeline

leonardchan created this revision.Aug 20 2019, 12:10 PM

As of now, from running check-llvm and check-clang there's 2 failing tests, but I'm trying to get those addressed.

  • Clang :: CodeGen/split-lto-unit.c which should be resolved by D66488
  • Clang :: CodeGenCXX/ubsan-coroutines.cpp which was introduced by D44672 but I think should be fixed by just disabling the test under the new PM since coroutines haven't been ported yet.

We already know that we don't want this enabled for tsan builds due to https://bugs.llvm.org/show_bug.cgi?id=42877, but I don't even know if anyone else will hit it (it's only when building one particular library).

We already know that we don't want this enabled for tsan builds due to https://bugs.llvm.org/show_bug.cgi?id=42877, but I don't even know if anyone else will hit it (it's only when building one particular library).

Under the circumstances, that seems like one particular library too many. PR42877 looks like a generic bug, so if we're hitting it here, I see no reason to suspect that others would not hit it elsewhere.

We already know that we don't want this enabled for tsan builds due to https://bugs.llvm.org/show_bug.cgi?id=42877, but I don't even know if anyone else will hit it (it's only when building one particular library).

Under the circumstances, that seems like one particular library too many. PR42877 looks like a generic bug, so if we're hitting it here, I see no reason to suspect that others would not hit it elsewhere.

https://bugs.llvm.org/show_bug.cgi?id=42877 is marked fixed, any update on this? LLVM 10.0.0 has branched.

leonardchan added a comment.EditedApr 3 2020, 11:31 AM

We already know that we don't want this enabled for tsan builds due to https://bugs.llvm.org/show_bug.cgi?id=42877, but I don't even know if anyone else will hit it (it's only when building one particular library).

Under the circumstances, that seems like one particular library too many. PR42877 looks like a generic bug, so if we're hitting it here, I see no reason to suspect that others would not hit it elsewhere.

https://bugs.llvm.org/show_bug.cgi?id=42877 is marked fixed, any update on this? LLVM 10.0.0 has branched.

It seems that we can go ahead with this patch if there's no other objections. I reran a ninja check-clang with this patch and all tests seem to pass (at least when running on x64-linux).

It seems that we can go ahead with this patch if there's no other objections. I reran a ninja check-clang with this patch and all tests seem to pass (at least when running on x64-linux).

Actually disregard this. It seems that there are some compiler-rt tests that don't pass with the NPM yet (see D77249).

Matt added a subscriber: Matt.Oct 8 2020, 8:07 AM
Godin added a subscriber: Godin.Jan 15 2021, 6:48 AM