llvm-6502/test/Transforms/Inline
Chandler Carruth e8187e0294 Undo a previous restriction on the inline cost calculation which Nick
introduced. Specifically, there are cost reductions for all
constant-operand icmp instructions against an alloca, regardless of
whether the alloca will in fact be elligible for SROA. That means we
don't want to abort the icmp reduction computation when we abort the
SROA reduction computation. That in turn frees us from the need to keep
a separate worklist and defer the ICmp calculations.

Use this new-found freedom and some judicious function boundaries to
factor the innards of computing the cost factor of any given instruction
out of the loop over the instructions and into static helper functions.
This greatly simplifies the code, and hopefully makes it more clear what
is happening here.

Reviewed by Eric Christopher. There is some concern that we'd like to
ensure this doesn't get out of hand, and I plan to benchmark the effects
of this change over the next few days along with some further fixes to
the inline cost.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@152368 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-09 02:49:36 +00:00
..
2003-09-14-InlineValue.ll Update to new EH scheme. 2011-09-01 01:08:21 +00:00
2003-09-22-PHINodeInlineFail.ll
2003-09-22-PHINodesInExceptionDest.ll Update to new EH scheme. 2011-09-01 01:08:21 +00:00
2003-09-22-PHINodesInNormalInvokeDest.ll
2003-10-13-AllocaDominanceProblem.ll
2004-04-15-InlineDeletesCall.ll Replace more uses of 'unwind' in the tests with calls to landingpad and 2011-09-19 22:11:35 +00:00
2004-04-20-InlineLinkOnce.ll
2004-10-17-InlineFunctionWithoutReturn.ll Replace more uses of 'unwind' in the tests with calls to landingpad and 2011-09-19 22:11:35 +00:00
2006-01-14-CallGraphUpdate.ll
2006-07-12-InlinePruneCGUpdate.ll
2006-11-09-InlineCGUpdate-2.ll Replace more uses of 'unwind' in the tests with calls to landingpad and 2011-09-19 22:11:35 +00:00
2006-11-09-InlineCGUpdate.ll Replace more uses of 'unwind' in the tests with calls to landingpad and 2011-09-19 22:11:35 +00:00
2007-04-15-InlineEH.ll Update to new EH scheme. 2011-09-01 01:08:21 +00:00
2007-06-06-NoInline.ll
2007-06-25-WeakInline.ll
2007-12-19-InlineNoUnwind.ll Try to eliminate the use of the 'unwind' instruction. 2011-09-02 22:41:11 +00:00
2008-09-02-AlwaysInline.ll
2008-09-02-NoInline.ll
2008-10-30-AlwaysInline.ll
2008-11-04-AlwaysInline.ll
2009-01-08-NoInlineDynamicAlloca.ll
2009-01-13-RecursiveInlineCrash.ll
2009-05-07-CallUsingSelfCrash.ll
2010-05-12-ValueMap.ll
2010-05-31-ByvalTailcall.ll
alloca_test.ll
alloca-bonus.ll Undo a previous restriction on the inline cost calculation which Nick 2012-03-09 02:49:36 +00:00
alloca-in-scc.ll
always_inline_dyn_alloca.ll
array_merge.ll
basictest.ll
blockaddress.ll Remap blockaddress correctly when inlining a function. Fixes PR10162. 2011-10-21 20:45:19 +00:00
byval.ll
callgraph-update.ll Update to new EH scheme. 2011-09-01 01:08:21 +00:00
casts.ll
cfg_preserve_test.ll
crash2.ll
crash.ll Update to new EH scheme. 2011-09-01 01:08:21 +00:00
delete-call.ll
devirtualize-2.ll
devirtualize-3.ll
devirtualize.ll
dynamic_alloca_test.ll
externally_available.ll
gvn-inline-iteration.ll
inline_cleanup.ll
inline_constprop.ll
inline_dce.ll
inline_invoke.ll Update to new EH scheme. 2011-09-02 01:25:11 +00:00
inline_prune.ll
inline_returns_twice.ll Allow inlining of functions with returns_twice calls, if they have the 2011-12-18 20:35:43 +00:00
inline-invoke-tail.ll Remove all references to the old EH. 2012-01-31 02:09:07 +00:00
inline-tail.ll
invoke_test-1.ll Update to new EH scheme. 2011-09-01 01:08:21 +00:00
invoke_test-2.ll Update to new EH scheme. 2011-09-01 01:08:21 +00:00
invoke_test-3.ll Update to new EH scheme. 2011-09-01 01:08:21 +00:00
lifetime.ll
lit.local.cfg Replace all instances of dg.exp file with lit.local.cfg, since all tests are run with LIT now and now Dejagnu. dg.exp is no longer needed. 2012-02-16 06:28:33 +00:00
nested-inline.ll
noinline-recursive-fn.ll Upgrade syntax of tests using volatile instructions to use 'load volatile' instead of 'volatile load', which is archaic. 2011-11-27 06:54:59 +00:00
noinline.ll
PR4909.ll