llvm-6502/lib/Transforms/Scalar
Chris Lattner 31755a024d Extend store merging to support the 'if/then' version in addition to if/then/else.
This sinks the two stores in this example into a single store in cond_next.  In this
case, it allows elimination of the load as well:

        store double 0.000000e+00, double* @s.3060
        %tmp3 = fcmp ogt double %tmp1, 5.000000e-01             ; <i1> [#uses=1]
        br i1 %tmp3, label %cond_true, label %cond_next
cond_true:              ; preds = %entry
        store double 1.000000e+00, double* @s.3060
        br label %cond_next
cond_next:              ; preds = %entry, %cond_true
        %tmp6 = load double* @s.3060            ; <double> [#uses=1]

This implements Transforms/InstCombine/store-merge.ll:test2


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36040 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-15 01:02:18 +00:00
..
ADCE.cpp
BasicBlockPlacement.cpp
CodeGenPrepare.cpp use an accessor to simplify code. 2007-04-14 00:17:39 +00:00
CondPropagate.cpp
ConstantProp.cpp
CorrelatedExprs.cpp
DCE.cpp
DeadStoreElimination.cpp
GCSE.cpp fix long lines 2007-04-14 23:32:02 +00:00
IndVarSimplify.cpp Now IndVarSimplify is a LoopPass. 2007-03-07 06:39:01 +00:00
InstructionCombining.cpp Extend store merging to support the 'if/then' version in addition to if/then/else. 2007-04-15 01:02:18 +00:00
LICM.cpp fix long lines 2007-04-14 23:32:02 +00:00
LoopRotation.cpp fix long lines 2007-04-14 23:32:02 +00:00
LoopStrengthReduce.cpp Now that codegen prepare isn't defeating me, I can finally fix what I set 2007-04-13 20:42:26 +00:00
LoopUnroll.cpp
LoopUnswitch.cpp
LowerGC.cpp
LowerPacked.cpp
Makefile
PredicateSimplifier.cpp fix long lines 2007-04-14 23:32:02 +00:00
Reassociate.cpp
Reg2Mem.cpp
ScalarReplAggregates.cpp Fix Transforms/ScalarRepl/union-pointer.ll 2007-04-11 15:45:25 +00:00
SCCP.cpp fix long lines 2007-04-14 23:32:02 +00:00
SimplifyCFG.cpp Use a worklist-driven algorithm instead of a recursive one. 2007-04-05 01:27:02 +00:00
TailDuplication.cpp
TailRecursionElimination.cpp Change uses of Function::front to Function::getEntryBlock for readability. 2007-03-22 16:38:57 +00:00