llvm/lib
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
..
Analysis CSE simple binary expressions when they are inserted. This makes LSR produce 2007-04-13 05:04:18 +00:00
Archive Avoid a useless temporary constrution. 2007-04-07 19:51:45 +00:00
AsmParser Implement the "thread_local" keyword. 2007-04-12 18:32:50 +00:00
Bytecode Implement the "thread_local" keyword. 2007-04-12 18:32:50 +00:00
CodeGen disable switch lowering using shift/and. It still breaks ppc bootstrap for 2007-04-14 19:39:41 +00:00
Debugger Make sure temporary data is not used past its life span. 2007-04-08 20:10:14 +00:00
ExecutionEngine For PR1293: 2007-03-30 16:41:50 +00:00
Linker Implement the "thread_local" keyword. 2007-04-12 18:32:50 +00:00
Support Fix PR1329. 2007-04-14 21:50:21 +00:00
System Hack to get sys::Path to recognize macho dylibs. 2007-04-11 03:15:35 +00:00
Target add a note 2007-04-14 23:06:09 +00:00
Transforms Extend store merging to support the 'if/then' version in addition to if/then/else. 2007-04-15 01:02:18 +00:00
VMCore Fix some unsafe code. Also, tabs -> spaces. 2007-04-14 23:57:00 +00:00
Makefile Changes to support making the shift instructions be true BinaryOperators. 2007-02-02 02:16:23 +00:00