1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-21 03:53:04 +02:00
llvm-mirror/lib/CodeGen/SelectionDAG
Chris Lattner 20e6338732 fold (conv (load x)) -> (load (conv*)x).
This allows us to compile this:
void foo(double);
void bar(double *X) { foo(*X); }

To this:

bar:
        save -96, %o6, %o6
        ld [%i0+4], %o1
        ld [%i0], %o0
        call foo
        nop
        restore %g0, %g0, %g0
        retl
        nop

instead of this:

bar:
        save -104, %o6, %o6
        ldd [%i0], %f0
        std %f0, [%i6+-8]
        ld [%i6+-4], %o1
        ld [%i6+-8], %o0
        call foo
        nop
        restore %g0, %g0, %g0
        retl
        nop

on SparcV8.

llvm-svn: 24982
2005-12-23 05:44:41 +00:00
..
DAGCombiner.cpp fold (conv (load x)) -> (load (conv*)x). 2005-12-23 05:44:41 +00:00
LegalizeDAG.cpp Fix a pasto 2005-12-23 00:52:30 +00:00
Makefile Change Library Names Not To Conflict With Others When Installed 2004-10-27 23:18:45 +00:00
ScheduleDAG.cpp Disengage DEBUG_LOC from non-PPC targets. 2005-12-21 20:51:37 +00:00
SelectionDAG.cpp Fold bitconv(bitconv(x)) -> x. We now compile this: 2005-12-23 05:37:50 +00:00
SelectionDAGISel.cpp enable the gep isel opt 2005-12-21 19:36:36 +00:00
SelectionDAGPrinter.cpp Added an index field to GlobalAddressSDNode so it can represent X+12, etc. 2005-11-30 02:04:11 +00:00