diff options
author | Chris Lattner <sabre@nondot.org> | 2005-12-23 05:44:41 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2005-12-23 05:44:41 +0000 |
commit | 5710410deaceab136878e73dc48b6d468cff9701 (patch) | |
tree | e3c7b11b212691db51ce00ec1e6da1694d565759 /lib/CodeGen/MachineFunction.cpp | |
parent | c8547d856d3459a61ca9e35b5342288fe626c295 (diff) |
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
Diffstat (limited to 'lib/CodeGen/MachineFunction.cpp')
0 files changed, 0 insertions, 0 deletions