- Jun 19, 2007
-
-
Dan Gohman authored
with a general target hook to identify rematerializable instructions. Some instructions are only rematerializable with specific operands, such as loads from constant pools, while others are always rematerializable. This hook allows both to be identified as being rematerializable with the same mechanism. llvm-svn: 37644
-
- Jun 15, 2007
-
-
Dale Johannesen authored
llvm-svn: 37578
-
- Jun 14, 2007
-
-
Dan Gohman authored
implementation for x86. llvm-svn: 37576
-
- Jun 13, 2007
-
-
Dale Johannesen authored
llvm-svn: 37571
-
- Jun 08, 2007
-
-
Evan Cheng authored
llvm-svn: 37528
-
- May 21, 2007
-
-
Evan Cheng authored
llvm-svn: 37266
-
- May 18, 2007
-
-
Evan Cheng authored
llvm-svn: 37193
-
- Apr 25, 2007
-
-
Evan Cheng authored
llvm-svn: 36430
-
- Apr 24, 2007
-
-
Bill Wendling authored
llvm-svn: 36404
-
- Apr 04, 2007
-
-
Bill Wendling authored
llvm-svn: 35638
-
- Apr 03, 2007
-
-
Bill Wendling authored
llvm-svn: 35616
-
- Mar 28, 2007
-
-
Chris Lattner authored
_test3: leaq (,%rdi,4), %rax orq %rdi, %rax ret instead of: _test2: movq %rdi, %rax shlq $2, %rax orq %rdi, %rax ret llvm-svn: 35434
-
Chris Lattner authored
system assembler not groking legal instructions like "leal (,%esi,8), %ecx". llvm-svn: 35393
-
- Mar 20, 2007
-
-
Chris Lattner authored
1) codegen a shift of a register as a shift, not an LEA. 2) teach the RA to convert a shift to an LEA instruction if it wants something in three-address form. This gives us asm diffs like: - leal (,%eax,4), %eax + shll $2, %eax which is faster on some processors and smaller on all of them. and, more interestingly: - movl 24(%esi), %eax - leal (,%eax,4), %edi + movl 24(%esi), %edi + shll $2, %edi Without #2, #1 was a significant pessimization in some cases. This implements CodeGen/X86/shift-codegen.ll llvm-svn: 35204
-
- Mar 08, 2007
-
-
Bill Wendling authored
moves, loads, etc. are recognized. llvm-svn: 35031
-
- Jan 26, 2007
-
-
Jim Laskey authored
llvm-svn: 33537
-
- Dec 01, 2006
-
-
Evan Cheng authored
convertToThreeAddress() is now responsible for updating live info as well as inserting the new MI's. llvm-svn: 32097
-
- Nov 28, 2006
-
-
Evan Cheng authored
of opcode and number of operands. llvm-svn: 31947
-
- Nov 17, 2006
-
-
Evan Cheng authored
llvm-svn: 31794
-
- Nov 15, 2006
-
-
Evan Cheng authored
llvm-svn: 31765
-
- Nov 14, 2006
-
-
Evan Cheng authored
llvm-svn: 31712
-
- Oct 30, 2006
-
-
Chris Lattner authored
llvm-svn: 31298
-
- Oct 28, 2006
-
-
Chris Lattner authored
llvm-svn: 31262
-
- Oct 21, 2006
-
-
Chris Lattner authored
llvm-svn: 31099
-
Chris Lattner authored
llvm-svn: 31097
-
Chris Lattner authored
llvm-svn: 31095
-
Chris Lattner authored
llvm-svn: 31093
-
- Oct 20, 2006
-
-
Chris Lattner authored
llvm-svn: 31074
-
Chris Lattner authored
llvm-svn: 31065
-
- Oct 18, 2006
-
-
Chris Lattner authored
llvm-svn: 31024
-
- Oct 13, 2006
-
-
Chris Lattner authored
llvm-svn: 30938
-
- Sep 29, 2006
-
-
Chris Lattner authored
llvm-svn: 30663
-
- Sep 08, 2006
-
-
Evan Cheng authored
llvm-svn: 30177
-
- Sep 05, 2006
-
-
Chris Lattner authored
actually *removes* one of the operands, instead of just assigning both operands the same register. This make reasoning about instructions unnecessarily complex, because you need to know if you are before or after register allocation to match up operand #'s with the target description file. Changing this also gets rid of a bunch of hacky code in various places. This patch also includes changes to fold loads into cmp/test instructions in the X86 backend, along with a significant simplification to the X86 spill folding code. llvm-svn: 30108
-
- Jul 25, 2006
-
-
Evan Cheng authored
llvm-svn: 29275
-
- May 31, 2006
-
-
Evan Cheng authored
llvm-svn: 28577
-
Evan Cheng authored
only transform a shufps to pshufd when the first two operands are the same. llvm-svn: 28575
-
- May 30, 2006
-
-
Evan Cheng authored
llvm-svn: 28574
-
Evan Cheng authored
llvm-svn: 28573
-
Evan Cheng authored
llvm-svn: 28565
-