llvm-project/llvm/test/Transforms/Inline
Kazu Hirata 2d6ec146dd [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
2022-12-02 14:25:13 -08:00
..
AArch64 [AArch64][SME] Disable inlining when SME attributes require smstart/smstop or lazy-save. 2022-09-21 09:35:47 +01:00
AMDGPU Revert "Inliner: Correctly merge amdgpu-unsafe-fp-atomics attribute" 2022-03-03 15:25:32 -05:00
ARM [InlineAdvisor] Add single quotes around caller/callee names 2021-08-10 11:51:31 -07:00
Inputs [InlineAdvisor] Add fallback/format switches and negative remark processing to Replay Inliner 2021-10-29 12:32:03 -07:00
ML [mlgo] Use TFLite for 'development' mode. 2022-08-24 16:07:24 -07:00
PowerPC
WebAssembly
X86 [InlineCost] Improve debugging experience by adding print about initial inlining cost 2022-06-24 16:27:26 +02:00
2003-09-14-InlineValue.ll
2003-09-22-PHINodeInlineFail.ll
2003-09-22-PHINodesInExceptionDest.ll
2003-09-22-PHINodesInNormalInvokeDest.ll
2003-10-13-AllocaDominanceProblem.ll
2004-04-15-InlineDeletesCall.ll
2004-10-17-InlineFunctionWithoutReturn.ll
2007-04-15-InlineEH.ll [Tests] Add elementtype attribute to indirect inline asm operands (NFC) 2022-01-06 14:23:51 +01:00
2007-06-25-WeakInline.ll
2007-12-19-InlineNoUnwind.ll
2008-09-02-NoInline.ll
2009-01-08-NoInlineDynamicAlloca.ll
2009-01-13-RecursiveInlineCrash.ll [ArgPromotion] Remove legacy PM support 2022-06-27 09:42:17 +02:00
2009-05-07-CallUsingSelfCrash.ll
2010-05-12-ValueMap.ll
PR4909.ll
align.ll
alloca-bonus.ll
alloca-dbgdeclare.ll
alloca-in-scc.ll
alloca_test.ll
always-inline-attr.ll Reapply [IR] Don't mark mustprogress as type attribute 2021-07-09 20:57:44 +02:00
always-inline-invalidate.ll [test] Make test added in D112473 check the IR 2021-10-25 14:10:58 -07:00
always-inline-remark.ll [AlwaysInliner] Emit inline remark only when successful 2022-03-17 15:40:24 -07:00
always-inline.ll [NFC][1/n] Remove -enable-new-pm=0 flags from lit tests 2022-09-19 09:57:37 -07:00
analysis-invalidation.ll [NewPM] Only invalidate modified functions' analyses in CGSCC passes + turn on eagerly invalidate analyses 2021-11-15 14:44:53 -08:00
arg-attr-propagation.ll
array-alloca.ll
attributes.ll [X86] initial -mfunction-return=thunk-extern support 2022-07-12 09:17:54 -07:00
basictest.ll [NFC] Port an assortment of tests that invoke SROA to new pass manager 2022-12-01 21:17:18 +03:00
bfi-update.ll
blockaddress.ll [IR] Don't use blockaddresses as callbr arguments 2022-07-15 10:18:17 +02:00
byref-align.ll
byval-align.ll
byval-tail-call.ll [opt] Don't translate legacy -analysis flag to require<analysis> 2022-10-07 14:54:34 -07:00
byval.ll
byval_lifetime.ll
call-intrinsic-is-constant.ll [InlineCost] model calls to llvm.is.constant* more carefully 2021-10-08 15:27:30 -07:00
call-site-attrs.ll [Inliner] Respect noinline call site attribute 2022-02-14 18:35:52 +01:00
callbr.ll [IR] Don't use blockaddresses as callbr arguments 2022-07-15 10:18:17 +02:00
callgraph-update.ll
casts.ll [llvm][Inline] Add a module level inliner 2021-11-09 11:03:29 +08:00
cfg_preserve_test.ll
cgscc-cycle-debug.ll [NewPM] Don't skip SCCs not in current RefSCC 2022-03-18 14:16:29 -07:00
cgscc-cycle.ll [ValueTracking] Handle constant exprs in isKnownNonZero() 2022-10-04 11:58:07 +02:00
cgscc-incremental-invalidate.ll [Inline] Disable deferred inlining 2021-12-16 09:59:50 +01:00
cgscc-inline-replay.ll [InlineAdvisor] Add fallback/format switches and negative remark processing to Replay Inliner 2021-10-29 12:32:03 -07:00
cgscc-invalidate.ll
cgscc-update.ll [IR] Switch everything to use memory attribute 2022-11-04 10:21:38 +01:00
clear-analyses.ll [NewPM] Hide pass manager debug logging behind -debug-pass-manager-verbose 2021-05-07 21:51:47 -07:00
comdat-ipo.ll [llvm][Inline] Add a module level inliner 2021-11-09 11:03:29 +08:00
crash-lifetime-marker.ll [llvm][Inline] Add a module level inliner 2021-11-09 11:03:29 +08:00
crash.ll [ArgPromotion] Remove legacy PM support 2022-06-27 09:42:17 +02:00
crash2.ll [NFC] Port an assortment of tests that invoke SROA to new pass manager 2022-12-01 21:17:18 +03:00
debug-info-duplicate-calls.ll Revert "[NFC] remove explicit default value for strboolattr attribute in tests" 2021-05-24 19:43:40 +02:00
debug-invoke.ll
debuginline-cost-delta.ll
delete-function-with-metadata-use.ll [Inline] Attempt to delete any discardable if unused functions 2022-01-13 14:48:38 -08:00
delete-unused-function.ll [Inline] Attempt to delete any discardable if unused functions 2022-01-13 14:48:38 -08:00
deleted-scc.ll [NewPM][Inliner] Check if deleted function is in current SCC 2021-07-21 08:47:45 -07:00
deopt-bundles.ll
deoptimize-intrinsic-attrs.ll [Inliner] Copy attributes when deoptimize intrinsic is inlined 2021-05-18 10:08:37 +07:00
deoptimize-intrinsic-cconv.ll
deoptimize-intrinsic.ll
devirtualize-2.ll [NFC][1/n] Remove -enable-new-pm=0 flags from lit tests 2022-09-19 09:57:37 -07:00
devirtualize-3.ll [opt] Directly translate -O# to -passes='default<O#>' 2021-10-18 16:48:10 -07:00
devirtualize-4.ll [Tests] Add elementtype attribute to indirect inline asm operands (NFC) 2022-01-06 14:23:51 +01:00
devirtualize-5.ll
devirtualize-6.ll
devirtualize.ll
dynamic-alloca-simplified-large.ll
dynamic_alloca_test.ll
enable-inline-advisor-printing.ll [inliner] Add per-SCC-pass InlineAdvisor printing option 2022-06-14 08:06:52 -07:00
ephemeral.ll [CodeMetrics] Don't require speculatability for ephemeral values 2021-10-21 20:30:01 +02:00
exponential-deferred-inlining.ll [Inline] Disable deferred inlining 2021-12-16 09:59:50 +01:00
externally_available.ll [NFC][3/n] Remove enable-new-pm from Inline tests 2022-10-10 13:42:42 -07:00
frameescape.ll [llvm][Inline] Add a module level inliner 2021-11-09 11:03:29 +08:00
function-count-update-2.ll
function-count-update-3.ll
function-count-update.ll
gep_from_constant.ll [InlineCost] Simplify constant folding 2022-06-30 11:49:17 +02:00
guard-intrinsic.ll
gvn-inline-iteration.ll [NFC][1/n] Remove -enable-new-pm=0 flags from lit tests 2022-09-19 09:57:37 -07:00
ignore-debug-info.ll
inalloca-not-static.ll Reapply "OpaquePtr: Turn inalloca into a type attribute" 2021-03-29 08:55:30 -04:00
infinite-loop-two-predecessors.ll
inline-assume.ll [llvm][Inline] Add a module level inliner 2021-11-09 11:03:29 +08:00
inline-brunch-funnel.ll Do not write a comma when varargs is the only argument 2022-11-14 02:46:11 -08:00
inline-byval-bonus.ll
inline-call-penalty-option.ll [InlineCost] Introduce attributes to override InlineCost for inliner testing 2021-09-02 17:35:06 +00:00
inline-cold-callsite-pgo.ll [InlineCost] Introduce attributes to override InlineCost for inliner testing 2021-09-02 17:35:06 +00:00
inline-cold-callsite.ll [InlineCost] Introduce attributes to override InlineCost for inliner testing 2021-09-02 17:35:06 +00:00
inline-cold.ll [NFC][3/n] Remove enable-new-pm from Inline tests 2022-10-10 13:42:42 -07:00
inline-constexpr-addrspacecast-argument.ll [llvm][Inline] Add a module level inliner 2021-11-09 11:03:29 +08:00
inline-cost-annotation-pass.ll [InlineCost] Add empty line between call sites when printing inline costs 2021-10-18 13:56:48 -07:00
inline-cost-attributes.ll [NewPM][Inliner] Make inlined calls to functions in same SCC as callee exponentially expensive 2022-03-07 23:51:09 -08:00
inline-cost-dead-users.ll [Inline] Introduce Constant::hasOneLiveUse, use it instead of hasOneUse in inline cost model (PR51667) 2021-10-07 08:33:25 -07:00
inline-fast-math-flags.ll [llvm][Inline] Add a module level inliner 2021-11-09 11:03:29 +08:00
inline-funclets.ll
inline-hot-callsite-2.ll
inline-hot-callsite.ll [NFC][1/n] Remove -enable-new-pm=0 flags from lit tests 2022-09-19 09:57:37 -07:00
inline-incompat-attrs.ll
inline-indirect-chain.ll
inline-indirect.ll
inline-invoke-tail.ll
inline-invoke-with-asm-call.ll
inline-min-legal-vector-width.ll
inline-no-builtin-compatible.ll
inline-noalias-unidentify-object.ll [NFC] add --match-full-lines to the RUN line 2022-07-01 02:37:35 -04:00
inline-optnone.ll
inline-optsize.ll
inline-probe-stack.ll
inline-ptrtoint-different-sizes.ll
inline-recur-stacksize.ll [Inliner] Make recusive inlinee stack size limit tunable 2022-07-08 21:32:39 -07:00
inline-remark-mandatory.ll [inliner] Mandatory inlining decisions produce remarks 2021-10-05 14:01:25 -07:00
inline-remark.ll
inline-retainRV-call.ll [ObjC][ARC] Use the addresses of the ARC runtime functions instead of 2021-09-08 11:58:03 -07:00
inline-scalable.ll
inline-semantic-interposition.ll
inline-skip-use-empty-alloca.ll
inline-stack-probe-size.ll
inline-stacksize.ll [Inlining] Introduce the function attribute "inline-max-stacksize" 2022-08-12 11:07:18 -07:00
inline-strictfp.ll [FileCheck] Catch missspelled directives. 2022-05-26 11:37:19 +01:00
inline-tail.ll
inline-threshold.ll [InlineCost] Introduce attributes to override InlineCost for inliner testing 2021-09-02 17:35:06 +00:00
inline-varargs.ll
inline-vla.ll [llvm][Inline] Add a module level inliner 2021-11-09 11:03:29 +08:00
inline_call.ll [llvm][Inline] Remove PriorityInlineOrder in SCC inliner 2022-04-26 20:20:10 +08:00
inline_cleanup.ll
inline_constprop.ll [NFC] Rename Instrinsic to Intrinsic 2022-04-25 18:13:23 +01:00
inline_dbg_declare.ll
inline_dce.ll
inline_inv_group.ll
inline_invoke.ll [IR] Switch everything to use memory attribute 2022-11-04 10:21:38 +01:00
inline_minisize.ll
inline_negative_result.ll
inline_noprofile.ll [InlineAdvisor] Add single quotes around caller/callee names 2021-08-10 11:51:31 -07:00
inline_prune.ll
inline_returns_twice.ll
inline_ssp.ll Don't override __attribute__((no_stack_protector)) by inlining (PR52886) 2022-01-13 12:04:49 +01:00
inline_stats.ll
inline_unreachable-2.ll
inline_unreachable.ll
inlined-loop-metadata-inseltpoison.ll Fix some test files with executable permissions 2022-12-02 17:12:03 -05:00
inlined-loop-metadata.ll Fix some test files with executable permissions 2022-12-02 17:12:03 -05:00
inlined-mustprogress-loop-metadata.ll
inlinedefault-threshold.ll
inlining-advisor-default.ll
internal-scc-members.ll
invariant-group-sroa.ll [Inliner] Propagate SROA analysis through invariant group intrinsics 2021-04-12 10:54:22 -07:00
invoke-cleanup.ll [llvm][Inline] Add a module level inliner 2021-11-09 11:03:29 +08:00
invoke-combine-clauses.ll [llvm][Inline] Add a module level inliner 2021-11-09 11:03:29 +08:00
invoke-cost.ll
invoke_test-1.ll [llvm][Inline] Add a module level inliner 2021-11-09 11:03:29 +08:00
invoke_test-2.ll
invoke_test-3.ll [llvm][Inline] Add a module level inliner 2021-11-09 11:03:29 +08:00
label-annotation.ll
last-call-bonus.ll
last-call-no-bonus.ll
last-callsite.ll [llvm][Inline] Remove PriorityInlineOrder in SCC inliner 2022-04-26 20:20:10 +08:00
launder.invariant.group.ll
lifetime-no-datalayout.ll
lifetime.ll
local-as-metadata-undominated-use.ll Fix inliner test after e3cd498ff7 2022-11-18 12:28:15 +00:00
memprof_inline.ll [MemProf] Update metadata during inlining 2022-09-30 19:21:15 -07:00
memprof_inline2.ll [MemProf] Update metadata during inlining 2022-09-30 19:21:15 -07:00
module-inliner-basic.ll [ModuleInliner] Add MLPriority 2022-12-02 14:25:13 -08:00
module-inlining.ll
monster_scc.ll [NFC][1/n] Remove -enable-new-pm=0 flags from lit tests 2022-09-19 09:57:37 -07:00
mut-rec-scc-2.ll [NewPM][Inliner] Make inlined calls to functions in same SCC as callee exponentially expensive 2022-03-07 23:51:09 -08:00
mut-rec-scc.ll [NewPM][Inliner] Make inlined calls to functions in same SCC as callee exponentially expensive 2022-03-07 23:51:09 -08:00
nested-inline.ll [llvm][Inline] Add a module level inliner 2021-11-09 11:03:29 +08:00
no-inline-line-tables.ll
no-unwind-inline-asm.ll Support unwinding from inline assembly 2021-05-13 19:13:03 +01:00
noalias-calls-always.ll Inliner: don't mark call sites as 'nounwind' if that would be redundant 2022-07-20 14:17:23 +02:00
noalias-calls.ll [opt] Don't translate legacy -analysis flag to require<analysis> 2022-10-07 14:54:34 -07:00
noalias-calls2.ll [opt] Don't translate legacy -analysis flag to require<analysis> 2022-10-07 14:54:34 -07:00
noalias-cs.ll Inliner: don't mark call sites as 'nounwind' if that would be redundant 2022-07-20 14:17:23 +02:00
noalias.ll
noalias2.ll Inliner: don't mark call sites as 'nounwind' if that would be redundant 2022-07-20 14:17:23 +02:00
noalias3.ll
noduplicate.ll Fix getInlineCost with ComputeFullInlineCost enabled 2021-10-14 17:41:41 -07:00
noinline-recursive-fn.ll
noinline.ll
nonnull.ll [llvm][Inline] Add a module level inliner 2021-11-09 11:03:29 +08:00
opaque-ptr.ll [InlineCost] Check that function types match 2022-04-12 11:05:33 +02:00
optimization-remarks-hotness-threshold.ll [InlineAdvisor] Add single quotes around caller/callee names 2021-08-10 11:51:31 -07:00
optimization-remarks-passed-yaml.ll [Inline] Annotate inline pass name with link phase information for analysis. 2022-06-24 10:06:43 -07:00
optimization-remarks-with-hotness.ll [InlineAdvisor] Add single quotes around caller/callee names 2021-08-10 11:51:31 -07:00
optimization-remarks-yaml.ll
optimization-remarks.ll [InlineAdvisor] Add single quotes around caller/callee names 2021-08-10 11:51:31 -07:00
parallel-loop-md-callee.ll
parallel-loop-md-merge.ll
parallel-loop-md.ll
partial-inline-act.ll
partial-inline-incompat-attrs.ll
pr21206.ll [llvm][Inline] Add a module level inliner 2021-11-09 11:03:29 +08:00
pr22285.ll [NFC][1/n] Remove -enable-new-pm=0 flags from lit tests 2022-09-19 09:57:37 -07:00
pr26698.ll
pr28298.ll
pr33637.ll
pr46945.ll
pr48209.ll
pr50270.ll [Inliner] Fix noalias metadata handling for instructions simplified during cloning (PR50270) 2021-05-10 21:59:59 +02:00
pr50589.ll [Inline] Fix noalias addition on simplified instructions (PR50589) 2021-07-20 19:52:41 +02:00
pr52118.ll [Inline] Make sure the InlineAdvisor is correctly cleared. 2021-10-12 10:42:41 -07:00
pr53206.ll [Inline][Cloning] Reliably remove unreachable blocks during cloning (PR53206) 2022-01-31 09:31:34 +01:00
prof-update-instr.ll
prof-update-sample-alwaysinline.ll
prof-update-sample.ll [NFC][1/n] Remove -enable-new-pm=0 flags from lit tests 2022-09-19 09:57:37 -07:00
profile-meta.ll
profile_meta_invoke.ll [Inliner] Preserve !prof metadata when converting call to invoke. 2022-05-09 15:08:09 -07:00
ptr-diff.ll
recursive.ll
redundant-loads.ll
ret_attr_update.ll [Attributes] Make attribute addition behavior consistent 2022-01-19 12:05:27 +01:00
simplified_to.ll
store-sroa.ll
switch.ll
unwind-inline-asm.ll Support unwinding from inline assembly 2021-05-13 19:13:03 +01:00
vector-bonus.ll
vector-no-bonus.ll
zero-cost.ll