llvm-project/llvm/test/Transforms/Inline
Teresa Johnson 43417d8159 [MemProf] Update metadata during inlining
Update both memprof and callsite metadata to reflect inlined functions.

For callsite metadata this is simply a concatenation of each cloned
call's call stack with that of the inlined callsite's.

For memprof metadata, each profiled memory info block (MIB) is either
moved to the cloned allocation call or left on the original allocation
call depending on whether its context matches the newly refined call
stack context on the cloned call. We also reapply context trimming
optimizations based on the refined set of contexts on each of the calls
(cloned and original).

Depends on D128142.

Reviewed By: snehasish

Differential Revision: https://reviews.llvm.org/D128143
2022-09-30 19:21:15 -07: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-merge.ll Revert "[NFC] remove explicit default value for strboolattr attribute in tests" 2021-05-24 19:43:40 +02:00
alloca-dbgdeclare.ll
alloca-in-scc.ll
alloca-merge-align.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
array_merge.ll
attributes.ll [X86] initial -mfunction-return=thunk-extern support 2022-07-12 09:17:54 -07:00
basictest.ll
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 [instcombine] Fold away memset/memmove from otherwise unused alloca 2022-03-22 13:48:48 -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
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 [NFC][llvm] Inclusive language: reword uses of sanity test and check 2021-11-25 07:21:42 -05: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
dead-calls-willreturn.ll
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-call.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
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
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-callee.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][1/n] Remove -enable-new-pm=0 flags from lit tests 2022-09-19 09:57:37 -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-callee.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 [llvm][Inline] Remove PriorityInlineOrder in SCC inliner 2022-04-26 20:20:10 +08: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
inlined-loop-metadata.ll
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
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-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 Inliner: don't mark call sites as 'nounwind' if that would be redundant 2022-07-20 14:17:23 +02:00
noalias-calls2.ll [Inline] Don't add noalias metadata to inaccessiblememonly calls 2021-04-17 14:56:13 +02: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
null-function.ll
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