Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Fix InstCombine/2004-01-13-InstCombineInvokePHI.ll, which also fixes lots | Chris Lattner | 2004-01-14 | 1 | -4/+20 |
| | | | | | | of C++ programs in Shootout-C++, including lists1 and moments, etc llvm-svn: 10845 | ||||
* | Fix bug in previous checkin | Chris Lattner | 2004-01-12 | 1 | -1/+3 |
| | | | | llvm-svn: 10798 | ||||
* | Eliminate use of ConstantHandling and ConstantExpr::getShift interfaces | Chris Lattner | 2004-01-12 | 1 | -39/+58 |
| | | | | llvm-svn: 10796 | ||||
* | Do not hack on volatile loads. I'm not sure what the point of a volatile load | Chris Lattner | 2004-01-12 | 1 | -0/+2 |
| | | | | | | from constant memory is, but lets not take chances. llvm-svn: 10765 | ||||
* | Factor code out into the Utils library | Chris Lattner | 2003-12-19 | 1 | -23/+3 |
| | | | | llvm-svn: 10530 | ||||
* | * Finegrainify namespacification | Chris Lattner | 2003-12-07 | 1 | -4/+17 |
| | | | | | | * Transform: free <ty>* (cast <ty2>* X to <ty>*) into free <ty2>* X llvm-svn: 10303 | ||||
* | Implement feature: InstCombine/2003-11-13-ConstExprCastCall.ll | Chris Lattner | 2003-11-13 | 1 | -1/+2 |
| | | | | llvm-svn: 9981 | ||||
* | Put all LLVM code into the llvm namespace, as per bug 109. | Brian Gaeke | 2003-11-11 | 1 | -0/+4 |
| | | | | llvm-svn: 9903 | ||||
* | Fix flawed logic that was breaking several SPEC benchmarks, including gzip ↵ | Chris Lattner | 2003-11-05 | 1 | -3/+3 |
| | | | | | | and crafty. llvm-svn: 9731 | ||||
* | Fix bug with previous implementation: | Chris Lattner | 2003-11-05 | 1 | -4/+11 |
| | | | | | | | | - // ~(c-X) == X-(c-1) == X+(-c+1) + // ~(c-X) == X-c-1 == X+(-c-1) Implement: C - ~X == X + (1+C) llvm-svn: 9715 | ||||
* | Minor cleanup, plus implement InstCombine/xor.ll:test17 | Chris Lattner | 2003-11-04 | 1 | -3/+17 |
| | | | | llvm-svn: 9711 | ||||
* | Implement InstCombine/xor.ll:test(15|16) | Chris Lattner | 2003-11-04 | 1 | -1/+8 |
| | | | | llvm-svn: 9708 | ||||
* | Implement InstCombine/cast-set.ll:test6[a]. This improves code generated for | Chris Lattner | 2003-11-03 | 1 | -6/+57 |
| | | | | | | a hot function in em3d llvm-svn: 9673 | ||||
* | Implement InstCombine/cast-set.ll: test1, test2, test7 | Chris Lattner | 2003-11-03 | 1 | -15/+41 |
| | | | | llvm-svn: 9670 | ||||
* | Fix bug with zero sized casts | Chris Lattner | 2003-11-03 | 1 | -1/+1 |
| | | | | llvm-svn: 9667 | ||||
* | Fix bug in previous checkin | Chris Lattner | 2003-11-02 | 1 | -1/+1 |
| | | | | llvm-svn: 9656 | ||||
* | Implement transmogriphication of allocation instructions | Chris Lattner | 2003-11-02 | 1 | -2/+33 |
| | | | | llvm-svn: 9654 | ||||
* | Fix bug: 2003-10-29-CallSiteResolve.ll & PR70 | Chris Lattner | 2003-10-30 | 1 | -1/+11 |
| | | | | llvm-svn: 9600 | ||||
* | Added LLVM project notice to the top of every C++ source file. | John Criswell | 2003-10-20 | 1 | -0/+7 |
| | | | | | | Header files will be on the way. llvm-svn: 9298 | ||||
* | Decrease usage of use_size() | Chris Lattner | 2003-10-15 | 1 | -12/+12 |
| | | | | llvm-svn: 9135 | ||||
* | whoops, don't accidentally lose variable names | Chris Lattner | 2003-10-07 | 1 | -1/+1 |
| | | | | llvm-svn: 8955 | ||||
* | Fix bug: InstCombine/cast.ll:test11 / PR#7 | Chris Lattner | 2003-10-07 | 1 | -1/+23 |
| | | | | llvm-svn: 8954 | ||||
* | Refactor code a bit | Chris Lattner | 2003-10-07 | 1 | -4/+12 |
| | | | | llvm-svn: 8952 | ||||
* | Fix bug in previous checkin | Chris Lattner | 2003-10-07 | 1 | -0/+1 |
| | | | | llvm-svn: 8922 | ||||
* | Minor speedups for the instcombine pass | Chris Lattner | 2003-10-06 | 1 | -17/+26 |
| | | | | llvm-svn: 8894 | ||||
* | Implement InstCombine/add.ll:test17 & 18 | Chris Lattner | 2003-10-02 | 1 | -0/+16 |
| | | | | llvm-svn: 8817 | ||||
* | Squelch warning | Chris Lattner | 2003-09-22 | 1 | -1/+1 |
| | | | | llvm-svn: 8659 | ||||
* | Implement InstCombine/and.ll:test(15|16) | Chris Lattner | 2003-09-19 | 1 | -0/+27 |
| | | | | llvm-svn: 8607 | ||||
* | pull a large nested conditional out into its own function | Chris Lattner | 2003-09-19 | 1 | -70/+91 |
| | | | | llvm-svn: 8605 | ||||
* | Implement InstCombine/add.ll:test(15|16) | Chris Lattner | 2003-09-19 | 1 | -0/+37 |
| | | | | llvm-svn: 8604 | ||||
* | Simplify code | Chris Lattner | 2003-09-11 | 1 | -9/+6 |
| | | | | | | Implement InstCombine/mul.ll:test9 llvm-svn: 8488 | ||||
* | Fix spell-o's | Chris Lattner | 2003-09-10 | 1 | -1/+1 |
| | | | | llvm-svn: 8431 | ||||
* | Implement instcombine optimizations: | Chris Lattner | 2003-08-13 | 1 | -1/+97 |
| | | | | | | | | (A <setcc1> B) logicalop (A <setcc2> B) -> (A <setcc3> B) or true or false Where setcc[123] is one of the 6 setcc instructions, and logicalop is one of: And, Or, Xor llvm-svn: 7828 | ||||
* | Generalize some of the add tests to allow for reassociation to take place | Chris Lattner | 2003-08-13 | 1 | -10/+130 |
| | | | | llvm-svn: 7825 | ||||
* | Implement InstCombine/2003-08-12-AllocaNonNull.ll | Chris Lattner | 2003-08-13 | 1 | -2/+4 |
| | | | | llvm-svn: 7807 | ||||
* | Do not cannonicalize (X != 0) into (cast X to bool) | Chris Lattner | 2003-08-13 | 1 | -79/+68 |
| | | | | llvm-svn: 7806 | ||||
* | Change cannonicalization rules: add X,X is represented as multiplies, multiplies | Chris Lattner | 2003-08-13 | 1 | -8/+24 |
| | | | | | | of a power of two are represented as a shift. llvm-svn: 7803 | ||||
* | Allow pulling logical operations through shifts. | Chris Lattner | 2003-08-12 | 1 | -16/+61 |
| | | | | | | This implements InstCombine/shift.ll:test14* llvm-svn: 7793 | ||||
* | Simplify code | Chris Lattner | 2003-08-12 | 1 | -11/+8 |
| | | | | llvm-svn: 7783 | ||||
* | Implement testcases InstCombine/or.ll:test16/test17 | Chris Lattner | 2003-08-12 | 1 | -0/+13 |
| | | | | llvm-svn: 7782 | ||||
* | Instcombine: (A >> c1) << c2 for signed integers | Chris Lattner | 2003-07-24 | 1 | -10/+12 |
| | | | | llvm-svn: 7295 | ||||
* | Reorganization of code, no functional changes. | Chris Lattner | 2003-07-24 | 1 | -47/+48 |
| | | | | | | Now it shoudl be a bit more efficient llvm-svn: 7292 | ||||
* | Allow folding several instructions into casts, which can simplify a lot | Chris Lattner | 2003-07-24 | 1 | -7/+84 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | of codes. For example, short kernel (short t1) { t1 >>= 8; t1 <<= 8; return t1; } became: short %kernel(short %t1.1) { %tmp.3 = shr short %t1.1, ubyte 8 ; <short> [#uses=1] %tmp.5 = cast short %tmp.3 to int ; <int> [#uses=1] %tmp.7 = shl int %tmp.5, ubyte 8 ; <int> [#uses=1] %tmp.8 = cast int %tmp.7 to short ; <short> [#uses=1] ret short %tmp.8 } before, now it becomes: short %kernel(short %t1.1) { %tmp.3 = shr short %t1.1, ubyte 8 ; <short> [#uses=1] %tmp.8 = shl short %tmp.3, ubyte 8 ; <short> [#uses=1] ret short %tmp.8 } which will become: short %kernel(short %t1.1) { %tmp.3 = and short %t1.1, 0xFF00 ret short %tmp.3 } This implements cast-set.ll:test4 and test5 llvm-svn: 7290 | ||||
* | Add comments | Chris Lattner | 2003-07-23 | 1 | -0/+9 |
| | | | | llvm-svn: 7283 | ||||
* | Remove explicit check for: not (not X) = X, it is already handled because ↵ | Chris Lattner | 2003-07-23 | 1 | -10/+16 |
| | | | | | | | | | xor is commutative - InstCombine: (X & C1) ^ C2 --> (X & C1) | C2 iff (C1&C2) == 0 - InstCombine: (X | C1) ^ C2 --> (X | C1) & ~C2 iff (C1&C2) == C2 llvm-svn: 7282 | ||||
* | InstCombine: (X ^ C1) & C2 --> (X & C2) iff (C1&C2) == 0 | Chris Lattner | 2003-07-23 | 1 | -9/+11 |
| | | | | llvm-svn: 7272 | ||||
* | - InstCombine: (X | C1) & C2 --> X & C2 iff C1 & C1 == 0 | Chris Lattner | 2003-07-23 | 1 | -10/+33 |
| | | | | | | | - InstCombine: (X | C) & C --> C - InstCombine: (X | C1) & C2 --> (X | (C1&C2)) & C2 llvm-svn: 7269 | ||||
* | IC: (X & C1) | C2 --> (X | C2) & (C1|C2) | Chris Lattner | 2003-07-23 | 1 | -1/+26 |
| | | | | | | | | | IC: (X ^ C1) | C2 --> (X | C2) ^ (C1&~C2) We are now guaranteed that all 'or's will be inside of 'and's, and all 'and's will be inside of 'xor's, if the second operands are constants. llvm-svn: 7264 | ||||
* | IC: (X ^ C1) & C2 --> (X & C2) ^ (C1&C2) | Chris Lattner | 2003-07-23 | 1 | -4/+16 |
| | | | | | | Minor code cleanup llvm-svn: 7262 | ||||
* | InstCombine: (X ^ 4) == 8 --> X == 12 | Chris Lattner | 2003-07-23 | 1 | -1/+6 |
| | | | | llvm-svn: 7260 |