llvm-6502/lib/Transforms/Scalar
Cameron Zwarich ebed6de7b1 Eliminate the use of dominance frontiers in PromoteMemToReg. In addition to
eliminating a potentially quadratic data structure, this also gives a 17%
speedup when running -scalarrepl on test-suite + SPEC2000 + SPEC2006. My initial
experiment gave a greater speedup around 25%, but I moved the dominator tree
level computation from dominator tree construction to PromoteMemToReg.

Since this approach to computing IDFs has a much lower overhead than the old
code using precomputed DFs, it is worth looking at using this new code for the
second scalarrepl pass as well.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123609 91177308-0d34-0410-b5e6-96231b3b80d8
2011-01-17 01:08:59 +00:00
..
ADCE.cpp
BasicBlockPlacement.cpp
CMakeLists.txt
CodeGenPrepare.cpp temporarily revert r123526. While working on a follow-on patch I 2011-01-15 07:51:19 +00:00
ConstantProp.cpp
CorrelatedValuePropagation.cpp
DCE.cpp
DeadStoreElimination.cpp
EarlyCSE.cpp
GEPSplitter.cpp
GVN.cpp Remove the PR8954 workaround. 2011-01-11 22:56:41 +00:00
IndVarSimplify.cpp reduce indentation. Print <nuw> and <nsw> when dumping SCEV AddRec's 2011-01-09 02:16:18 +00:00
JumpThreading.cpp
LICM.cpp Generalize LoadAndStorePromoter a bit and switch LICM 2011-01-15 00:12:35 +00:00
LoopDeletion.cpp Use SmallVector instead of SmallPtrSet and avoid non-deterministic behavior. 2011-01-12 19:12:45 +00:00
LoopIdiomRecognize.cpp
LoopInstSimplify.cpp LoopInstSimplify preserves LoopSimplify. 2011-01-09 12:35:16 +00:00
LoopRotation.cpp remove a bogus assertion: the latch block of a loop is not 2011-01-11 07:47:59 +00:00
LoopStrengthReduce.cpp
LoopUnrollPass.cpp random cleanups 2011-01-11 08:00:40 +00:00
LoopUnswitch.cpp
LowerAtomic.cpp
Makefile
MemCpyOptimizer.cpp revert 123144, reenabling the rest of memset formation. 2011-01-12 03:25:15 +00:00
Reassociate.cpp
Reg2Mem.cpp
Scalar.cpp split SROA into two passes: one that uses DomFrontiers (-scalarrepl) 2011-01-14 08:13:00 +00:00
ScalarReplAggregates.cpp Eliminate the use of dominance frontiers in PromoteMemToReg. In addition to 2011-01-17 01:08:59 +00:00
SCCP.cpp simplify a little 2011-01-16 07:11:21 +00:00
SimplifyCFGPass.cpp
SimplifyHalfPowrLibCalls.cpp
SimplifyLibCalls.cpp
Sink.cpp
TailDuplication.cpp
TailRecursionElimination.cpp