- Dec 12, 2005
-
-
Chris Lattner authored
llvm-svn: 24676
-
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
-
Evan Cheng authored
Bug fix: finding the correct incoming chain for pattern with nested src operand. And a minor change to make output code slightly more readible. llvm-svn: 24669
-
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
-
Chris Lattner authored
the presense of pointer casts llvm-svn: 24666
-
- Dec 11, 2005
-
-
Chris Lattner authored
llvm-svn: 24665
-
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
llvm-svn: 24655
-
Evan Cheng authored
* Added X86 dec patterns. llvm-svn: 24654
-
Evan Cheng authored
llvm-svn: 24653
-
Evan Cheng authored
llvm-svn: 24652
-
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
-
Chris Lattner authored
the same type as the pointer type for a target. llvm-svn: 24649
-
Evan Cheng authored
llvm-svn: 24648
-
Evan Cheng authored
it has more than one real use (non-chain uses). * Record folded chain producing node in CodeGenMap. * Do not fold a chain producing node if it has already been selected as an operand of a chain use. llvm-svn: 24647
-
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
-
Evan Cheng authored
llvm-svn: 24643
-
Evan Cheng authored
functions can return false and causing the instruction pattern match to fail. * Code clean up. llvm-svn: 24642
-
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
-
Evan Cheng authored
llvm-svn: 24637
-