| Commit message (Collapse) | Author | Age | Files | Lines | ||
|---|---|---|---|---|---|---|
| ... | ||||||
| * | Watch out for a constant offset cancelling out a base register, forming | Dan Gohman | 2010-07-15 | 1 | -2/+9 | |
| | | | | | | | | a zero. This situation arrises in Fortran code with induction variables that start at 1 instead of 0. This fixes PR7651. llvm-svn: 108424 | |||||
| * | Reapply r108378, with bugfixes, testcase, and improved comment formatting. | Owen Anderson | 2010-07-15 | 2 | -0/+47 | |
| | | | | | | | This now passes LIT, nighty test, and llvm-gcc bootstrap on my machine. llvm-svn: 108422 | |||||
| * | This is a full sentence. | Nick Lewycky | 2010-07-15 | 1 | -1/+1 | |
| | | | | | llvm-svn: 108418 | |||||
| * | Disable aliases on all platforms. | Nick Lewycky | 2010-07-15 | 1 | -0/+5 | |
| | | | | | llvm-svn: 108417 | |||||
| * | make various clients of ReplaceAndSimplifyAllUses tolerate | Chris Lattner | 2010-07-15 | 1 | -2/+3 | |
| | | | | | | | | | it *changing* the things it replaces, not just causing them to drop to null. There is no functionality change yet, but this is required for a subsequent patch. llvm-svn: 108414 | |||||
| * | Speculatively revert r108378; may be causing bootstrap failures. | Eli Friedman | 2010-07-15 | 2 | -43/+0 | |
| | | | | | llvm-svn: 108389 | |||||
| * | Add instcombine transforms to optimize tests of multiple bits of the same ↵ | Owen Anderson | 2010-07-14 | 2 | -0/+43 | |
| | | | | | | | value into a single larger comparison. llvm-svn: 108378 | |||||
| * | Extend SimplifyCFG's common-destination folding heuristic to allow a single | Owen Anderson | 2010-07-14 | 1 | -5/+67 | |
| | | | | | | | | | | | "bonus" instruction to be speculatively executed. Add a heuristic to ensure we're not tripping up out-of-order execution by checking that this bonus instruction only uses values that were already guaranteed to be available. This allows us to eliminate the short circuit in (x&1)&&(x&2). llvm-svn: 108351 | |||||
| * | revert r108320, I see the failures now... | Chris Lattner | 2010-07-14 | 1 | -8/+0 | |
| | | | | | llvm-svn: 108322 | |||||
| * | reapply benjamin's instcombine patch, I don't see anything wrong with it and ↵ | Chris Lattner | 2010-07-14 | 1 | -0/+8 | |
| | | | | | | | can't repro any problems with a manual self-host. llvm-svn: 108320 | |||||
| * | Grammar. | Eric Christopher | 2010-07-13 | 1 | -1/+1 | |
| | | | | | llvm-svn: 108252 | |||||
| * | Handle the case of a tail recursion in which the tail call is followed | Duncan Sands | 2010-07-13 | 1 | -13/+35 | |
| | | | | | | | | | | by a return that returns a constant, while elsewhere in the function another return instruction returns a different constant. This is a special case of accumulator recursion, so just generalize the existing logic a bit. llvm-svn: 108241 | |||||
| * | Nope, still breaks the release selfhost bots :( | Benjamin Kramer | 2010-07-12 | 1 | -8/+0 | |
| | | | | | llvm-svn: 108153 | |||||
| * | Reapply the "or" half of r108136, which seems to be less problematic. | Benjamin Kramer | 2010-07-12 | 1 | -0/+8 | |
| | | | | | llvm-svn: 108152 | |||||
| * | cache result of operator* | Gabor Greif | 2010-07-12 | 1 | -6/+9 | |
| | | | | | llvm-svn: 108150 | |||||
| * | Revert r108141 again, sigh. | Benjamin Kramer | 2010-07-12 | 1 | -17/+0 | |
| | | | | | llvm-svn: 108148 | |||||
| * | cache result of operator* | Gabor Greif | 2010-07-12 | 1 | -2/+3 | |
| | | | | | llvm-svn: 108147 | |||||
| * | cache result of operator* | Gabor Greif | 2010-07-12 | 1 | -6/+9 | |
| | | | | | llvm-svn: 108146 | |||||
| * | cache result of operator* | Gabor Greif | 2010-07-12 | 1 | -3/+4 | |
| | | | | | llvm-svn: 108145 | |||||
| * | cache result of operator* | Gabor Greif | 2010-07-12 | 1 | -4/+6 | |
| | | | | | llvm-svn: 108144 | |||||
| * | cache results of operator* | Gabor Greif | 2010-07-12 | 1 | -3/+5 | |
| | | | | | llvm-svn: 108143 | |||||
| * | cache results of operator* | Gabor Greif | 2010-07-12 | 1 | -21/+31 | |
| | | | | | llvm-svn: 108142 | |||||
| * | Reapply 108136 with an ugly pasto fixed. | Benjamin Kramer | 2010-07-12 | 1 | -0/+17 | |
| | | | | | llvm-svn: 108141 | |||||
| * | Move optimization to avoid redundant matching. | Benjamin Kramer | 2010-07-12 | 1 | -13/+13 | |
| | | | | | llvm-svn: 108140 | |||||
| * | Revert r108136 until I figure out why it broke selfhost. | Benjamin Kramer | 2010-07-12 | 1 | -17/+0 | |
| | | | | | llvm-svn: 108139 | |||||
| * | cache dereferenced iterators | Gabor Greif | 2010-07-12 | 1 | -2/+3 | |
| | | | | | llvm-svn: 108138 | |||||
| * | recommit r108131 (hich has been backed out in r108135) with a fix | Gabor Greif | 2010-07-12 | 1 | -2/+3 | |
| | | | | | llvm-svn: 108137 | |||||
| * | instcombine: fold (x & y) | (~x & z) and (x & y) ^ (~x & z) into ((y ^ z) & ↵ | Benjamin Kramer | 2010-07-12 | 1 | -0/+17 | |
| | | | | | | | | | | | | | | | | | | x) ^ z which is one instruction shorter. (PR6773) before: %and = and i32 %y, %x %neg = xor i32 %x, -1 %and4 = and i32 %z, %neg %xor = xor i32 %and4, %and after: %xor1 = xor i32 %z, %y %and2 = and i32 %xor1, %x %xor = xor i32 %and2, %z llvm-svn: 108136 | |||||
| * | back out r108131 (of TailDuplication.cpp) for now, it causes a buildbot failure | Gabor Greif | 2010-07-12 | 1 | -5/+4 | |
| | | | | | llvm-svn: 108135 | |||||
| * | cache dereferenced iterators | Gabor Greif | 2010-07-12 | 1 | -3/+3 | |
| | | | | | llvm-svn: 108134 | |||||
| * | cache dereferenced iterators | Gabor Greif | 2010-07-12 | 1 | -4/+6 | |
| | | | | | llvm-svn: 108133 | |||||
| * | cache dereferenced iterators | Gabor Greif | 2010-07-12 | 1 | -3/+5 | |
| | | | | | llvm-svn: 108132 | |||||
| * | cache dereferenced iterators | Gabor Greif | 2010-07-12 | 2 | -7/+9 | |
| | | | | | llvm-svn: 108131 | |||||
| * | Convert some tab stops into spaces. | Duncan Sands | 2010-07-12 | 3 | -6/+6 | |
| | | | | | llvm-svn: 108130 | |||||
| * | make the prototypes for CreateMalloc and CreateFree more consistent. Patch | Chris Lattner | 2010-07-12 | 1 | -2/+2 | |
| | | | | | | | by Hans Vandierendonck from PR7605 llvm-svn: 108116 | |||||
| * | if jump threading is able to infer interesting values on both | Chris Lattner | 2010-07-12 | 1 | -2/+13 | |
| | | | | | | | | | the LHS and RHS of an and/or instruction, don't multiply add known predecessor values. This fixes the crash on testcase from PR7498 llvm-svn: 108114 | |||||
| * | The accumulator tail recursion transform claims to work for any associative | Duncan Sands | 2010-07-10 | 1 | -14/+14 | |
| | | | | | | | | | | | | | | | | | operation, but the way it's implemented requires the operation to also be commutative. So add a check for commutativity (and tweak the corresponding comments). This makes no difference in practice since every associative LLVM instruction is also commutative! Here's an example to show the need for commutativity: the accum_recursion.ll testcase calculates the factorial function. Before the transformation the result of a call is ((((1*1)*2)*3)...)*x while afterwards it is (((1*x)*(x-1))...*2)*1 which clearly requires both associativity and commutativity of * to be equal to the original. llvm-svn: 108056 | |||||
| * | cache result of operator* | Gabor Greif | 2010-07-09 | 1 | -6/+6 | |
| | | | | | llvm-svn: 107990 | |||||
| * | cache result of operator* | Gabor Greif | 2010-07-09 | 1 | -3/+5 | |
| | | | | | llvm-svn: 107984 | |||||
| * | cache result of operator* | Gabor Greif | 2010-07-09 | 1 | -2/+4 | |
| | | | | | llvm-svn: 107983 | |||||
| * | cache result of operator* | Gabor Greif | 2010-07-09 | 1 | -2/+3 | |
| | | | | | llvm-svn: 107981 | |||||
| * | cache result of operator* | Gabor Greif | 2010-07-09 | 1 | -2/+3 | |
| | | | | | llvm-svn: 107976 | |||||
| * | cache result of operator* | Gabor Greif | 2010-07-09 | 1 | -4/+6 | |
| | | | | | llvm-svn: 107975 | |||||
| * | cache result of operator* | Gabor Greif | 2010-07-09 | 1 | -2/+3 | |
| | | | | | llvm-svn: 107974 | |||||
| * | cache result of operator* | Gabor Greif | 2010-07-09 | 1 | -2/+3 | |
| | | | | | llvm-svn: 107972 | |||||
| * | cache result of operator* (found by inspection) | Gabor Greif | 2010-07-09 | 1 | -2/+4 | |
| | | | | | llvm-svn: 107971 | |||||
| * | cache result of operator* | Gabor Greif | 2010-07-09 | 1 | -6/+7 | |
| | | | | | llvm-svn: 107969 | |||||
| * | cache result of operator* | Gabor Greif | 2010-07-09 | 1 | -3/+4 | |
| | | | | | llvm-svn: 107968 | |||||
| * | cache result of operator* | Gabor Greif | 2010-07-09 | 1 | -3/+5 | |
| | | | | | llvm-svn: 107966 | |||||
| * | cache operator*'s result (in multiple functions) | Gabor Greif | 2010-07-09 | 1 | -15/+22 | |
| | | | | | llvm-svn: 107965 | |||||

