llvm-6502/lib
Chris Lattner 5710410dea 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24982 91177308-0d34-0410-b5e6-96231b3b80d8
2005-12-23 05:44:41 +00:00
..
Analysis Separate the call graph implementation from its interface. This implements 2005-12-22 06:07:52 +00:00
Archive Fix a problem with llvm-ranlib that (on some platforms) caused the archive 2005-11-30 05:21:10 +00:00
AsmParser Regenerate 2005-12-21 18:31:50 +00:00
Bytecode Fix a problem with llvm-ranlib that (on some platforms) caused the archive 2005-11-30 05:21:10 +00:00
CodeGen fold (conv (load x)) -> (load (conv*)x). 2005-12-23 05:44:41 +00:00
Debugger tell selectiondag when we're debugging 2005-11-16 07:21:47 +00:00
ExecutionEngine Fix a nasty bug that was causing miscompilation of global variables 2005-10-23 23:54:56 +00:00
Linker Adjust the constructor to the Linker class to take an argument that names 2005-12-13 20:00:37 +00:00
Support For PR351: 2005-12-22 03:31:26 +00:00
System For PR351: 2005-12-22 20:00:16 +00:00
Target make sure bit_convert's are expanded 2005-12-23 05:15:23 +00:00
Transforms Fix Transforms/ScalarRepl/2005-12-14-UnionPromoteCrash.ll, a crash on undefined 2005-12-14 17:23:59 +00:00
VMCore Revert previous patch. Additional tests fail. 2005-12-22 21:46:37 +00:00
Makefile Add the Linker library 2004-11-14 21:54:41 +00:00