1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-20 19:42:54 +02:00
llvm-mirror/test/Transforms/Inline
Chandler Carruth 2a69d3eac5 Move the instruction simplification of callsite arguments in the inliner
to instead rely on much more generic and powerful instruction
simplification in the function cloner (and thus inliner).

This teaches the pruning function cloner to use instsimplify rather than
just the constant folder to fold values during cloning. This can
simplify a large number of things that constant folding alone cannot
begin to touch. For example, it will realize that 'or' and 'and'
instructions with certain constant operands actually become constants
regardless of what their other operand is. It also can thread back
through the caller to perform simplifications that are only possible by
looking up a few levels. In particular, GEPs and pointer testing tend to
fold much more heavily with this change.

This should (in some cases) have a positive impact on compile times with
optimizations on because the inliner itself will simply avoid cloning
a great deal of code. It already attempted to prune proven-dead code,
but now it will be use the stronger simplifications to prove more code
dead.

llvm-svn: 153403
2012-03-25 04:03:40 +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-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 Actually run the test. Thanks Daniel Dunbar! 2010-05-13 17:41:06 +00:00
2010-05-31-ByvalTailcall.ll Fix PR7272: when inlining through a callsite with byval arguments, 2010-05-31 21:00:26 +00:00
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 Commit test change, forgotten as part of r131838. 2011-05-22 05:31:47 +00:00
basictest.ll relax testcase a bit. 2011-01-14 07:46:33 +00:00
blockaddress.ll Remap blockaddress correctly when inlining a function. Fixes PR10162. 2011-10-21 20:45:19 +00:00
byval.ll when eliding a byval copy due to inlining a readonly function, we have 2010-12-20 08:10:40 +00:00
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 revert r102831. We already delete dead readonly calls in 2010-05-01 17:19:38 +00:00
devirtualize-2.ll rename test 2010-05-01 06:34:13 +00:00
devirtualize-3.ll Make BasicAliasAnalysis a normal AliasAnalysis implementation which 2010-10-18 18:04:47 +00:00
devirtualize.ll Make BasicAliasAnalysis a normal AliasAnalysis implementation which 2010-10-18 18:04:47 +00:00
dynamic_alloca_test.ll
externally_available.ll
gvn-inline-iteration.ll Make BasicAliasAnalysis a normal AliasAnalysis implementation which 2010-10-18 18:04:47 +00:00
inline_cleanup.ll Move the instruction simplification of callsite arguments in the inliner 2012-03-25 04:03:40 +00:00
inline_constprop.ll When inlining a function and adding its inner call sites to the 2012-03-12 11:19:33 +00:00
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 Teach the inliner to emit llvm.lifetime.start/end, to scope the local variables 2011-05-22 05:22:10 +00:00
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
ptr-diff.ll Extend the inline cost calculation to account for bonuses due to 2012-03-14 23:19:53 +00:00