#
3673aa1a |
| 24-Apr-2010 |
Dan Gohman <gohman@apple.com> |
Update isImpliedCond to use the new SimplifyICmpOperands utility.
llvm-svn: 102232
|
#
48ff3cf6 |
| 24-Apr-2010 |
Dan Gohman <gohman@apple.com> |
Add a new utility function SimplifyICmpOperands. Much of this code is refactored out of ScalarEvolution::isImpliedCond, which will be updated to use this new utility routine soon.
llvm-svn: 102229
|
#
ff3174e9 |
| 23-Apr-2010 |
Dan Gohman <gohman@apple.com> |
When it doesn't matter whether zero or sign extension is used, use ScalarEvolutions "any" extend function.
llvm-svn: 102156
|
#
acd700a2 |
| 22-Apr-2010 |
Dan Gohman <gohman@apple.com> |
Don't attempt to analyze values which are obviously undef. This fixes some assertion failures in extreme cases.
llvm-svn: 102042
|
#
a029cbe9 |
| 21-Apr-2010 |
Dan Gohman <gohman@apple.com> |
Make ScalarEvolution::getConstant support pointer types, for consistency with ScalarEvolution's overall approach to pointer types.
llvm-svn: 102003
|
#
12293815 |
| 16-Apr-2010 |
Dan Gohman <gohman@apple.com> |
Fix SCEVCommutativeExpr::print to be robust in the case of improper expression canonicalization. Its job is to print what's there, not to make judgements about it.
llvm-svn: 101461
|
#
4e3c1139 |
| 15-Apr-2010 |
Dan Gohman <gohman@apple.com> |
Make getPredecessorWithUniqueSuccessorForBB return the unique successor in addition to the predecessor.
llvm-svn: 101374
|
#
65de3d14 |
| 14-Apr-2010 |
Dan Gohman <gohman@apple.com> |
Add a comment.
llvm-svn: 101248
|
#
7ef0dc21 |
| 13-Apr-2010 |
Dan Gohman <gohman@apple.com> |
Teach ScalarEvolution to simplify smax and umax when it can prove that one operand is always greater than another.
llvm-svn: 101142
|
#
fe4b2918 |
| 13-Apr-2010 |
Dan Gohman <gohman@apple.com> |
Minor code micro-optimizations.
llvm-svn: 101141
|
#
ebbd05f8 |
| 12-Apr-2010 |
Dan Gohman <gohman@apple.com> |
Micro-optimize a few hot spots.
llvm-svn: 101086
|
#
11862a6e |
| 12-Apr-2010 |
Dan Gohman <gohman@apple.com> |
Add fast paths to ScalarEvolution::getSizeOf and getOffsetOf, as they're used a lot by getNodeForGEP, which can be called a lot. This speeds up -iv-users by around 15% on several testcases.
llvm-svn
Add fast paths to ScalarEvolution::getSizeOf and getOffsetOf, as they're used a lot by getNodeForGEP, which can be called a lot. This speeds up -iv-users by around 15% on several testcases.
llvm-svn: 101083
show more ...
|
#
6635bb26 |
| 12-Apr-2010 |
Dan Gohman <gohman@apple.com> |
Generalize ScalarEvolution's PHI analysis to handle loops that don't have preheaders or dedicated exit blocks, as clients may not otherwise need to run LoopSimplify.
llvm-svn: 101030
|
#
f76210ea |
| 12-Apr-2010 |
Dan Gohman <gohman@apple.com> |
Rewrite the overflow checking in the get{Signed,Unsigned}Range code for AddRecs so that it checks for overflow in the computation that it is performing, rather than just checking hasNo{Signed,Unsigne
Rewrite the overflow checking in the get{Signed,Unsigned}Range code for AddRecs so that it checks for overflow in the computation that it is performing, rather than just checking hasNo{Signed,Unsigned}Wrap, since those flags are for a different computation. This fixes a bug that impacts an upcoming change.
llvm-svn: 101028
show more ...
|
#
068b7936 |
| 11-Apr-2010 |
Dan Gohman <gohman@apple.com> |
Fix indentation.
llvm-svn: 101001
|
#
07591698 |
| 11-Apr-2010 |
Dan Gohman <gohman@apple.com> |
Enhance ScalarEvolution::isKnownPredicate with support for loop conditions which are invariants.
llvm-svn: 100995
|
#
f7f28511 |
| 11-Apr-2010 |
Dan Gohman <gohman@apple.com> |
Minor code simplification.
llvm-svn: 100994
|
#
ae4a4148 |
| 11-Apr-2010 |
Dan Gohman <gohman@apple.com> |
When creating a ConstantRange for [n,UINT_MAX], special case n == 0, because ConstantRange(0, 0) creates an empty range rather than a full one.
llvm-svn: 100993
|
#
b50349a9 |
| 11-Apr-2010 |
Dan Gohman <gohman@apple.com> |
Rename isLoopGuardedByCond to isLoopEntryGuardedByCond, to emphasise that it's only testing for the entry condition, not full loop-invariant conditions.
llvm-svn: 100979
|
#
4ce1fb14 |
| 08-Apr-2010 |
Dan Gohman <gohman@apple.com> |
Add variants of ult, ule, etc. which take a uint64_t RHS, for convenience.
llvm-svn: 100824
|
#
88310548 |
| 08-Apr-2010 |
Dan Gohman <gohman@apple.com> |
Revert this change from a while ago; ScalarEvolution shouldn't analyze undef as 0, since it can't force other analyses to intepret the undef in the same way.
llvm-svn: 100749
|
#
01c65a26 |
| 18-Mar-2010 |
Dan Gohman <gohman@apple.com> |
Define placement new wrappers for BumpPtrAllocator and RecyclingAllocator to allow client code to be simpler, and simplify several clients.
llvm-svn: 98847
|
#
6556c896 |
| 18-Mar-2010 |
Dan Gohman <gohman@apple.com> |
Add the ability to "intern" FoldingSetNodeID data into a BumpPtrAllocator-allocated region to allow it to be stored in a more compact form and to avoid the need for a non-trivial destructor call.
Us
Add the ability to "intern" FoldingSetNodeID data into a BumpPtrAllocator-allocated region to allow it to be stored in a more compact form and to avoid the need for a non-trivial destructor call.
Use this new mechanism in ScalarEvolution instead of FastFoldingSetNode to avoid leaking memory in the case where a FoldingSetNodeID uses heap storage, and to reduce overall memory usage.
llvm-svn: 98829
show more ...
|
#
0052449e |
| 18-Mar-2010 |
Dan Gohman <gohman@apple.com> |
Reapply r98755 with a thinko which miscompiled gengtype fixed.
llvm-svn: 98793
|
#
d2abecae |
| 17-Mar-2010 |
Dan Gohman <gohman@apple.com> |
Revert 98755, which may be causing trouble.
llvm-svn: 98762
|