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
The new test ensures that the module inliner works with all currently
supported priority modes.
Different priority modes result in no difference in terms of the
output for these simple cases, so this is more of a "better than
nothing" test.
Differential Revision: https://reviews.llvm.org/D139222