- Mar 14, 2006
-
-
Chris Lattner authored
llvm-svn: 26754
-
Chris Lattner authored
(x<<1)+(y<<1) -> (X+Y)<<1. This implements Transforms/Reassociate/shift-factor.ll llvm-svn: 26753
-
Chris Lattner authored
llvm-svn: 26752
-
Reid Spencer authored
determine the top directory. This allows the tool to find the correct top directory when you have something like: /x/llvm /x/llvm2 /x/llvm3 Previously the scripts would always find /x/llvm even if you were in the llvm2 or llvm3 directory because the pattern didn't allow the digits at the end of the path. llvm-svn: 26751
-
Reid Spencer authored
llvm-svn: 26750
-
Reid Spencer authored
llvm-svn: 26749
-
Reid Spencer authored
llvm-svn: 26748
-
Reid Spencer authored
llvm-svn: 26747
-
Reid Spencer authored
llvm-svn: 26746
-
Jim Laskey authored
2. Remove the declaration of llvm.dbg.declare. llvm-svn: 26745
-
Jim Laskey authored
llvm-svn: 26744
-
Evan Cheng authored
llvm-svn: 26743
-
Evan Cheng authored
llvm-svn: 26742
-
Evan Cheng authored
llvm-svn: 26741
-
Evan Cheng authored
llvm-svn: 26740
-
Evan Cheng authored
llvm-svn: 26739
-
Evan Cheng authored
transformation decisions. llvm-svn: 26738
-
Chris Lattner authored
llvm-svn: 26737
-
Chris Lattner authored
llvm-svn: 26736
-
- Mar 13, 2006
-
-
Chris Lattner authored
llvm-svn: 26735
-
Chris Lattner authored
llvm-svn: 26734
-
Chris Lattner authored
registers, and update it on entry to each function, then restore it on exit. This compiles: void func(vfloat *a, vfloat *b, vfloat *c) { *a = *b * *c + *c; } to this: _func: mfspr r2, 256 oris r6, r2, 49152 mtspr 256, r6 lvx v0, 0, r5 lvx v1, 0, r4 vmaddfp v0, v1, v0, v0 stvx v0, 0, r3 mtspr 256, r2 blr GCC produces this (which has additional stack accesses): _func: mfspr r0,256 stw r0,-4(r1) oris r0,r0,0xc000 mtspr 256,r0 lvx v0,0,r5 lvx v1,0,r4 lwz r12,-4(r1) vmaddfp v0,v0,v1,v0 stvx v0,0,r3 mtspr 256,r12 blr llvm-svn: 26733
-
Evan Cheng authored
llvm-svn: 26732
-
Chris Lattner authored
llvm-svn: 26731
-
Reid Spencer authored
$(Echo) instead of @echo llvm-svn: 26730
-
Jim Laskey authored
llvm-svn: 26729
-
Chris Lattner authored
llvm-svn: 26728
-
Chris Lattner authored
Regression/CodeGen/PowerPC/and_add.ll a case that occurs with dynamic allocas of constant size. llvm-svn: 26727
-
Chris Lattner authored
llvm-svn: 26726
-
Chris Lattner authored
llvm-svn: 26725
-
Chris Lattner authored
llvm-svn: 26724
-
Chris Lattner authored
a select and FABS/FNEG. This speeds up a trivial (aka stupid) copysign benchmark I wrote from 6.73s to 2.64s, woo. llvm-svn: 26723
-
Chris Lattner authored
llvm-svn: 26722
-
Chris Lattner authored
llvm-svn: 26721
-
Chris Lattner authored
llvm-svn: 26720
-
- Mar 12, 2006
-
-
Chris Lattner authored
1. Use flags on the instructions in the .td file to indicate the PPC970 unit type instead of a table in the .cpp file. Much cleaner. 2. Change the hazard recognizer to build d-groups according to the actual algorithm used, not my flawed understanding of it. 3. Model "must be in the first slot" and "must be the only instr in a group" accurately. llvm-svn: 26719
-
Chris Lattner authored
to be emitted. Don't add one to the latency of a completed instruction if the latency of the op is 0. llvm-svn: 26718
-
Chris Lattner authored
predecessor to finish before they can start. llvm-svn: 26717
-
Chris Lattner authored
operands have all issued, but whose results are not yet available. This allows us to compile: int G; int test(int A, int B, int* P) { return (G+A)*(B+1); } to: _test: lis r2, ha16(L_G$non_lazy_ptr) addi r4, r4, 1 lwz r2, lo16(L_G$non_lazy_ptr)(r2) lwz r2, 0(r2) add r2, r2, r3 mullw r3, r2, r4 blr instead of this, which has a stall between the lis/lwz: _test: lis r2, ha16(L_G$non_lazy_ptr) lwz r2, lo16(L_G$non_lazy_ptr)(r2) addi r4, r4, 1 lwz r2, 0(r2) add r2, r2, r3 mullw r3, r2, r4 blr llvm-svn: 26716
-
Chris Lattner authored
Regression/Transforms/InstCombine/stacksaverestore.ll llvm-svn: 26715
-