Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Floating-point add, sub, and mul are now spelled fadd, fsub, and fmul, | Dan Gohman | 2010-03-02 | 1 | -3/+3 |
| | | | | | | respectively. llvm-svn: 97531 | ||||
* | Uniformize the names of type predicates: rather than having isFloatTy and | Duncan Sands | 2010-02-15 | 1 | -6/+6 |
| | | | | | | isInteger, we now have isFloatTy and isIntegerTy. Requested by Chris! llvm-svn: 96223 | ||||
* | Simplify/generalize the xor+add->sign-extend instcombine. | Eli Friedman | 2010-01-31 | 1 | -35/+19 |
| | | | | llvm-svn: 94943 | ||||
* | Add a small transform: transform -(X<<Y) to (-X<<Y) when the shift has a single | Eli Friedman | 2010-01-31 | 1 | -0/+7 |
| | | | | | | use and X is free to negate. llvm-svn: 94941 | ||||
* | When the visitSub method was split into visitSub and visitFSub, this xform was | Bill Wendling | 2010-01-13 | 1 | -11/+0 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | added to the FSub version. However, the original version of this xform guarded against doing this for floating point (!Op0->getType()->isFPOrFPVector()). This is causing LLVM to perform incorrect xforms for code like: void func(double *rhi, double *rlo, double xh, double xl, double yh, double yl){ double mh, ml; double c = 134217729.0; double up, u1, u2, vp, v1, v2; up = xh*c; u1 = (xh - up) + up; u2 = xh - u1; vp = yh*c; v1 = (yh - vp) + vp; v2 = yh - v1; mh = xh*yh; ml = (((u1*v1 - mh) + (u1*v2)) + (u2*v1)) + (u2*v2); ml += xh*yl + xl*yh; *rhi = mh + ml; *rlo = (mh - (*rhi)) + ml; } The last line was optimized away, but rl is intended to be the difference between the infinitely precise result of mh + ml and after it has been rounded to double precision. llvm-svn: 93369 | ||||
* | reduce indentation | Chris Lattner | 2010-01-05 | 1 | -15/+18 |
| | | | | llvm-svn: 92766 | ||||
* | Convert a ton of simple integer type equality tests to the new predicate. | Benjamin Kramer | 2010-01-05 | 1 | -2/+2 |
| | | | | llvm-svn: 92760 | ||||
* | split add/sub out to its own file. Eliminate use of | Chris Lattner | 2010-01-05 | 1 | -0/+748 |
dyn_castNotVal in the X+~X transform. dyn_castNotVal is dramatic overkill for what the xform needed. llvm-svn: 92704 |