This is an archive of the discontinued LLVM Phabricator instance.

[NewPM] Make InlinerPass (aka 'inline') a parameterized pass
ClosedPublic

Authored by bjope on Sep 16 2021, 6:02 AM.

Details

Summary

In default pipelines the ModuleInlinerWrapperPass is adding the
InlinerPass to the pipeline twice, once due to MandatoryFirst (passing
true in the ctor) and then a second time with false as argument.

To make it possible to bisect and reduce opt test cases for this
part of the pipeline we need to be able to choose between the two
different variants of the InlinerPass when running opt. This patch is
changing 'inline' to a CGSCC_PASS_WITH_PARAMS in the PassRegistry,
making it possible run opt with both -passes=cgscc(inline) and
-passes=cgscc(inline<only-mandatory>).

Diff Detail

Event Timeline

bjope created this revision.Sep 16 2021, 6:02 AM
bjope requested review of this revision.Sep 16 2021, 6:02 AM
Herald added a project: Restricted Project. · View Herald TranscriptSep 16 2021, 6:02 AM
mtrofin accepted this revision.Sep 16 2021, 9:08 AM

LGTM. I assume you ran clang-format (not sure what to make of the lint messages, probably phabricator issue?)

This revision is now accepted and ready to land.Sep 16 2021, 9:08 AM
aeubanks accepted this revision.Sep 16 2021, 9:18 AM
This revision was landed with ongoing or failed builds.Sep 20 2021, 3:54 AM
This revision was automatically updated to reflect the committed changes.