- Jan 02, 2005
-
-
Chris Lattner authored
1. Add new instructions for checking parity flags: JP, JNP, SETP, SETNP. 2. Set the isCommutable and isPromotableTo3Address bits on several instructions. llvm-svn: 19246
-
Chris Lattner authored
llvm-svn: 19241
-
- Jan 01, 2005
-
-
Chris Lattner authored
While we're at it, improve codegen of select instructions. For this testcase: int %test(bool %C, int %A, int %B) { %D = select bool %C, int %A, int %B ret int %D } We used to generate this code: _test: cmpwi cr0, r3, 0 bne .LBB_test_2 ; .LBB_test_1: ; b .LBB_test_3 ; .LBB_test_2: ; or r5, r4, r4 .LBB_test_3: ; or r3, r5, r5 blr Now we emit: _test: cmpwi cr0, r3, 0 bne .LBB_test_2 ; .LBB_test_1: ; or r4, r5, r5 .LBB_test_2: ; or r3, r4, r4 blr -Chris llvm-svn: 19214
-
Chris Lattner authored
In particular, instead of compiling this: bool %test(int %A, int %B) { %C = setlt int %A, %B ret bool %C } to this: test: save %sp, -96, %sp subcc %i0, %i1, %g0 bl .LBBtest_1 ! nop ba .LBBtest_2 ! nop .LBBtest_1: ! or %g0, 1, %i0 ba .LBBtest_3 ! nop .LBBtest_2: ! or %g0, 0, %i0 ba .LBBtest_3 ! nop .LBBtest_3: ! restore %g0, %g0, %g0 retl nop We now compile it to this: test: save %sp, -96, %sp subcc %i0, %i1, %g0 or %g0, 1, %i0 bl .LBBtest_2 ! nop .LBBtest_1: ! or %g0, %g0, %i0 .LBBtest_2: ! restore %g0, %g0, %g0 retl nop llvm-svn: 19213
-
- Dec 29, 2004
-
-
Chris Lattner authored
Fix testcase CodeGen/CBackend/2004-12-28-LogicalConstantExprs.ll llvm-svn: 19176
-
- Dec 17, 2004
-
-
Chris Lattner authored
llvm-svn: 19024
-
Chris Lattner authored
llvm-svn: 19021
-
Chris Lattner authored
llvm-svn: 19007
-
Chris Lattner authored
save small amounts of time for functions that don't call llvm.returnaddress or llvm.frameaddress (which is almost all functions). llvm-svn: 19006
-
Tanya Lattner authored
llvm-svn: 19005
-
Tanya Lattner authored
llvm-svn: 19004
-
Tanya Lattner authored
llvm-svn: 19003
-
- Dec 16, 2004
-
-
Chris Lattner authored
llvm-svn: 18994
-
Chris Lattner authored
llvm-svn: 18987
-
Chris Lattner authored
llvm-svn: 18985
-
Chris Lattner authored
of custom rules. llvm-svn: 18984
-
Chris Lattner authored
llvm-svn: 18983
-
Chris Lattner authored
llvm-svn: 18982
-
Chris Lattner authored
llvm-svn: 18974
-
- Dec 14, 2004
-
-
Brian Gaeke authored
llvm-svn: 18932
-
Brian Gaeke authored
llvm-svn: 18931
-
- Dec 13, 2004
-
-
Chris Lattner authored
to 64-bit precision, not 80 bits. llvm-svn: 18915
-
Chris Lattner authored
llvm-svn: 18911
-
Chris Lattner authored
don't support long double anyway, and this gives us FP results closer to other targets. This also speeds up 179.art from 41.4s to 18.32s, by eliminating a problem with extra precision that causes an FP == comparison to fail (leading to extra loop iterations). llvm-svn: 18895
-
Brian Gaeke authored
llvm-svn: 18844
-
- Dec 12, 2004
-
-
Chris Lattner authored
when compiled with debug information. llvm-svn: 18835
-
Chris Lattner authored
llvm-svn: 18833
-
Chris Lattner authored
llvm-svn: 18830
-
Brian Gaeke authored
llvm-svn: 18826
-
Brian Gaeke authored
llvm-svn: 18824
-
Brian Gaeke authored
Also, fix a bug where ubyte 255 would sometimes be output as -1. This was afflicting hbd. llvm-svn: 18823
-
Brian Gaeke authored
llvm-svn: 18820
-
Brian Gaeke authored
llvm-svn: 18818
-
- Dec 11, 2004
-
-
Brian Gaeke authored
llvm-svn: 18805
-
Brian Gaeke authored
llvm-svn: 18803
-
Brian Gaeke authored
ctor parameters can be defaulted. Print the transformed llvm code input to the instruction selector when -print-machineinstrs is on, just like V9. llvm-svn: 18794
-
Brian Gaeke authored
*or g0, x add g0, x recognized * as a move) or x, g0 add x, g0 or 0, x add 0, x or x, 0 add x, 0 llvm-svn: 18793
-
Brian Gaeke authored
* Don't emit the Index * ElementSize multiply if Index is a constant. * Use a shift, not a multiply, if ElementSize is 1/2/4/8. * If ElementSize fits in the immediate field of SMUL, then put it there. Fix a bug where struct offsets might be truncated (ConstantSInt::get is now used instead of ConstantInt::get). llvm-svn: 18792
-
Brian Gaeke authored
ones are failing in cbe. llvm-svn: 18791
-
- Dec 10, 2004
-
-
Brian Gaeke authored
slipping through into the instruction selector, which can't deal with them yet. llvm-svn: 18758
-