[ModuleInliner] Add MLPriority
authorKazu Hirata <kazu@google.com>
Fri, 2 Dec 2022 22:25:13 +0000 (14:25 -0800)
committerKazu Hirata <kazu@google.com>
Fri, 2 Dec 2022 22:25:13 +0000 (14:25 -0800)
commit2d6ec146dd1f61d5293dd22d5b395f0e580ab0d0
treea81f96d37af08eb15e97c8710dec93f626d55242
parenta74c5707be279bdddb51fe49aa9383c1ddc99fbe
[ModuleInliner] Add MLPriority

This patch adds MLPriority as the first step toward the ML-based
function inlining with the module inliner.

For now, MLPriority is completely identical to CostPriority.

Once this patch lands, I'm planning to:

- integrate NoInferenceModelRunner,

- memoize the priority computation so that the priority remains the
  same for given values of metrics even with the noise injected during
  training, and

- port/take more features into account.

Differential Revision: https://reviews.llvm.org/D139140
llvm/lib/Analysis/InlineOrder.cpp
llvm/test/Transforms/Inline/module-inliner-basic.ll