Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Use getDebugLoc and setDebugLoc instead of getDbgMetadata and setDbgMetadata, | Dan Gohman | 2010-07-20 | 1 | -4/+2 |
| | | | | | | avoiding MDNode overhead. llvm-svn: 108909 | ||||
* | Remember that the induction variable is always a PHINode and | Dan Gohman | 2010-07-20 | 1 | -4/+4 |
| | | | | | | | use getIncomingValueForBlock instead of LoopInfo::getCanonicalInductionVariableIncrement. llvm-svn: 108865 | ||||
* | Tweak per Chris' comments. | Owen Anderson | 2010-07-19 | 1 | -7/+8 |
| | | | | llvm-svn: 108736 | ||||
* | Reimplement r108639 in InstCombine rather than DAGCombine. | Owen Anderson | 2010-07-19 | 1 | -0/+26 |
| | | | | llvm-svn: 108687 | ||||
* | Another attempt at getting the clang self-host to like my instcombine patch. | Owen Anderson | 2010-07-17 | 1 | -0/+32 |
| | | | | llvm-svn: 108614 | ||||
* | eliminate unlockedRefineAbstractTypeTo, types are all per-llvmcontext, | Chris Lattner | 2010-07-16 | 1 | -1/+1 |
| | | | | | | so there is no locking involved in type refinement. llvm-svn: 108553 | ||||
* | Reorder the contents of various getAnalysisUsage functions, eliminating | Dan Gohman | 2010-07-16 | 4 | -20/+23 |
| | | | | | | a redundant loopsimplify run from the default -O2 sequence. llvm-svn: 108539 | ||||
* | Remove the rest of my instcombine changes. Back to the drawing board on ↵ | Owen Anderson | 2010-07-16 | 1 | -28/+0 |
| | | | | | | this one. llvm-svn: 108530 | ||||
* | eliminate CallInst::ArgOffset | Gabor Greif | 2010-07-16 | 4 | -13/+13 |
| | | | | llvm-svn: 108522 | ||||
* | Arrays and vectors with different numbers of elements are not equivalent. | Nick Lewycky | 2010-07-16 | 1 | -4/+10 |
| | | | | llvm-svn: 108517 | ||||
* | Also revert 108422, it's causing some test failures. | Eric Christopher | 2010-07-16 | 1 | -19/+0 |
| | | | | | | Working on testcases for Owen. llvm-svn: 108494 | ||||
* | Don't merge uses when they are targetting fixup sites with | Dan Gohman | 2010-07-15 | 1 | -1/+20 |
| | | | | | | | | | | | | | different widths. In a use with a narrower fixup, formulae may be wider than the fixup, in which case the high bits aren't necessarily meaningful, so it isn't safe to reuse them for uses with wider fixups. This fixes PR7618, though the testcase is too large for a reasonable regression test, since it heavily dependes on hitting LSR's heuristics in a certain way. llvm-svn: 108455 | ||||
* | Use dbgs() instead of errs() in a DEBUG. | Dan Gohman | 2010-07-15 | 1 | -1/+1 |
| | | | | llvm-svn: 108453 | ||||
* | Speculatively revert r108429 to fix the clang self-host. | Owen Anderson | 2010-07-15 | 2 | -19/+28 |
| | | | | llvm-svn: 108436 | ||||
* | Per Chris' suggestion, get rid of the select canonicalization and just add | Owen Anderson | 2010-07-15 | 2 | -28/+19 |
| | | | | | | | | the corresponding or-icmp-and pattern. This has the added benefit of doing the matching earlier, and thus being less susceptible to being confused by earlier transforms. llvm-svn: 108429 | ||||
* | Remove unneeded check, and correct style. | Owen Anderson | 2010-07-15 | 1 | -3/+2 |
| | | | | llvm-svn: 108427 | ||||
* | 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 |