| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
| |
llvm-svn: 25124
|
| |
|
|
| |
llvm-svn: 25121
|
| |
|
|
| |
llvm-svn: 25120
|
| |
|
|
| |
llvm-svn: 25116
|
| |
|
|
|
|
| |
inserted in the code.
llvm-svn: 25104
|
| |
|
|
|
|
|
| |
pass manager do it's thing." Fixes crash when compiling -g files and suppresses
dwarf statements if no debug info is present.
llvm-svn: 25100
|
| |
|
|
| |
llvm-svn: 25096
|
| |
|
|
| |
llvm-svn: 25095
|
| |
|
|
| |
llvm-svn: 25093
|
| |
|
|
| |
llvm-svn: 25090
|
| |
|
|
| |
llvm-svn: 25089
|
| |
|
|
| |
llvm-svn: 25086
|
| |
|
|
|
|
|
|
|
| |
use virtual registers. We now allow the first instruction in a block of
terminators to use virtual registers, and update phi elimination to correctly
update livevar when eliminating phi's. This fixes a problem on a testcase
Andrew sent me.
llvm-svn: 25083
|
| |
|
|
|
|
| |
don't help anyone)
llvm-svn: 25081
|
| |
|
|
| |
llvm-svn: 25080
|
| |
|
|
|
|
| |
GDB use tolerable
llvm-svn: 25064
|
| |
|
|
|
|
| |
drop it on the floor.
llvm-svn: 25044
|
| |
|
|
| |
llvm-svn: 25041
|
| |
|
|
| |
llvm-svn: 25034
|
| |
|
|
| |
llvm-svn: 25031
|
| |
|
|
| |
llvm-svn: 25030
|
| |
|
|
| |
llvm-svn: 25007
|
| |
|
|
|
|
| |
Alpha needs to custom lower *DIV and *REM
llvm-svn: 25006
|
| |
|
|
| |
llvm-svn: 24995
|
| |
|
|
| |
llvm-svn: 24992
|
| |
|
|
|
|
| |
currently used.
llvm-svn: 24988
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
void bar(double Y, double *X) {
*X = Y;
}
to this:
bar:
save -96, %o6, %o6
st %i1, [%i2+4]
st %i0, [%i2]
restore %g0, %g0, %g0
retl
nop
instead of this:
bar:
save -104, %o6, %o6
st %i1, [%i6+-4]
st %i0, [%i6+-8]
ldd [%i6+-8], %f0
std %f0, [%i2]
restore %g0, %g0, %g0
retl
nop
on sparcv8.
llvm-svn: 24983
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
void foo(double);
void bar(double X) { foo(X); }
to this:
bar:
save -96, %o6, %o6
or %g0, %i0, %o0
or %g0, %i1, %o1
call foo
nop
restore %g0, %g0, %g0
retl
nop
instead of this:
bar:
save -112, %o6, %o6
st %i1, [%i6+-4]
st %i0, [%i6+-8]
ldd [%i6+-8], %f0
std %f0, [%i6+-16]
ld [%i6+-12], %o1
ld [%i6+-16], %o0
call foo
nop
restore %g0, %g0, %g0
retl
nop
on V8.
llvm-svn: 24981
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
conversions. This allows V8 to compiles this:
void %test() {
call float %test2( float 1.000000e+00, float 2.000000e+00, double 3.000000e+00, double* null )
ret void
}
into:
test:
save -96, %o6, %o6
sethi 0, %o3
sethi 1049088, %o2
sethi 1048576, %o1
sethi 1040384, %o0
or %g0, %o3, %o4
call test2
nop
restore %g0, %g0, %g0
retl
nop
instead of:
test:
save -112, %o6, %o6
sethi 0, %o4
sethi 1049088, %l0
st %o4, [%i6+-12]
st %l0, [%i6+-16]
ld [%i6+-12], %o3
ld [%i6+-16], %o2
sethi 1048576, %o1
sethi 1040384, %o0
call test2
nop
restore %g0, %g0, %g0
retl
nop
llvm-svn: 24980
|
| |
|
|
| |
llvm-svn: 24973
|
| |
|
|
| |
llvm-svn: 24972
|
| |
|
|
| |
llvm-svn: 24970
|
| |
|
|
| |
llvm-svn: 24965
|
| |
|
|
| |
llvm-svn: 24943
|
| |
|
|
| |
llvm-svn: 24926
|
| |
|
|
|
|
| |
* Teach DAG combiner about X86ISD::SETCC by adding a TargetLowering hook.
llvm-svn: 24921
|
| |
|
|
| |
llvm-svn: 24919
|
| |
|
|
|
|
|
| |
bytes to pop off stack.
* Added support for X86 SETCC.
llvm-svn: 24917
|
| |
|
|
| |
llvm-svn: 24914
|
| |
|
|
| |
llvm-svn: 24911
|
| |
|
|
| |
llvm-svn: 24910
|
| |
|
|
|
|
| |
scalarizing vectors)
llvm-svn: 24905
|
| |
|
|
| |
llvm-svn: 24890
|
| |
|
|
| |
llvm-svn: 24887
|
| |
|
|
| |
llvm-svn: 24877
|
| |
|
|
|
|
|
|
|
|
|
| |
last night, breaking crafty and twolf. Make sure that the newly found
legal nodes are themselves not re-legalized until the next iteration.
Also, since this functionality exists now, we can reduce number of legalizer
iterations by depending on this behavior instead of having to misuse 'do
another iteration' to get the same effect.
llvm-svn: 24875
|
| |
|
|
| |
llvm-svn: 24870
|
| |
|
|
| |
llvm-svn: 24869
|
| |
|
|
|
|
| |
creating graphs that cannot be scheduled.
llvm-svn: 24866
|