llvm-6502/lib/Transforms/Scalar
Chris Lattner f4f5a77fdc Two changes:
1. Implement InstCombine/deadcode.ll by not adding instructions in unreachable
   blocks (due to constants in conditional branches/switches) to the worklist.
   This causes them to be deleted before instcombine starts up, leading to
   better optimization.

2. In the prepass over instructions, do trivial constprop/dce as we go.  This
   has the effect of improving the effectiveness of #1.  In addition, it
   *significantly* speeds up instcombine on test cases with large amounts of
   constant folding code (for example, that produced by code specialization
   or partial evaluation).  In one example, it speeds up instcombine from
   0.0589s to 0.0224s with a release build (a 2.6x speedup).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28215 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-10 19:00:36 +00:00
..
ADCE.cpp Make iostream #inclusion explicit 2006-01-22 23:32:06 +00:00
BasicBlockPlacement.cpp Remove trailing whitespace 2005-04-21 23:48:37 +00:00
CondPropagate.cpp Fix a fixme in CondPropagate.cpp by moving a PhiNode optimization into 2005-08-04 23:24:19 +00:00
ConstantProp.cpp Remove trailing whitespace 2005-04-21 23:48:37 +00:00
CorrelatedExprs.cpp Teach cee to propagate through switch statements. This implements 2006-03-19 19:37:24 +00:00
DCE.cpp clean up and modernize this pass. 2005-05-08 18:45:26 +00:00
DeadStoreElimination.cpp Fix a bug where we didn't realize that vaarg reads memory. This fixes 2005-11-30 19:38:22 +00:00
GCSE.cpp Switch these to using ETForest instead of DominatorSet to compute itself. 2006-01-11 05:10:20 +00:00
IndVarSimplify.cpp Fix a crash building 176.gcc due to my recent patch, which only fixed 2005-11-18 18:30:47 +00:00
InstructionCombining.cpp Two changes: 2006-05-10 19:00:36 +00:00
LICM.cpp Make iostream #inclusion explicit 2006-01-22 23:32:06 +00:00
LoopStrengthReduce.cpp Get rid of a signed/unsigned compare warning. 2006-04-12 19:28:15 +00:00
LoopUnroll.cpp Make iostream #inclusion explicit 2006-01-22 23:32:06 +00:00
LoopUnswitch.cpp add the actual cost to the debug info 2006-03-24 07:14:00 +00:00
LowerGC.cpp FunctionPass's cannot do IPO things. 2006-01-14 19:30:35 +00:00
LowerPacked.cpp Lowerpacked and SCCP support for the insertelement operation. 2006-01-17 20:06:55 +00:00
Makefile DONT_BUILD_RELINKED is gone and implied by BUILD_ARCHIVE now 2005-10-24 02:26:13 +00:00
Reassociate.cpp Fix Transforms/Reassociate/2006-04-27-ReassociateVector.ll 2006-04-28 04:14:49 +00:00
Reg2Mem.cpp since reg2mem requires it, might as well mention that it preserves it 2005-11-25 16:04:54 +00:00
ScalarReplAggregates.cpp Fix Transforms/ScalarRepl/2006-04-20-PromoteCrash.ll 2006-04-20 20:48:50 +00:00
SCCP.cpp Add supprot for shufflevector 2006-04-08 01:19:12 +00:00
SimplifyCFG.cpp Remove trailing whitespace 2005-04-21 23:48:37 +00:00
TailDuplication.cpp Make iostream #inclusion explicit 2006-01-22 23:32:06 +00:00
TailRecursionElimination.cpp Implement Transforms/TailCallElim/return-undef.ll, a trivial case 2005-11-05 08:21:11 +00:00