- Apr 18, 2007
-
-
Evan Cheng authored
llvm-svn: 36233
-
Chris Lattner authored
Be more careful when inserting reused instructions. This fixes CodeGen/Generic/2007-04-17-lsr-crash.ll llvm-svn: 36231
-
Evan Cheng authored
llvm-svn: 36227
-
Chris Lattner authored
wrong operand. llvm-svn: 36223
-
Chris Lattner authored
llvm-svn: 36222
-
- Apr 17, 2007
-
-
Chris Lattner authored
This compiles: int baz(long long a) { return (short)(((int)(a >>24)) >> 9); } into: _baz: srwi r2, r3, 1 extsh r3, r2 blr on PPC, instead of: _baz: slwi r2, r3, 8 srwi r2, r2, 9 extsh r3, r2 blr GCC produces: _baz: srwi r10,r4,24 insrwi r10,r3,24,0 srawi r9,r3,24 srawi r3,r10,9 extsh r3,r3 blr This implements CodeGen/PowerPC/shl_elim.ll llvm-svn: 36221
-
Evan Cheng authored
long live interval that has low usage density. 1. Change order of coalescing to join physical registers with virtual registers first before virtual register intervals become too long. 2. Check size and usage density to determine if it's worthwhile to join. 3. If joining is aborted, assign virtual register live interval allocation preference field to the physical register. 4. Register allocator should try to allocate to the preferred register first (if available) to create identify moves that can be eliminated. llvm-svn: 36218
-
Evan Cheng authored
llvm-svn: 36216
-
Evan Cheng authored
llvm-svn: 36215
-
Evan Cheng authored
llvm-svn: 36214
-
Anton Korobeynikov authored
llvm-svn: 36213
-
Chris Lattner authored
a chance to hack on it. This compiles: int baz(long long a) { return (short)(((int)(a >>24)) >> 9); } into: _baz: slwi r2, r3, 8 srwi r2, r2, 9 extsh r3, r2 blr instead of: _baz: srwi r2, r4, 24 rlwimi r2, r3, 8, 0, 23 srwi r2, r2, 9 extsh r3, r2 blr This implements CodeGen/PowerPC/sign_ext_inreg1.ll llvm-svn: 36212
-
Dan Gohman authored
gets called. llvm-svn: 36208
-
Chris Lattner authored
llvm-svn: 36205
-
Chris Lattner authored
llvm-svn: 36203
-
Chris Lattner authored
llvm-svn: 36202
-
Chris Lattner authored
llvm-svn: 36201
-
Chris Lattner authored
llvm-svn: 36200
-
Chris Lattner authored
llvm-svn: 36199
-
Chris Lattner authored
llvm-svn: 36198
-
Chris Lattner authored
llvm-svn: 36197
-
Chris Lattner authored
it is defined in. llvm-svn: 36196
-
Anton Korobeynikov authored
Also, fixed static case in presence of eax livin. This fixes PR331 PS: Why don't we still have push/pop instructions? :) llvm-svn: 36195
-
Chris Lattner authored
field into SubclassData in Value. This shrinks GlobalVAlue from 48->40 bytes, Function from 88->76, and GlobalVariable from 76->68. This trims 4640 bytes off my testcase, reading a bc file without materializing any functions. llvm-svn: 36192
-
Andrew Lenharth authored
llvm-svn: 36191
-
Chris Lattner authored
object is always constant. As such, evaluate it at compile time instead of storing it as an ivar in SymbolTableListTraits. This shrinks every SymbolTableListTraits ilist by a word, shrinking BasicBlock from 44->40 bytes, Function from 96->88 bytes, and Module from 60->52 bytes. llvm-svn: 36189
-
Chris Lattner authored
of two. This shrinkifies Function by 8 bytes (104->96) and Module by 8 bytes (68->60). On a testcase of mine, this reduces the memory used to read a module header from 565680b to 561024, a little over 4K. llvm-svn: 36188
-
Chris Lattner authored
llvm-svn: 36185
-
Reid Spencer authored
llvm-svn: 36183
-
Devang Patel authored
Fix http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20070416/047888.html llvm-svn: 36182
-
Reid Spencer authored
llvm-svn: 36180
-
Reid Spencer authored
llvm-svn: 36179
-
Reid Spencer authored
used because we *do* want to allow nulls in names. llvm-svn: 36178
-
- Apr 16, 2007
-
-
Jeff Cohen authored
llvm-svn: 36177
-
Reid Spencer authored
forcing every small argument of every function regardless of attributes or calling convention to be expanded. llvm-svn: 36174
-
Jeff Cohen authored
replaced it with a FIXME should have determined what did work. Then he would have realized that the code was in fact correct, and would have avoided breaking it. llvm-svn: 36173
-
Devang Patel authored
llvm-svn: 36159
-
Devang Patel authored
llvm-svn: 36158
-
Devang Patel authored
llvm-svn: 36157
-
Reid Spencer authored
llvm-svn: 36156
-