- Feb 19, 2010
-
-
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
-
-
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
-
- 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
instead of with pred_begin/end. llvm-svn: 96078
-
Dan Gohman authored
deterministically sorted. llvm-svn: 96071
-
- Feb 12, 2010
-
-
Dan Gohman authored
llvm-svn: 96005
-
Dan Gohman authored
offset distributions it doesn't expect. llvm-svn: 96002
-
Daniel Dunbar authored
is breaking llvm-gcc bootstrap. llvm-svn: 95988
-
Dan Gohman authored
doesn't matter, except that ScalarEvolution tends to need less time to fold the results this way. llvm-svn: 95979
-
Dan Gohman authored
bug fixes, and with improved heuristics for analyzing foreign-loop addrecs. This change also flattens IVUsers, eliminating the stride-oriented groupings, which makes it easier to work with. llvm-svn: 95975
-
- Feb 11, 2010
-
-
Chris Lattner authored
block. Other blocks may have pointer cycles that will crash basicaa and other alias analyses. In any case, there is no point wasting cycles optimizing dead blocks. This fixes rdar://7635088 llvm-svn: 95852
-
Chris Lattner authored
instead of considering x|undef -> x, which may not be true. llvm-svn: 95850
-
Devang Patel authored
llvm-svn: 95828
-
- Feb 10, 2010
-
-
Dan Gohman authored
llvm-svn: 95781
-
- Feb 09, 2010
-
-
Eric Christopher authored
consuming for a simple optimization. llvm-svn: 95671
-
Eric Christopher authored
llvm-svn: 95641
-
Eric Christopher authored
Initial skeleton and SCEVUnknown lowering implemented, the rest should come relatively quickly. Move testcase to new directory. Move pass to right before SimplifyLibCalls - which is moved down a bit so we can take advantage of a few opts. llvm-svn: 95628
-
- Feb 06, 2010
-
-
Jakob Stoklund Olesen authored
llvm-svn: 95454
-
- Feb 05, 2010
-
-
Jakob Stoklund Olesen authored
Weird code sometimes uses pointer constants other than null. This patch teaches SimplifyCFG to build switch instructions in those cases. Code like this: void f(const char *x) { if (!x) puts("null"); else if ((uintptr_t)x == 1) puts("one"); else if (x == (char*)2 || x == (char*)3) puts("two"); else if ((intptr_t)x == 4) puts("four"); else puts(x); } Now becomes a switch: define void @f(i8* %x) nounwind ssp { entry: %magicptr23 = ptrtoint i8* %x to i64 ; <i64> [#uses=1] switch i64 %magicptr23, label %if.else16 [ i64 0, label %if.then i64 1, label %if.then2 i64 2, label %if.then9 i64 3, label %if.then9 i64 4, label %if.then14 ] Note that LLVM's own DenseMap uses magic pointers. llvm-svn: 95439
-
Dan Gohman authored
container data. This prevents it from holding onto dangling pointers and potentially behaving unpredictably. llvm-svn: 95409
-