[all-commits] [llvm/llvm-project] 6e30a9: [Inliner] Retire DefaultInlineOrder (NFC)

kazutakahirata via All-commits all-commits at lists.llvm.org
Fri Sep 16 15:36:58 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 6e30a9cc08f11e4a8b41413096b36ddf4c4b3f44
      https://github.com/llvm/llvm-project/commit/6e30a9cc08f11e4a8b41413096b36ddf4c4b3f44
  Author: Kazu Hirata <kazu at google.com>
  Date:   2022-09-16 (Fri, 16 Sep 2022)

  Changed paths:
    M llvm/include/llvm/Analysis/InlineOrder.h
    M llvm/lib/Analysis/InlineOrder.cpp
    M llvm/lib/Transforms/IPO/Inliner.cpp
    M llvm/lib/Transforms/IPO/ModuleInliner.cpp

  Log Message:
  -----------
  [Inliner] Retire DefaultInlineOrder (NFC)

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.

Differential Revision: https://reviews.llvm.org/D134080




More information about the All-commits mailing list