llvm-6502/test/Transforms/Inline
Hal Finkel 3d03d60ca8 Add functions for finding ephemeral values
This adds a set of utility functions for collecting 'ephemeral' values. These
are LLVM IR values that are used only by @llvm.assume intrinsics (directly or
indirectly), and thus will be removed prior to code generation, implying that
they should be considered free for certain purposes (like inlining). The
inliner's cost analysis, and a few other passes, have been updated to account
for ephemeral values using the provided functionality.

This functionality is important for the usability of @llvm.assume, because it
limits the "non-local" side-effects of adding llvm.assume on inlining, loop
unrolling, etc. (these are hints, and do not generate code, so they should not
directly contribute to estimates of execution cost).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@217335 91177308-0d34-0410-b5e6-96231b3b80d8
2014-09-07 13:49:57 +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 Revert "Inliner: Handle readonly attribute per argument when adding memcpy" 2013-11-03 12:22:13 +00:00
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
ephemeral.ll Add functions for finding ephemeral values 2014-09-07 13:49:57 +00:00
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 Rename testing case to use - instead of _. 2013-11-04 18:52:06 +00:00
inline-musttail-varargs.ll Declare that musttail calls in variadic functions forward the ellipsis 2014-08-26 00:33:28 +00:00
inline-optnone.ll The 'optnone' attribute means don't inline anything into this function 2013-11-18 21:44:03 +00:00
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 Feed AA to the inliner and use AA->getModRefBehavior in AddAliasScopeMetadata 2014-09-01 09:01:39 +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