- Feb 24, 2010
-
-
Bob Wilson authored
argument is non-null, pass it along to PHITranslateSubExpr so that it can prefer using existing values that dominate the PredBB, instead of just blindly picking the first equivalent value that it finds on a uselist. Also when the DominatorTree is specified, have PHITranslateValue filter out any result that does not dominate the PredBB. This is basically just refactoring the check that used to be in GetAvailablePHITranslatedSubExpr and also in GVN. Despite my initial expectations, this change does not affect the results of GVN for any testcases that I could find, but it should help compile time. Before this change, if PHITranslateSubExpr picked a value that does not dominate, PHITranslateWithInsertion would then insert a new value, which GVN would later determine to be redundant and would replace. By picking a good value to begin with, we save GVN the extra work of inserting and then replacing a new value. llvm-svn: 97010
-
- Feb 23, 2010
-
-
Dan Gohman authored
handle NaN properly. Do (X une Y) ? X : Y -> X if one of X and Y is not zero. llvm-svn: 96955
-
Bob Wilson authored
I don't have a small testcase for this. llvm-svn: 96890
-
Evan Cheng authored
Instcombine constant folding can normalize gep with negative index to index with large offset. When instcombine objsize checking transformation sees these geps where the offset seemingly point out of bound, it should just return "i don't know" rather than asserting. llvm-svn: 96825
-
- Feb 22, 2010
-
-
Bob Wilson authored
failures from ValueTable::verifyRemoved() when using -debug. llvm-svn: 96805
-
Dan Gohman authored
llvm-svn: 96780
-
Dan Gohman authored
induction variable value and a loop-variant value, don't force the insert position to be at the post-increment position, because it may not be dominated by the loop-variant value. This fixes a use-before-def problem noticed on PPC. llvm-svn: 96774
-
Dan Gohman authored
llvm-svn: 96771
-
- Feb 19, 2010
-
-
Dan Gohman authored
the division would have a remainder. llvm-svn: 96693
-
Dan Gohman authored
scaled reuse. llvm-svn: 96692
-
Dale Johannesen authored
to be spurious llvm-svn: 96662
-
Dale Johannesen authored
llvm-svn: 96653
-
Dan Gohman authored
strides in foreign loops. This helps locate reuse opportunities with existing induction variables in foreign loops and reduces the need for inserting new ones. This fixes rdar://7657764. llvm-svn: 96629
-
Dan Gohman authored
a loop exit value, so that if a loop gets deleted, ScalarEvolution isn't stick holding on to dangling SCEVAddRecExprs for that loop. This fixes PR6339. llvm-svn: 96626
-
- Feb 18, 2010
-
-
Dan Gohman authored
llvm-svn: 96614
-
- Feb 17, 2010
-
-
Dan Gohman authored
llvm-svn: 96429
-
Dan Gohman authored
have overflowed. llvm-svn: 96428
-
- Feb 16, 2010
-
-
Bob Wilson authored
llvm-svn: 96387
-
Dan Gohman authored
llvm-svn: 96382
-
Bob Wilson authored
llvm-svn: 96378
-
Bob Wilson authored
terminator's list of successors. llvm-svn: 96377
-
Dan Gohman authored
llvm-svn: 96372
-
Duncan Sands authored
and T->isPointerTy(). Convert most instances of the first form to the second form. Requested by Chris. llvm-svn: 96344
-
Dan Gohman authored
as it also peeks at which registers are being used by other uses. This makes LSR less sensitive to use-list order. llvm-svn: 96308
-
- Feb 15, 2010
-
-
Chris Lattner authored
called by jump threading. llvm-svn: 96263
-
Duncan Sands authored
isInteger, we now have isFloatTy and isIntegerTy. Requested by Chris! llvm-svn: 96223
-
- Feb 14, 2010
-
-
Dan Gohman authored
llvm-svn: 96179
-
Dan Gohman authored
llvm-svn: 96178
-
Dan Gohman authored
with multiplication by constants distributed through, occasionally those subexpressions can include both x and -x. For now, if this condition is discovered within LSR, just prune such cases away, as they won't be profitable. This fixes a "zero allocated in a base register" assertion failure. llvm-svn: 96177
-
Dan Gohman authored
the no-TLI case. But it should still default to declining the transformation. llvm-svn: 96152
-
Dan Gohman authored
because profitability can't be sufficiently approximated. llvm-svn: 96148
-
John McCall authored
from opt. llvm-svn: 96135
-
Eric Christopher authored
odd offsets since the bitcasted pointer size and the offset pointer size are going to be different types for the GEP vs base object. llvm-svn: 96134
-
- Feb 13, 2010
-
-
Chris Lattner authored
llvm-svn: 96109
-
Chris Lattner authored
and add a doxygen comment. Cache the phi entry to avoid doing tons of PHINode::getBasicBlockIndex calls in the common case. On my insane testcase from re2c, this speeds up CGP from 617.4s to 7.9s (78x). llvm-svn: 96083
-
Chris Lattner authored
llvm-svn: 96081
-
Chris Lattner authored
to a PHI, avoid it in the common case where the BB occurs in the same index for multiple phis. This speeds up CGP on an insane testcase from 8.35 to 3.58s. llvm-svn: 96080
-
Chris Lattner authored
using pred_begin/end. It is much faster. llvm-svn: 96079
-
Chris Lattner authored
instead of with pred_begin/end. llvm-svn: 96078
-
Dan Gohman authored
deterministically sorted. llvm-svn: 96071
-