[all-commits] [llvm/llvm-project] 65f7eb: [InlineOrder] Plugin Inline Order

IBricchi via All-commits all-commits at lists.llvm.org
Wed Mar 15 10:15:33 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 65f7ebe72e4ca1b788e13dfbd2f71b5beeffba7d
      https://github.com/llvm/llvm-project/commit/65f7ebe72e4ca1b788e13dfbd2f71b5beeffba7d
  Author: ibricchi <ibricchi at student.ethz.ch>
  Date:   2023-03-15 (Wed, 15 Mar 2023)

  Changed paths:
    M llvm/include/llvm/Analysis/InlineOrder.h
    M llvm/lib/Analysis/InlineOrder.cpp
    M llvm/lib/Transforms/IPO/ModuleInliner.cpp
    M llvm/unittests/Analysis/CMakeLists.txt
    M llvm/unittests/Analysis/InlineAdvisorPlugin/CMakeLists.txt
    A llvm/unittests/Analysis/InlineOrderPlugin/CMakeLists.txt
    A llvm/unittests/Analysis/InlineOrderPlugin/InlineOrderPlugin.cpp
    M llvm/unittests/Analysis/PluginInlineAdvisorAnalysisTest.cpp
    A llvm/unittests/Analysis/PluginInlineOrderAnalysisTest.cpp

  Log Message:
  -----------
  [InlineOrder] Plugin Inline Order

Adds the ability to load a plugin to control the inline order.
This allows developing and distributing inlining heuristics
outside of tree. And together with the inline advisor plugins
allows for fine grained control of the inliner.

The PluginInlineOrderAnalysis class serves as the entry point
for dynamic advisors. Plugins must register instances of this
class to provide their own InlineOrder.

Reviewed By: kazu

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




More information about the All-commits mailing list