This is an archive of the discontinued LLVM Phabricator instance.

[Inliner] Retire DefaultInlineOrder (NFC)
ClosedPublic

Authored by kazu on Sep 16 2022, 2:28 PM.

Details

Summary

DefaultInlineOrder was largely an exercise in generalizing the
traversal order of call sites within the inliner.

Now that the module inliner is starting to form its shape, there is no
point in sharing DefaultInlineOrder between the module inliner and the
CGSCC inliner. DefaultInlineOrder and all the other inline orders are
mutually exclusive in the following sense:

  • The use of DefaultInlineOrder doesn't make sense in the module inliner because there is no priority inherent in the order in which call sites are added to the list of call sites -- SmallVector.
  • The use of any other inline order doesn't make sense in the CGSCC inliner because little prioritization can be done within one CGSCC.

This patch essentially reverts the addition of DefaultInlineOrder so
that the loop structure of Inliner.cpp looks like the state just
before we started working on the module inliner (circa June 2021).

At the same time, ww remove the choice of DefaultInlineOrder from
UseInlinePriority.

Diff Detail

Event Timeline

kazu created this revision.Sep 16 2022, 2:28 PM
Herald added a project: Restricted Project. · View Herald TranscriptSep 16 2022, 2:28 PM
kazu requested review of this revision.Sep 16 2022, 2:28 PM
Herald added a project: Restricted Project. · View Herald TranscriptSep 16 2022, 2:28 PM
mtrofin accepted this revision.Sep 16 2022, 3:32 PM
This revision is now accepted and ready to land.Sep 16 2022, 3:32 PM
This revision was landed with ongoing or failed builds.Sep 16 2022, 3:36 PM
This revision was automatically updated to reflect the committed changes.