llvm-project/llvm/lib/Transforms/Scalar
Chris Lattner 2f687fd9d6 Two bug fixes:
1. Actually increment the Statistic for the GV elim optzn
 2. When resolving undef branches, only resolve branches in executable blocks,
    avoiding marking a bunch of completely dead blocks live.  This has a big
    impact on the quality of the generated code.

With this patch, we positively rip up vortex, compiling Ut_MoveBytes to a
single memcpy call. In vortex we get this:

     12 ipsccp           - Number of globals found to be constant
    986 ipsccp           - Number of arguments constant propagated
   1378 ipsccp           - Number of basic blocks unreachable
   8919 ipsccp           - Number of instructions removed

llvm-svn: 18796
2004-12-11 06:05:53 +00:00
..
ADCE.cpp Getting ADCE to interact well with unreachable instructions seems like a nontrivial 2004-10-17 23:45:06 +00:00
BasicBlockPlacement.cpp Changes For Bug 352 2004-09-01 22:55:40 +00:00
ConstantProp.cpp Prototype these functions more accurately 2004-09-20 04:43:15 +00:00
CorrelatedExprs.cpp Prototype these functions more accurately 2004-09-20 04:43:15 +00:00
DCE.cpp Prototype these functions more accurately 2004-09-20 04:43:15 +00:00
DeadStoreElimination.cpp Make DSE potentially more aggressive by being more specific about alloca sizes. 2004-11-28 20:44:37 +00:00
GCSE.cpp Changes For Bug 352 2004-09-01 22:55:40 +00:00
IndVarSimplify.cpp Convert 'struct' to 'class' in various places to adhere to the coding standards 2004-10-27 16:14:51 +00:00
InstructionCombining.cpp note to self: Do not check in debugging code! 2004-12-09 07:15:52 +00:00
LICM.cpp Allow hoisting loads of globals and alloca's in conditionals. 2004-11-29 21:26:12 +00:00
LoopSimplify.cpp hasConstantValue will soon return instructions that don't dominate the PHI node, 2004-10-17 21:22:38 +00:00
LoopStrengthReduce.cpp Initial implementation of the strength reduction for GEP instructions in 2004-10-18 21:08:22 +00:00
LoopUnroll.cpp Do not consider debug intrinsics in the size computations for loop unrolling. 2004-11-22 17:18:36 +00:00
LoopUnswitch.cpp Fixes to make LLVM compile with vc7.1. 2004-09-03 18:19:51 +00:00
LowerAllocations.cpp For PR387:\ 2004-12-07 08:11:36 +00:00
LowerConstantExprs.cpp Fix #includes of i*.h => Instructions.h as per PR403. 2004-07-29 17:05:13 +00:00
LowerGC.cpp Initialize with the correct constant type 2004-10-27 03:55:24 +00:00
LowerInvoke.cpp Lazily create the abort message, so only translation units that use unwind 2004-11-13 19:07:32 +00:00
LowerPacked.cpp Fix the exposed prototype for the lower packed pass, thanks to 2004-11-19 16:49:34 +00:00
LowerSelect.cpp Changes For Bug 352 2004-09-01 22:55:40 +00:00
LowerSwitch.cpp Convert code to compile with vc7.1. 2004-09-15 17:06:42 +00:00
Makefile Change Library Names Not To Conflict With Others When Installed 2004-10-27 23:18:45 +00:00
Mem2Reg.cpp Prototype these functions more accurately 2004-09-20 04:43:15 +00:00
PRE.cpp This pass is completely broken. 2004-11-30 17:09:06 +00:00
Reassociate.cpp Changes For Bug 352 2004-09-01 22:55:40 +00:00
SCCP.cpp Two bug fixes: 2004-12-11 06:05:53 +00:00
ScalarReplAggregates.cpp Remove unused variable for compilation by VC++. 2004-11-15 17:29:41 +00:00
SimplifyCFG.cpp Hrm, some people complain when the compiler cheerfully tells them what it's 2004-10-19 06:33:16 +00:00
TailDuplication.cpp Do not count debugger intrinsics in size estimation. 2004-11-22 17:23:57 +00:00
TailRecursionElimination.cpp Changes For Bug 352 2004-09-01 22:55:40 +00:00