- May 01, 2006
-
-
Evan Cheng authored
Remove temp. option -spiller-check-liveout, it didn't cause any failure nor performance regressions. llvm-svn: 28029
-
Chris Lattner authored
llvm-svn: 28026
-
- Apr 30, 2006
-
-
Evan Cheng authored
But this is incorrect if the spilled value live range extends beyond the current BB. It is currently controlled by a temporary option -spiller-check-liveout. llvm-svn: 28024
-
- Apr 29, 2006
-
-
Chris Lattner authored
with some changes I have to the new CFE. llvm-svn: 28022
-
- Apr 28, 2006
-
-
Evan Cheng authored
llvm-svn: 28012
-
Evan Cheng authored
FORMAL_ARGUMENTS SDOperand in the return result vector. llvm-svn: 28009
-
Chris Lattner authored
the same. In this case, don't emit a noop copy. llvm-svn: 28008
-
Evan Cheng authored
node can be folded. llvm-svn: 28003
-
Chris Lattner authored
and is already available, instead of falling back to emitting a load, fall back to emitting a reg-reg copy. This generates significantly better code for some SSE testcases, as SSE has lots of two-address instructions and none of them are read/modify/write. As one example, this change does: pshufd %XMM5, XMMWORD PTR [%ESP + 84], 255 xorps %XMM2, %XMM5 cmpltps %XMM1, %XMM0 - movaps XMMWORD PTR [%ESP + 52], %XMM0 - movapd %XMM6, XMMWORD PTR [%ESP + 52] + movaps %XMM6, %XMM0 cmpltps %XMM6, XMMWORD PTR [%ESP + 68] movapd XMMWORD PTR [%ESP + 52], %XMM6 movaps %XMM6, %XMM0 cmpltps %XMM6, XMMWORD PTR [%ESP + 36] cmpltps %XMM3, %XMM0 - movaps XMMWORD PTR [%ESP + 20], %XMM0 - movapd %XMM7, XMMWORD PTR [%ESP + 20] + movaps %XMM7, %XMM0 cmpltps %XMM7, XMMWORD PTR [%ESP + 4] movapd XMMWORD PTR [%ESP + 20], %XMM7 cmpltps %XMM4, %XMM0 ... which is far better than a store followed by a load! llvm-svn: 28001
-
- Apr 27, 2006
-
-
Evan Cheng authored
(VAND, VADD, etc.). Legalizer will assert otherwise. llvm-svn: 27991
-
Chris Lattner authored
PR748. llvm-svn: 27987
-
- Apr 26, 2006
-
-
Evan Cheng authored
llvm-svn: 27974
-
- Apr 23, 2006
-
-
Nate Begeman authored
the jump table's range check block. This re-enables 100% dense jump tables by default on PPC & x86 llvm-svn: 27952
-
Nate Begeman authored
these. llvm-svn: 27950
-
Nate Begeman authored
updating the machine CFG. llvm-svn: 27949
-
- Apr 22, 2006
-
-
Nate Begeman authored
x86 and ppc for 100% dense switch statements when relocations are non-PIC. This support will be extended and enhanced in the coming days to support PIC, and less dense forms of jump tables. llvm-svn: 27947
-
- Apr 21, 2006
-
-
Chris Lattner authored
miscompares). Switch RISC targets to use the list-td scheduler, which isn't. llvm-svn: 27933
-
Chris Lattner authored
llvm-svn: 27930
-
Chris Lattner authored
llvm-gcc4 boostrap. Whenever a node is deleted by the dag combiner, it *must* be returned by the visit function, or the dag combiner will not know that the node has been processed (and will, e.g., send it to the target dag combine xforms). llvm-svn: 27922
-
- Apr 20, 2006
-
-
Chris Lattner authored
llvm-svn: 27899
-
Chris Lattner authored
llvm-svn: 27893
-
Evan Cheng authored
DAG combiner can turn a VAND V, <-1, 0, -1, -1>, i.e. vector clear elements, into a vector shuffle with a zero vector. It only does so when TLI tells it the xform is profitable. llvm-svn: 27874
-
Chris Lattner authored
llvm-svn: 27863
-
Chris Lattner authored
llvm-svn: 27846
-
- Apr 18, 2006
-
-
Chris Lattner authored
the code in GCC PR26546. llvm-svn: 27780
-
- Apr 17, 2006
-
-
Chris Lattner authored
llvm-svn: 27775
-
Chris Lattner authored
and a shuffle. For this: void %test2(<4 x float>* %F, float %f) { %tmp = load <4 x float>* %F ; <<4 x float>> [#uses=2] %tmp3 = add <4 x float> %tmp, %tmp ; <<4 x float>> [#uses=1] %tmp2 = insertelement <4 x float> %tmp3, float %f, uint 2 ; <<4 x float>> [#uses=2] %tmp6 = add <4 x float> %tmp2, %tmp2 ; <<4 x float>> [#uses=1] store <4 x float> %tmp6, <4 x float>* %F ret void } we now get this on X86 (which will get better): _test2: movl 4(%esp), %eax movaps (%eax), %xmm0 addps %xmm0, %xmm0 movaps %xmm0, %xmm1 shufps $3, %xmm1, %xmm1 movaps %xmm0, %xmm2 shufps $1, %xmm2, %xmm2 unpcklps %xmm1, %xmm2 movss 8(%esp), %xmm1 unpcklps %xmm1, %xmm0 unpcklps %xmm2, %xmm0 addps %xmm0, %xmm0 movaps %xmm0, (%eax) ret instead of: _test2: subl $28, %esp movl 32(%esp), %eax movaps (%eax), %xmm0 addps %xmm0, %xmm0 movaps %xmm0, (%esp) movss 36(%esp), %xmm0 movss %xmm0, 8(%esp) movaps (%esp), %xmm0 addps %xmm0, %xmm0 movaps %xmm0, (%eax) addl $28, %esp ret llvm-svn: 27765
-
- Apr 16, 2006
-
-
Chris Lattner authored
to write one pattern for vector stores instead of 4. llvm-svn: 27730
-
Chris Lattner authored
buildvectors. llvm-svn: 27723
-
- Apr 14, 2006
-
-
Chris Lattner authored
llvm-svn: 27695
-
- Apr 13, 2006
-
-
Reid Spencer authored
about "dereferencing type-punned pointer will break strict-aliasing rules" llvm-svn: 27671
-
- Apr 12, 2006
-
-
Evan Cheng authored
llvm-svn: 27632
-
Evan Cheng authored
llvm-svn: 27606
-
Chris Lattner authored
Implement support for the formal_arguments node. To get this, targets shouldcustom legalize it and remove their XXXTargetLowering::LowerArguments overload llvm-svn: 27604
-
Chris Lattner authored
getNode do it. This fixes CodeGen/Generic/2006-04-11-vecload.ll llvm-svn: 27602
-
- Apr 11, 2006
-
-
Evan Cheng authored
llvm-svn: 27586
-
Chris Lattner authored
llvm-svn: 27580
-
Chris Lattner authored
llvm-svn: 27578
-
Jim Laskey authored
llvm-svn: 27574
-
- Apr 10, 2006
-
-
Evan Cheng authored
llvm-svn: 27559
-