llvm-6502/lib/Transforms/Scalar
Cameron Zwarich 80f6a507d4 Make more passes preserve dominators (or state that they preserve dominators if
they all ready do). This removes two dominator recomputations prior to isel,
which is a 1% improvement in total llc time for 403.gcc.

The only potentially suspect thing is making GCStrategy recompute dominators if
it used a custom lowering strategy.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123064 91177308-0d34-0410-b5e6-96231b3b80d8
2011-01-08 17:01:52 +00:00
..
ADCE.cpp Get rid of static constructors for pass registration. Instead, every pass exposes an initializeMyPassFunction(), which 2010-10-19 17:21:58 +00:00
BasicBlockPlacement.cpp Get rid of static constructors for pass registration. Instead, every pass exposes an initializeMyPassFunction(), which 2010-10-19 17:21:58 +00:00
CMakeLists.txt CMake: Add missing source file. 2011-01-03 02:13:05 +00:00
CodeGenPrepare.cpp Make more passes preserve dominators (or state that they preserve dominators if 2011-01-08 17:01:52 +00:00
ConstantProp.cpp Get rid of static constructors for pass registration. Instead, every pass exposes an initializeMyPassFunction(), which 2010-10-19 17:21:58 +00:00
CorrelatedValuePropagation.cpp Fix PR8790, another instance where unreachable code can cause instruction simplification to fail, 2010-12-15 00:55:35 +00:00
DCE.cpp Get rid of static constructors for pass registration. Instead, every pass exposes an initializeMyPassFunction(), which 2010-10-19 17:21:58 +00:00
DeadStoreElimination.cpp Move Value::getUnderlyingObject to be a standalone 2010-12-15 20:02:24 +00:00
EarlyCSE.cpp Duncan deftly points out that readnone functions aren't 2011-01-03 23:38:13 +00:00
GEPSplitter.cpp Get rid of static constructors for pass registration. Instead, every pass exposes an initializeMyPassFunction(), which 2010-10-19 17:21:58 +00:00
GVN.cpp Don't bother value numbering instructions with void types in GVN. In theory this should allow us to insert 2011-01-04 22:15:21 +00:00
IndVarSimplify.cpp Move SCEV::isLoopInvariant and hasComputableLoopEvolution to be member 2010-11-17 21:23:15 +00:00
JumpThreading.cpp Fix a bug in the loop in JumpThreading::ProcessThreadableEdges() where it could falsely produce a MultipleDestSentinel value if the first predecessor ended with an 'indirectbr'. If that happened, it caused an unnecessary FindMostPopularDest() call. 2010-12-16 12:16:00 +00:00
LICM.cpp make inSubLoop much more efficient. 2011-01-02 18:53:08 +00:00
LoopDeletion.cpp split dom frontier handling stuff out to its own DominanceFrontier header, 2011-01-02 22:09:33 +00:00
LoopIdiomRecognize.cpp Teach loop-idiom to turn a loop containing a memset into a larger memset 2011-01-04 07:46:33 +00:00
LoopInstSimplify.cpp Contract subloop bodies. However, it is still important to visit the phis at the 2011-01-08 15:52:22 +00:00
LoopRotation.cpp Have loop-rotate simplify instructions (yay instsimplify!) as it clones 2011-01-08 08:24:46 +00:00
LoopStrengthReduce.cpp split dom frontier handling stuff out to its own DominanceFrontier header, 2011-01-02 22:09:33 +00:00
LoopUnrollPass.cpp improve loop rotation to use CodeMetrics to analyze the 2011-01-02 07:35:53 +00:00
LoopUnswitch.cpp Revamp the ValueMapper interfaces in a couple ways: 2011-01-08 08:15:20 +00:00
LowerAtomic.cpp Get rid of static constructors for pass registration. Instead, every pass exposes an initializeMyPassFunction(), which 2010-10-19 17:21:58 +00:00
Makefile
MemCpyOptimizer.cpp start using irbuilder to make mem intrinsics in a few passes. 2010-12-26 22:57:41 +00:00
Reassociate.cpp Get rid of static constructors for pass registration. Instead, every pass exposes an initializeMyPassFunction(), which 2010-10-19 17:21:58 +00:00
Reg2Mem.cpp Get rid of static constructors for pass registration. Instead, every pass exposes an initializeMyPassFunction(), which 2010-10-19 17:21:58 +00:00
Scalar.cpp Add a new loop-instsimplify pass, with the intention of replacing the instance 2011-01-03 00:25:16 +00:00
ScalarReplAggregates.cpp split dom frontier handling stuff out to its own DominanceFrontier header, 2011-01-02 22:09:33 +00:00
SCCP.cpp Avoid exponential growth of a table. It feels like 2010-11-30 20:23:21 +00:00
SimplifyCFGPass.cpp Get rid of static constructors for pass registration. Instead, every pass exposes an initializeMyPassFunction(), which 2010-10-19 17:21:58 +00:00
SimplifyHalfPowrLibCalls.cpp Zap the last two -Wself-assign warnings in llvm. 2011-01-06 01:33:22 +00:00
SimplifyLibCalls.cpp SimplifyLibCalls: Use IRBuilder to simplify code. 2010-12-27 00:16:46 +00:00
Sink.cpp Add helper functions for computing the Location of load, store, 2010-11-11 21:50:19 +00:00
TailDuplication.cpp Replace calls to ConstantFoldInstruction with calls to SimplifyInstruction 2010-11-23 20:26:33 +00:00
TailRecursionElimination.cpp Have a few places that want to simplify phi nodes use SimplifyInstruction 2010-11-16 17:41:24 +00:00