- Dec 07, 2006
-
-
Bill Wendling authored
llvm-svn: 32320
-
Bill Wendling authored
now cerr, cout, and NullStream resp. llvm-svn: 32298
-
- Dec 06, 2006
-
-
Reid Spencer authored
llvm-svn: 32288
-
Chris Lattner authored
llvm-svn: 32280
-
Chris Lattner authored
is 'unsigned'. llvm-svn: 32279
-
Chris Lattner authored
passing false would make the asmprinter fail anyway. llvm-svn: 32264
-
Chris Lattner authored
llvm-svn: 32252
-
- Dec 05, 2006
-
-
Chris Lattner authored
7.48s. This regression is due to unforseen consequences of the cast patch. llvm-svn: 32209
-
Devang Patel authored
for now. llvm-svn: 32208
-
- Dec 04, 2006
-
-
Reid Spencer authored
llvm-svn: 32166
-
- Dec 02, 2006
-
-
Jeff Cohen authored
llvm-svn: 32113
-
Chris Lattner authored
Transforms/InstCombine/2006-12-01-BadFPVectorXform.ll llvm-svn: 32112
-
- Dec 01, 2006
-
-
Reid Spencer authored
llvm-svn: 32051
-
- Nov 30, 2006
-
-
Chris Lattner authored
llvm-svn: 32044
-
Chris Lattner authored
llvm-svn: 32043
-
Chris Lattner authored
llvm-svn: 32042
-
- Nov 29, 2006
-
-
Chris Lattner authored
unsigned short swp(unsigned short a) { return ((a & 0xff00) >> 8 | (a & 0x00ff) << 8); } as an idiom for bswap. llvm-svn: 32011
-
Chris Lattner authored
This implements InstCombine/cast.ll:test34. It fires hundreds of times on 176.gcc. llvm-svn: 32009
-
Chris Lattner authored
folding seteq (bswap(x)), c -> seteq(x,bswap(c)) llvm-svn: 32006
-
Reid Spencer authored
llvm-svn: 31996
-
- Nov 28, 2006
-
-
Reid Spencer authored
llvm-svn: 31977
-
Reid Spencer authored
producing code for "trunc to bool". This passes all tests on Linux. llvm-svn: 31963
-
- Nov 27, 2006
-
-
Chris Lattner authored
llvm-svn: 31941
-
Reid Spencer authored
The long awaited CAST patch. This introduces 12 new instructions into LLVM to replace the cast instruction. Corresponding changes throughout LLVM are provided. This passes llvm-test, llvm/test, and SPEC CPUINT2000 with the exception of 175.vpr which fails only on a slight floating point output difference. llvm-svn: 31931
-
- Nov 26, 2006
-
-
Bill Wendling authored
llvm-svn: 31925
-
Bill Wendling authored
llvm-svn: 31924
-
Bill Wendling authored
llvm-svn: 31923
-
Bill Wendling authored
llvm-svn: 31922
-
- Nov 23, 2006
-
-
Nick Lewycky authored
Remove predicate simplifier from default gcc3 pipeline. New design is too slow to enable by default. Add new testcases for problems encountered in development. llvm-svn: 31895
-
- Nov 21, 2006
-
-
Chris Lattner authored
llvm-svn: 31889
-
- Nov 18, 2006
-
-
Chris Lattner authored
only do these transformations if there are a small number of phi's. This speeds up Ptrdist/ks from 2.35s to 2.19s on my mac pro. llvm-svn: 31853
-
- Nov 17, 2006
-
-
Chris Lattner authored
and handle it like constant stride vars. This fixes some bad codegen in variable stride cases. For example, it compiles this: void foo(int k, int i) { for (k=i+i; k <= 8192; k+=i) flags2[k] = 0; } to: LBB1_1: #bb.preheader movl %eax, %ecx addl %ecx, %ecx movl L_flags2$non_lazy_ptr, %edx LBB1_2: #bb movb $0, (%edx,%ecx) addl %eax, %ecx cmpl $8192, %ecx jle LBB1_2 #bb LBB1_5: #return ret or (if the array is local and we are in dynamic-nonpic or static mode): LBB3_2: #bb movb $0, _flags2(%ecx) addl %eax, %ecx cmpl $8192, %ecx jle LBB3_2 #bb and: lis r2, ha16(L_flags2$non_lazy_ptr) lwz r2, lo16(L_flags2$non_lazy_ptr)(r2) slwi r3, r4, 1 LBB1_2: ;bb li r5, 0 add r6, r4, r3 stbx r5, r2, r3 cmpwi cr0, r6, 8192 bgt cr0, LBB1_5 ;return instead of: leal (%eax,%eax,2), %ecx movl %eax, %edx addl %edx, %edx addl L_flags2$non_lazy_ptr, %edx xorl %esi, %esi LBB1_2: #bb movb $0, (%edx,%esi) movl %eax, %edi addl %esi, %edi addl %ecx, %esi cmpl $8192, %esi jg LBB1_5 #return and: lis r2, ha16(L_flags2$non_lazy_ptr) lwz r2, lo16(L_flags2$non_lazy_ptr)(r2) mulli r3, r4, 3 slwi r5, r4, 1 li r6, 0 add r2, r2, r5 LBB1_2: ;bb li r5, 0 add r7, r3, r6 stbx r5, r2, r6 add r6, r4, r6 cmpwi cr0, r7, 8192 ble cr0, LBB1_2 ;bb This speeds up Benchmarks/Shootout/sieve from 8.533s to 6.464s and implements LoopStrengthReduce/var_stride_used_by_compare.ll llvm-svn: 31809
-
- Nov 15, 2006
-
-
Chris Lattner authored
llvm-svn: 31751
-
- Nov 14, 2006
-
-
Chris Lattner authored
(X >> Z) op (Y >> Z) -> (X op Y) >> Z for all shifts and all ops={and/or/xor}. llvm-svn: 31729
-
Chris Lattner authored
typedef struct { unsigned prefix : 4; unsigned code : 4; unsigned unsigned_p : 4; } tree_common; int foo(tree_common *a, tree_common *b) { return a->code == b->code; } into: _foo: movl 4(%esp), %eax movl 8(%esp), %ecx movl (%eax), %eax xorl (%ecx), %eax # TRUNCATE movb %al, %al shrb $4, %al testb %al, %al sete %al movzbl %al, %eax ret instead of: _foo: movl 8(%esp), %eax movb (%eax), %al shrb $4, %al movl 4(%esp), %ecx movb (%ecx), %cl shrb $4, %cl cmpb %al, %cl sete %al movzbl %al, %eax ret saving one cycle by eliminating a shift. llvm-svn: 31727
-
- Nov 11, 2006
-
-
Chris Lattner authored
by the shr -> [al]shr patch. This was reduced from 176.gcc. llvm-svn: 31653
-
- Nov 10, 2006
-
-
Chris Lattner authored
llvm-svn: 31610
-
Chris Lattner authored
llvm-svn: 31608
-
- Nov 09, 2006
-
-
Chris Lattner authored
add.ll:test33, add.ll:test34, shift-sra.ll:test2 llvm-svn: 31586
-
- Nov 08, 2006
-
-
Chris Lattner authored
case that it bad to do. llvm-svn: 31563
-