llvm-mirror/lib/Transforms
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
..
Hello Since the Hello pass is built as a loadable dynamic library, don't try to convert it to new-style registration yet. 2010-10-07 00:31:16 +00:00
InstCombine Revert r152907. 2012-03-16 18:20:54 +00:00
Instrumentation [asan] fix one more bug related to long double 2012-03-21 15:28:50 +00:00
IPO Move the instruction simplification of callsite arguments in the inliner 2012-03-25 04:03:40 +00:00
Scalar Refactor the interface to recursively simplifying instructions to be tad 2012-03-24 21:11:24 +00:00
Utils Move the instruction simplification of callsite arguments in the inliner 2012-03-25 04:03:40 +00:00
Vectorize fix typos 2012-03-05 17:39:47 +00:00
CMakeLists.txt Add a basic-block autovectorization pass. 2012-02-01 03:51:43 +00:00
LLVMBuild.txt Add a basic-block autovectorization pass. 2012-02-01 03:51:43 +00:00
Makefile Add a basic-block autovectorization pass. 2012-02-01 03:51:43 +00:00