- Dec 13, 2005
-
-
Evan Cheng authored
llvm-svn: 24689
-
Evan Cheng authored
A few helper fragments for loads. e.g. (i8 (load addr:$src)) -> (loadi8 addr:$src). Only to improve readibility. llvm-svn: 24688
-
Evan Cheng authored
llvm-svn: 24687
-
Evan Cheng authored
llvm-svn: 24686
-
Evan Cheng authored
llvm-svn: 24685
-
Evan Cheng authored
llvm-svn: 24684
-
Evan Cheng authored
llvm-svn: 24683
-
Evan Cheng authored
This enables the removal of some explicit type casts. * Rename immZExt8 to i16ZExt8 as well. llvm-svn: 24682
-
Evan Cheng authored
llvm-svn: 24681
-
- Dec 12, 2005
-
-
Chris Lattner authored
llvm-svn: 24678
-
Chris Lattner authored
llvm-svn: 24677
-
Evan Cheng authored
llvm-svn: 24675
-
Evan Cheng authored
base or index operands being selected. llvm-svn: 24674
-
Evan Cheng authored
first before the chain. e.g. int X; int foo(int x) { x += X + 37; return x; } If chain operand is selected first, we would generate: movl X, %eax movl 4(%esp), %ecx leal 37(%ecx,%eax), %eax rather than movl $37, %eax addl 4(%esp), %eax addl X, %eax which does not require %ecx. (Due to ADD32rm not matching.) llvm-svn: 24673
-
Andrew Lenharth authored
llvm-svn: 24672
-
Chris Lattner authored
llvm-svn: 24671
-
Evan Cheng authored
llvm-svn: 24670
-
Andrew Lenharth authored
llvm-svn: 24668
-
Chris Lattner authored
186.crafty by about 16% (from 15.109s to 13.045s) on my system. This turns allocas with unions/casts into scalars. For example crafty has something like this: union doub { unsigned short i[4]; long long d; }; int f(long long a) { return ((union doub){.d=a}).i[1]; } Instead of generating loads and stores to an alloca, we now promote the whole thing to a scalar long value. This implements: Transforms/ScalarRepl/AggregatePromote.ll llvm-svn: 24667
-
- Dec 11, 2005
-
-
Chris Lattner authored
llvm-svn: 24664
-
Chris Lattner authored
llvm-svn: 24663
-
Chris Lattner authored
llvm-svn: 24662
-
Chris Lattner authored
llvm-svn: 24661
-
Chris Lattner authored
llvm-svn: 24660
-
Chris Lattner authored
llvm-svn: 24659
-
Andrew Lenharth authored
FP select improvements (and likely breakage), oh and crazy people might want to *return* floating point values. Don't see why myself llvm-svn: 24658
-
- Dec 10, 2005
-
-
Nate Begeman authored
them in the PPC backend, to simplify some logic out of Select and SelectAddr. llvm-svn: 24657
-
Evan Cheng authored
llvm-svn: 24656
-
Evan Cheng authored
* Added X86 dec patterns. llvm-svn: 24654
-
Evan Cheng authored
llvm-svn: 24653
-
Nate Begeman authored
hopefully use patterns in the near future. llvm-svn: 24651
-
- Dec 09, 2005
-
-
Chris Lattner authored
must be a pointer. This removes a type check out of the code generated by tblgen for load matching. llvm-svn: 24650
-
Evan Cheng authored
llvm-svn: 24648
-
Chris Lattner authored
llvm-svn: 24646
-
Chris Lattner authored
linking the entire program into one bc file. llvm-svn: 24645
-
Chris Lattner authored
out to me. llvm-svn: 24644
-
Andrew Lenharth authored
llvm-svn: 24641
-
- Dec 08, 2005
-
-
Chris Lattner authored
1. Only forward subst offsets into loads and stores, not into arbitrary things, where it will likely become a load. 2. If the source is a cast from pointer, forward subst the cast as well, allowing us to fold the cast away (improving cases when the cast is from an alloca or global). This hasn't been fully tested, but does appear to further reduce register pressure and improve code. Lets let the testers grind on it a bit. :) llvm-svn: 24640
-
Chris Lattner authored
llvm-svn: 24639
-
Evan Cheng authored
llvm-svn: 24638
-