llvm-6502/lib
Chandler Carruth d54f9a4c3b 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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153403 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-25 04:03:40 +00:00
..
Analysis Try to harden the recursive simplification still further. This is again 2012-03-24 22:34:26 +00:00
Archive Include cstdio in a few place that depended on getting it transitively through StringExtras.h 2012-03-23 11:35:30 +00:00
AsmParser Convert assert(0) to llvm_unreachable 2012-02-07 05:05:23 +00:00
Bitcode llvm::SwitchInst 2012-03-11 06:09:17 +00:00
CodeGen Add the ability to promote legal integer VAARGs. This is required for the PPC64 SVR4 ABI. 2012-03-24 03:53:52 +00:00
DebugInfo
ExecutionEngine Make it feasible for clients using EngineBuilder to capture the TargetMachine that is created as part of selecting the appropriate target. 2012-03-23 17:40:56 +00:00
Linker It's possible for two types, which are isomorphic, to be added to the 2012-03-23 23:17:38 +00:00
MC Add a hook in MCELFObjectTargetWriter to allow targets to sort relocation 2012-03-23 23:06:45 +00:00
Object [Object/COFF]: Expose getSectionContents. 2012-03-19 20:27:37 +00:00
Support Fix null to integer conversion warnings. 2012-03-24 22:17:50 +00:00
TableGen Fix infinite loop in nested multiclasses. 2012-03-07 16:39:35 +00:00
Target Fix small-integer VAARG on SVR4 ABI PPC64. 2012-03-24 03:53:55 +00:00
Transforms Move the instruction simplification of callsite arguments in the inliner 2012-03-25 04:03:40 +00:00
VMCore Remove always true variable. 2012-03-24 20:02:25 +00:00
CMakeLists.txt
LLVMBuild.txt
Makefile