- May 26, 2009
-
-
Jeffrey Yasskin authored
entries as there are basic blocks in the function. LiveVariables::getVarInfo creates a VarInfo struct for every register in the function, leading to quadratic space use. This patch changes the BitVector to a SparseBitVector, which doesn't help the worst-case memory use but does reduce the actual use in very long functions with short-lived variables. llvm-svn: 72426
-
Dan Gohman authored
that of the LHS. It doesn't matter for correctness, but the LHS is more likely than the RHS to be a pointer type in exotic cases, and it's more tidy to have it return the integer type. llvm-svn: 72424
-
Dan Gohman authored
division operation, don't attempt to use the operation's value as the base of a getelementptr. This fixes PR4271. llvm-svn: 72422
-
Eli Friedman authored
llvm-svn: 72414
-
Evan Cheng authored
llvm-svn: 72411
-
- May 25, 2009
-
-
Chris Lattner authored
low-level alias() method, allowing it to reason more aggressively about pointers into constant memory. PR4189 llvm-svn: 72403
-
Nick Lewycky authored
or use labels as members of structures for example. Also included a couple of whitespace fixes. llvm-svn: 72402
-
Chris Lattner authored
even on Core2, not just AMD processors which was a surprise to me. llvm-svn: 72396
-
Chris Lattner authored
llvm-svn: 72395
-
Chris Lattner authored
llvm-svn: 72387
-
Dan Gohman authored
llvm-svn: 72376
-
Dan Gohman authored
in the case where a loop exit value cannot be computed, instead of only in some cases while using SCEVCouldNotCompute in others. This simplifies getSCEVAtScope's callers. llvm-svn: 72375
-
- May 24, 2009
-
-
Eli Friedman authored
bit clearer. llvm-svn: 72374
-
Eli Friedman authored
corresponding integer type is legal. llvm-svn: 72373
-
Torok Edwin authored
one of the RecursivelyDeleteTriviallyDeadInstructions. Add a comment explaining why the cache needs to be cleared. llvm-svn: 72372
-
Torok Edwin authored
Also fix 80 column violation. llvm-svn: 72371
-
Dan Gohman authored
leave the original comparison in place if it has other uses, since the other uses won't be dominated by the new comparison instruction. llvm-svn: 72369
-
Dan Gohman authored
Use &Ops[0] instead, which is safe since Ops will never be empty here. llvm-svn: 72368
-
Dan Gohman authored
comparison, use takeName to give the integer comparison a name. llvm-svn: 72367
-
Dan Gohman authored
sending SCEVUnknowns to expandAddToGEP. This avoids the need for expandAddToGEP to bend the rules and peek into SCEVUnknown expressions. Factor out the code for testing whether a SCEV can be factored by a constant for use in a GEP index. This allows it to handle SCEVAddRecExprs, by recursing. As a result, SCEVExpander can now put more things in GEP indices, so it emits fewer explicit mul instructions. llvm-svn: 72366
-
Dan Gohman authored
of low bits of the other operand are preserved in the output. llvm-svn: 72365
-
Torok Edwin authored
Fix by clearing the rewriter cache before deleting the trivially dead instructions. Also make InsertedExpressions use an AssertingVH to catch these bugs easier. llvm-svn: 72364
-
Eli Friedman authored
it's late, and I don't have any better ideas at the moment. Fixes PR4257. llvm-svn: 72363
-
Eli Friedman authored
llvm-svn: 72360
-
Eli Friedman authored
all results and all operands are legal, so this change shouldn't affect behavior at all. llvm-svn: 72359
-
Eli Friedman authored
This leaves around 4000 lines of dead code; I'll clean that up in subsequent commits. llvm-svn: 72358
-
Eli Friedman authored
nodes it generates. llvm-svn: 72356
-
Eli Friedman authored
ExpandExtractFromVectorThroughStack. llvm-svn: 72351
-
Eli Friedman authored
moment. llvm-svn: 72350
-
Eli Friedman authored
doesn't split legal vector operands. This is necessary because the type legalization (and therefore, vector splitting) code will be going away soon. llvm-svn: 72349
-
- May 23, 2009
-
-
Anton Korobeynikov authored
llvm-svn: 72337
-
Anton Korobeynikov authored
llvm-svn: 72336
-
Anton Korobeynikov authored
llvm-svn: 72335
-
Jay Foad authored
llvm-svn: 72332
-
Torok Edwin authored
The DAGCombiner created a negative shiftamount, stored in an unsigned variable. Later the optimizer eliminated the shift entirely as being undefined. Example: (srl (shl X, 56) 48). ShiftAmt is 4294967288. Fix it by checking that the shiftamount is positive, and storing in a signed variable. llvm-svn: 72331
-
Torok Edwin authored
llvm-svn: 72329
-
Torok Edwin authored
and it wasn't generating calls through @PLT for these functions. hasLocalLinkage() is now false for available_externally, I attempted to fix the inliner and dce to handle available_externally properly. It passed make check. llvm-svn: 72328
-
Eli Friedman authored
will allow simplifying LegalizeDAG to eliminate type legalization. (I have a patch to do that, but it's not quite finished; I'll commit it once it's finished and I've fixed any review comments for this patch.) See the comment at the beginning of lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp for more details on the motivation for this patch. llvm-svn: 72325
-
Eli Friedman authored
systems instead of attempting to promote them to a 64-bit SINT_TO_FP or FP_TO_SINT. This is in preparation for removing the type legalization code from LegalizeDAG: once type legalization is gone from LegalizeDAG, it won't be able to handle the i64 operand/result correctly. This isn't quite ideal, but I don't think any other operation for any target ends up in this situation, so treating this case specially seems reasonable. llvm-svn: 72324
-
Evan Cheng authored
Fix bug in FoldFCmp_IntToFP_Cst. If inttofp is a uintofp, use unsigned instead of signed integer constant. llvm-svn: 72300
-