llvm/lib/Transforms
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
..
Hello Remove use of SlowOperationInformer. 2007-04-13 18:58:18 +00:00
Instrumentation remove reoptimizer-specific passes 2007-02-20 05:31:49 +00:00
IPO avoid iterator invalidation. 2007-04-14 18:06:52 +00:00
Scalar Extend store merging to support the 'if/then' version in addition to if/then/else. 2007-04-15 01:02:18 +00:00
Utils avoid copying sets and vectors around. 2007-04-14 22:10:17 +00:00
Makefile Build Hello by default so it can be used in test cases. 2007-04-11 21:03:37 +00:00