Arthur Eubanks via llvm-dev
2021-Aug-24 17:44 UTC
[llvm-dev] [RFC] Deprecating the legacy pass manager for the optimization pipeline
The new pass manager has been on by default since the 13 branch. Now that we've branched for 14, I'd like to start the process of deprecating and removing legacy pass manager support for the optimization pipeline. This includes clang, opt, and lld LTO support. Note that this doesn't apply to the codegen pipeline since there's no new pass manager support for that yet. Are there any objections? -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20210824/fbaf7ed1/attachment.html>
Fangrui Song via llvm-dev
2021-Aug-24 19:02 UTC
[llvm-dev] [RFC] Deprecating the legacy pass manager for the optimization pipeline
On 2021-08-24, Arthur Eubanks via llvm-dev wrote:>The new pass manager has been on by default since the 13 branch. Now that >we've branched for 14, I'd like to start the process of deprecating and >removing legacy pass manager support for the optimization pipeline. This >includes clang, opt, and lld LTO support. > >Note that this doesn't apply to the codegen pipeline since there's no new >pass manager support for that yet. > >Are there any objections?"deprecating" and 'removing" are different. For 14.0.0, do you plan that -DLLVM_ENABLE_NEW_PASS_MANAGER=off will give a warning or will be completely unsupported?
Philip Reames via llvm-dev
2021-Aug-25 18:22 UTC
[llvm-dev] [RFC] Deprecating the legacy pass manager for the optimization pipeline
I'd vote for immediate removal. I don't have much sympathy for downstream consumers who haven't moved. This effort has been underway for literal years. Many - though not by any means all - downstream projects moved *before* upstream finally switched. Let's put a nail in this coffin, and remove code aggressively. Supporting both has serious ongoing costs. As a real example, I have twice spent time in the last two weeks tracking down some odd quirk of the unrolling implementation to find it supports some quirk of the legacy pass. That slows down development, compromises quality, and is generally a "bad thing". We might want to wait a couple of weeks/months to ensure stability, but we should only consider the needs to the upstream project itself when doing so. Giving downstream projects time to react should be an explicit non-goal. Philip p.s. I don't expect this to be the actual decision reached, but since I only see opinions down-thread arguing for migration windows, I wanted to make a point of sharing the opposite opinion. Fair warning, I probably won't reply to this thread further. I don't have sufficient interest in the topic to make it worthwhile. On 8/24/21 10:44 AM, Arthur Eubanks via llvm-dev wrote:> The new pass manager has been on by default since the 13 branch. Now > that we've branched for 14, I'd like to start the process of > deprecating and removing legacy pass manager support for the > optimization pipeline. This includes clang, opt, and lld LTO support. > > Note that this doesn't apply to the codegen pipeline since there's no > new pass manager support for that yet. > > Are there any objections? > > _______________________________________________ > 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/20210825/427aa30b/attachment.html>