llvm-6502/test/Transforms
Owen Anderson b0ba0f4170 LoadPRE was not properly checking that the load it was PRE'ing post-dominated the block it was being hoisted to.
Splitting critical edges at the merge point only addressed part of the issue; it is also possible for non-post-domination
to occur when the path from the load to the merge has branches in it.  Unfortunately, full anticipation analysis is
time-consuming, so for now approximate it.  This is strictly more conservative than real anticipation, so we will miss
some cases that real PRE would allow, but we also no longer insert loads into paths where they didn't exist before. :-)

This is a very slight net positive on SPEC for me (0.5% on average).  Most of the benchmarks are largely unaffected, but
when it pays off it pays off decently: 181.mcf improves by 4.5% on my machine.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114785 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-25 05:26:18 +00:00
..
ADCE
ArgumentPromotion
BlockPlacement
BranchFolding
CodeExtractor
CodeGenPrepare
ConstantMerge fix PR8144, a bug where constant merge would merge globals marked 2010-09-15 00:30:11 +00:00
ConstProp
CorrelatedValuePropagation Add missing RUN line to this test. 2010-09-16 18:46:23 +00:00
DeadArgElim
DeadStoreElimination
FunctionAttrs
GlobalDCE
GlobalOpt Fix this test to avoid an "inexact" fold. 2010-09-17 20:25:43 +00:00
GVN LoadPRE was not properly checking that the load it was PRE'ing post-dominated the block it was being hoisted to. 2010-09-25 05:26:18 +00:00
IndVarSimplify
Inline
InstCombine Be more precise when trying to XFAIL this tester: http://google1.osuosl.org:8011/builders/llvm-arm-linux 2010-09-24 20:34:49 +00:00
Internalize
IPConstantProp
JumpThreading Remove dead option from tests. 2010-09-14 21:03:40 +00:00
LCSSA
LICM fix PR8102, a case where we'd copyValue from a value that we already 2010-09-14 00:19:00 +00:00
LoopDeletion
LoopIndexSplit
LoopRotate Teach loop rotate to hoist trivially invariant instructions 2010-09-06 01:10:22 +00:00
LoopSimplify Fix LoopSimplify to notify ScalarEvolution when splitting a loop backedge 2010-09-04 02:42:48 +00:00
LoopStrengthReduce
LoopUnroll Revert r113439, which relaxed the requirement that loops containing calls cannot be unrolled. After some discussion, 2010-09-09 20:02:23 +00:00
LoopUnswitch
LowerAtomic
LowerInvoke
LowerSetJmp
LowerSwitch
Mem2Reg
MemCpyOpt
MergeFunc
PartialSpecialize
PruneEH
Reassociate
ScalarRepl
SCCP
SimplifyCFG
SimplifyLibCalls
Sink
SRETPromotion
StripSymbols
TailCallElim
TailDup