llvm/test/Transforms/Inline
Hal Finkel e1e7862f6e Copy noalias metadata from call sites to inlined instructions
When a call site with noalias metadata is inlined, that metadata can be
propagated directly to the inlined instructions (only those that might access
memory because it is not useful on the others). Prior to inlining, the noalias
metadata could express that a call would not alias with some other memory
access, which implies that no instruction within that called function would
alias. By propagating the metadata to the inlined instructions, we preserve
that knowledge.

This should complete the enhancements requested in PR20500.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@215676 91177308-0d34-0410-b5e6-96231b3b80d8
2014-08-14 21:09:37 +00: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-04-20-InlineLinkOnce.ll
2004-10-17-InlineFunctionWithoutReturn.ll
2006-01-14-CallGraphUpdate.ll
2006-07-12-InlinePruneCGUpdate.ll
2006-11-09-InlineCGUpdate-2.ll
2006-11-09-InlineCGUpdate.ll
2007-04-15-InlineEH.ll
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
2009-05-07-CallUsingSelfCrash.ll
2010-05-12-ValueMap.ll
alloca_test.ll
alloca-bonus.ll
alloca-in-scc.ll
alloca-merge-align-nodl.ll
alloca-merge-align.ll
always-inline.ll Check the alwaysinline attribute on the call as well as on the caller. 2014-05-19 18:25:54 +00:00
array_merge.ll
attributes.ll
basictest.ll
blockaddress.ll Suppress inlining when the block address is taken 2014-07-01 00:19:34 +00:00
byval_lifetime.ll Add lifetime markers for allocas created to hold byval arguments, make them 2014-04-15 18:06:46 +00:00
byval-tail-call.ll Fix PR7272 in -tailcallelim instead of the inliner 2014-04-21 20:48:47 +00:00
byval.ll
callgraph-update.ll
casts.ll
cfg_preserve_test.ll
crash2.ll
crash.ll
debug-invoke.ll DebugInfo: Preserve debug location information when transforming a call into an invoke during inlining. 2014-06-30 20:30:39 +00:00
delete-call.ll
devirtualize-2.ll
devirtualize-3.ll
devirtualize.ll
dynamic_alloca_test.ll
externally_available.ll
gvn-inline-iteration.ll
ignore-debug-info.ll Revert test commit. Removed blank line. 2014-05-08 12:54:43 +00:00
inline_cleanup.ll
inline_constprop.ll
inline_dce.ll
inline_invoke.ll Fix inlining to not produce duplicate landingpad clauses 2013-12-08 00:50:58 +00:00
inline_minisize.ll
inline_prune.ll
inline_returns_twice.ll [inliner] Fix PR18206 by preventing inlining functions that call setjmp 2013-12-13 08:00:01 +00:00
inline_ssp.ll
inline-byval-bonus.ll
inline-cold.ll [inline cold threshold] Command line argument for inline threshold will 2014-04-25 17:34:55 +00:00
inline-invoke-tail.ll
inline-invoke-with-asm-call.ll
inline-optnone.ll
inline-optsize.ll
inline-tail.ll Don't insert lifetime.end markers between a musttail call and ret 2014-05-15 21:10:46 +00:00
inline-vla.ll Handle vlas during inline cost computation if they'll be turned 2014-04-07 13:36:21 +00:00
invoke_test-1.ll
invoke_test-2.ll
invoke_test-3.ll
invoke-cleanup.ll Fix inlining to not lose the "cleanup" clause from landingpads 2013-12-08 00:51:21 +00:00
invoke-combine-clauses.ll Fix inlining to not produce duplicate landingpad clauses 2013-12-08 00:50:58 +00:00
invoke-cost.ll [inliner] Completely change (and fix) how the inline cost analysis 2013-12-13 07:59:56 +00:00
lifetime-no-datalayout.ll
lifetime.ll
nested-inline.ll
noalias2.ll Convert noalias parameter attributes into noalias metadata during inlining 2014-07-25 15:50:08 +00:00
noalias-calls.ll Add noalias metadata for general calls (not just memory intrinsics) during inlining 2014-08-14 16:44:03 +00:00
noalias-cs.ll Copy noalias metadata from call sites to inlined instructions 2014-08-14 21:09:37 +00:00
noalias.ll Convert noalias parameter attributes into noalias metadata during inlining 2014-07-25 15:50:08 +00:00
noinline-recursive-fn.ll
noinline.ll
null-function.ll Add new lines to debugging information. 2014-07-03 02:11:49 +00:00
optimization-remarks.ll Add support for missed and analysis optimization remarks. 2014-05-22 14:19:46 +00:00
PR4909.ll
ptr-diff.ll Fix known typos 2014-01-24 17:20:08 +00:00
recursive.ll
switch.ll [inliner] Significantly improve the compile time in cases like PR19499 2014-04-28 08:52:44 +00:00