This is an archive of the discontinued LLVM Phabricator instance.

[Clang] Remove support for legacy pass manager
ClosedPublic

Authored by nikic on Apr 12 2022, 7:26 AM.

Details

Summary

This removes the -flegacy-pass-manager and -fno-experimental-new-pass-manager options, and the corresponding support code in BackendUtil. The -fno-legacy-pass-manager and -fexperimental-new-pass-manager options are retained as no-ops.

Diff Detail

Event Timeline

nikic created this revision.Apr 12 2022, 7:26 AM
Herald added a project: Restricted Project. · View Herald TranscriptApr 12 2022, 7:26 AM
nikic requested review of this revision.Apr 12 2022, 7:26 AM
aeubanks accepted this revision.Apr 12 2022, 10:08 AM
This revision is now accepted and ready to land.Apr 12 2022, 10:08 AM
MaskRay accepted this revision.Apr 12 2022, 10:31 AM
This revision was landed with ongoing or failed builds.Apr 13 2022, 1:22 AM
This revision was automatically updated to reflect the committed changes.
Herald added a project: Restricted Project. · View Herald TranscriptApr 13 2022, 1:22 AM
Herald added a subscriber: cfe-commits. · View Herald Transcript

Hi @nikic,
We recently noticed legacy PM was removed from many places.
Does community plan to remove legacy PM completely?
Do you know when will CG switch to new PM?
Thanks.

nikic added a comment.Apr 14 2022, 3:55 AM

Hi @nikic,
We recently noticed legacy PM was removed from many places.
Does community plan to remove legacy PM completely?
Do you know when will CG switch to new PM?
Thanks.

At this time, the ability to run a middle-end optimization pipeline using the legacy pass manager (basically anything based on PassManagerBuilder) is being removed. The CodeGen pipeline continues to use the legacy pass manager at this time -- I'm not aware of anyone doing active migration work in that area.

lenary added a subscriber: lenary.Jan 3 2023, 4:13 AM

Hi @nikic,
We recently noticed legacy PM was removed from many places.
Does community plan to remove legacy PM completely?
Do you know when will CG switch to new PM?
Thanks.

At this time, the ability to run a middle-end optimization pipeline using the legacy pass manager (basically anything based on PassManagerBuilder) is being removed. The CodeGen pipeline continues to use the legacy pass manager at this time -- I'm not aware of anyone doing active migration work in that area.

Sorry to resurrect an old patch, but can you please update the docs here https://llvm.org/docs/NewPassManager.html#status-of-the-new-and-legacy-pass-managers with this info?