- Jun 13, 2011
-
-
Benjamin Kramer authored
The backend already knew this trick. llvm-svn: 132915
-
- May 23, 2011
-
-
Chris Lattner authored
llvm-svn: 131916
-
- May 22, 2011
-
-
Chris Lattner authored
llvm-svn: 131863
-
Chris Lattner authored
llvm-svn: 131841
-
- Apr 26, 2011
-
-
Chris Lattner authored
when X has multiple uses. This is useful for exposing secondary optimizations, but the X86 backend isn't ready for this when X has a single use. For example, this can disable load folding. This is inching towards resolving PR6627. llvm-svn: 130238
-
- Apr 25, 2011
-
-
Chris Lattner authored
llvm-svn: 130137
-
- Apr 22, 2011
-
-
Benjamin Kramer authored
On x86 this allows to fold a load into the cmp, greatly reducing register pressure. movzbl (%rdi), %eax cmpl $47, %eax -> cmpb $47, (%rdi) This shaves 8k off gcc.o on i386. I'll leave applying the patch in README.txt to Chris :) llvm-svn: 130005
-
- Apr 14, 2011
-
-
Chris Lattner authored
improvements, that will lead to fixing PR6627. llvm-svn: 129504
-
- Mar 25, 2011
-
-
Benjamin Kramer authored
llvm-svn: 128286
-
- Mar 22, 2011
-
-
Eli Friedman authored
llvm-svn: 128107
-
- Mar 21, 2011
-
-
Eli Friedman authored
llvm-svn: 127982
-
- Mar 01, 2011
-
-
Chris Lattner authored
llvm-svn: 126719
-
- Feb 26, 2011
-
-
Benjamin Kramer authored
Add some DAGCombines for (adde 0, 0, glue), which are useful to optimize legalized code for large integer arithmetic. 1. Inform users of ADDEs with two 0 operands that it never sets carry 2. Fold other ADDs or ADDCs into the ADDE if possible It would be neat if we could do the same thing for SETCC+ADD eventually, but we can't do that in target independent code. llvm-svn: 126557
-
- Feb 21, 2011
-
-
Chris Lattner authored
llvm-svn: 126103
-
Chris Lattner authored
llvm-svn: 126101
-
- Feb 17, 2011
-
-
Duncan Sands authored
llvm-svn: 125738
-
Chris Lattner authored
llvm-svn: 125702
-
- Feb 16, 2011
-
-
Chris Lattner authored
llvm-svn: 125681
-
Eli Friedman authored
llvm-svn: 125660
-
Eli Friedman authored
llvm-svn: 125659
-
Eli Friedman authored
llvm-svn: 125658
-
- Feb 06, 2011
-
-
Anders Carlsson authored
llvm-svn: 124989
-
- Feb 02, 2011
-
-
Benjamin Kramer authored
This makes the job of the later optzn passes easier, allowing the vast amount of icmp transforms to chew on it. We transform 840 switches in gcc.c, leading to a 16k byte shrink of the resulting binary on i386-linux. The testcase from README.txt now compiles into decl %edi cmpl $3, %edi sbbl %eax, %eax andl $1, %eax ret llvm-svn: 124724
-
- Jan 31, 2011
-
-
Chris Lattner authored
llvm-svn: 124599
-
- Jan 30, 2011
-
-
Benjamin Kramer authored
Teach DAGCombine to fold fold (sra (trunc (sr x, c1)), c2) -> (trunc (sra x, c1+c2) when c1 equals the amount of bits that are truncated off. This happens all the time when a smul is promoted to a larger type. On x86-64 we now compile "int test(int x) { return x/10; }" into movslq %edi, %rax imulq $1717986919, %rax, %rax movq %rax, %rcx shrq $63, %rcx sarq $34, %rax <- used to be "shrq $32, %rax; sarl $2, %eax" addl %ecx, %eax This fires 96 times in gcc.c on x86-64. llvm-svn: 124559
-
- Jan 24, 2011
-
-
Chris Lattner authored
llvm-svn: 124097
-
Chris Lattner authored
define i32 @foo(i32 %x) nounwind readnone ssp { entry: %tobool = icmp eq i32 %x, 0 %tmp5 = select i1 %tobool, i32 2, i32 1 ret i32 %tmp5 } llvm-svn: 124091
-
- Jan 23, 2011
-
-
Anders Carlsson authored
llvm-svn: 124082
-
- Jan 18, 2011
-
-
Chris Lattner authored
llvm-svn: 123752
-
- Jan 16, 2011
-
-
Anders Carlsson authored
llvm-svn: 123597
-
Chris Lattner authored
llvm-svn: 123572
-
Chandler Carruth authored
llvm-svn: 123556
-
- Jan 13, 2011
-
-
Chris Lattner authored
llvm-svn: 123406
-
Chris Lattner authored
llvm-svn: 123405
-
- Jan 11, 2011
-
-
Chandler Carruth authored
point values to their integer representation through the SSE intrinsic calls. This is the last part of a README.txt entry for which I have real world examples. llvm-svn: 123206
-
Owen Anderson authored
Fix a random missed optimization by making InstCombine more aggressive when determining which bits are demanded by a comparison against a constant. llvm-svn: 123203
-
- Jan 10, 2011
-
-
Chris Lattner authored
operation in some cases. llvm-svn: 123190
-
Chris Lattner authored
llvm-svn: 123145
-
Chris Lattner authored
llvm-svn: 123142
-
Chris Lattner authored
llvm-svn: 123141
-