- Apr 08, 2005
-
-
Chris Lattner authored
llvm-svn: 21158
-
Nate Begeman authored
llvm-svn: 21157
-
Andrew Lenharth authored
collect a few statistics, factor constants (constant loading and mult), fix logic operation pattern matchs, supress FP div when int dividing by a constant llvm-svn: 21156
-
Andrew Lenharth authored
llvm-svn: 21155
-
Andrew Lenharth authored
llvm-svn: 21154
-
Duraid Madina authored
fix hack in division (clean up frcpa instruction) llvm-svn: 21153
-
Chris Lattner authored
llvm-svn: 21152
-
Chris Lattner authored
llvm-svn: 21151
-
- Apr 07, 2005
-
-
Nate Begeman authored
Optimized code sequence for (a < 0) ? b : 0 llvm-svn: 21150
-
Andrew Lenharth authored
llvm-svn: 21149
-
Chris Lattner authored
this into sign/zero extension instructions later. On PPC, for example, this testcase: %G = external global sbyte implementation void %test(int %X, int %Y) { %C = setlt int %X, %Y %D = cast bool %C to sbyte store sbyte %D, sbyte* %G ret void } Now codegens to: cmpw cr0, r3, r4 li r3, 1 li r4, 0 blt .LBB_test_2 ; .LBB_test_1: ; or r3, r4, r4 .LBB_test_2: ; addis r2, r2, ha16(L_G$non_lazy_ptr-"L00000$pb") lwz r2, lo16(L_G$non_lazy_ptr-"L00000$pb")(r2) stb r3, 0(r2) instead of: cmpw cr0, r3, r4 li r3, 1 li r4, 0 blt .LBB_test_2 ; .LBB_test_1: ; or r3, r4, r4 .LBB_test_2: ; *** rlwinm r3, r3, 0, 31, 31 addis r2, r2, ha16(L_G$non_lazy_ptr-"L00000$pb") lwz r2, lo16(L_G$non_lazy_ptr-"L00000$pb")(r2) stb r3, 0(r2) llvm-svn: 21148
-
Chris Lattner authored
llvm-svn: 21147
-
Chris Lattner authored
llvm-svn: 21146
-
Chris Lattner authored
what the contents of the top bits of these registers are, in the common cases of targets that sign and zero extend the results. llvm-svn: 21145
-
Chris Lattner authored
llvm-svn: 21144
-
Andrew Lenharth authored
llvm-svn: 21143
-
Chris Lattner authored
(likewise for <= >=u >=u). Second, it implements a special case hack to turn 'X gtu SINTMAX' -> 'X lt 0' On powerpc, for example, this changes this: lis r2, 32767 ori r2, r2, 65535 cmplw cr0, r3, r2 bgt .LBB_test_2 into: cmpwi cr0, r3, 0 blt .LBB_test_2 llvm-svn: 21142
-
Andrew Lenharth authored
llvm-svn: 21141
-
Andrew Lenharth authored
fixup magic constant making code. tested by thousands of random divisions.... by 10000. ok, so random divisors would be good too, but this at least fixes some things llvm-svn: 21140
-
Andrew Lenharth authored
llvm-svn: 21139
-
Chris Lattner authored
(X-Y)-X --> -Y A + (B - A) --> B (B - A) + A --> B llvm-svn: 21138
-
Chris Lattner authored
llvm-svn: 21137
-
Chris Lattner authored
This occurs several dozen times in specint2k, particularly in crafty and gcc apparently. llvm-svn: 21136
-
Chris Lattner authored
llvm-svn: 21135
-
Chris Lattner authored
llvm-svn: 21134
-
Andrew Lenharth authored
llvm-svn: 21133
-
Andrew Lenharth authored
llvm-svn: 21132
-
Duraid Madina authored
llvm-svn: 21131
-
Duraid Madina authored
llvm-svn: 21130
-
Duraid Madina authored
llvm-svn: 21129
-
Chris Lattner authored
elements auto of the autoCSE maps. llvm-svn: 21128
-
Nate Begeman authored
other things. llvm-svn: 21127
-
Nate Begeman authored
llvm-svn: 21126
-
Alkis Evlogimenos authored
llvm-svn: 21125
-
Andrew Lenharth authored
llvm-svn: 21124
-
- Apr 06, 2005
-
-
Chris Lattner authored
but should not require it. llvm-svn: 21123
-
Nate Begeman authored
like PowerPC to codegen long shifts in many fewer instructions. llvm-svn: 21122
-
Andrew Lenharth authored
llvm-svn: 21121
-
Chris Lattner authored
properly sign extending the top of the result of a 64-bit shift right by a constant > 32. llvm-svn: 21120
-
Andrew Lenharth authored
llvm-svn: 21119
-