#
d65387a4 |
| 09-Oct-2009 |
Dan Gohman <gohman@apple.com> |
Preserve HasNSW and HasNUW when constructing SCEVs for Add and Mul instructions.
llvm-svn: 83606
|
#
816fe0a4 |
| 09-Oct-2009 |
Dan Gohman <gohman@apple.com> |
Add the ability to track HasNSW and HasNUW on more kinds of SCEV expressions.
llvm-svn: 83601
|
#
f39a3a92 |
| 27-Sep-2009 |
Dan Gohman <gohman@apple.com> |
Add a properlyDominates member function to ScalarEvolution.
llvm-svn: 82898
|
#
36bad00b |
| 17-Sep-2009 |
Dan Gohman <gohman@apple.com> |
Teach ScalarEvolution how to reason about no-wrap flags on loops where the induction variable has a non-unit stride, such as {0,+,2}, and there are expressions such as {1,+,2} inside the loop formed
Teach ScalarEvolution how to reason about no-wrap flags on loops where the induction variable has a non-unit stride, such as {0,+,2}, and there are expressions such as {1,+,2} inside the loop formed with or or add nsw operators.
llvm-svn: 82151
show more ...
|
#
237d9e52 |
| 03-Sep-2009 |
Dan Gohman <gohman@apple.com> |
Remove references to expression "handles", which are no longer used.
llvm-svn: 80918
|
#
dba696af |
| 31-Aug-2009 |
Dan Gohman <gohman@apple.com> |
Don't use an iterator which is potentially invalidated.
llvm-svn: 80632
|
#
cc2f1eb7 |
| 31-Aug-2009 |
Dan Gohman <gohman@apple.com> |
Extend the ValuesAtScope cache to cover all expressions, not just SCEVUnknowns, as the non-SCEVUnknown cases in the getSCEVAtScope code can also end up repeatedly climing through the same expression
Extend the ValuesAtScope cache to cover all expressions, not just SCEVUnknowns, as the non-SCEVUnknown cases in the getSCEVAtScope code can also end up repeatedly climing through the same expression trees, which can be unusably slow when the trees are very tall.
Also, add a quick check for SCEV pointer equality to the main SCEV comparison routine, as the full comparison code can be expensive in the case of large expression trees.
These fix compile-time problems in some pathlogical cases.
llvm-svn: 80623
show more ...
|
#
2d085560 |
| 25-Aug-2009 |
Dan Gohman <gohman@apple.com> |
Don't assume that two identical instructions that read from memory will always return the same value. This isn't currently necessary, since this code doesn't currently ever get called under circumsta
Don't assume that two identical instructions that read from memory will always return the same value. This isn't currently necessary, since this code doesn't currently ever get called under circumstances where it would matter, but it may some day.
llvm-svn: 80017
show more ...
|
#
f161e06e |
| 25-Aug-2009 |
Dan Gohman <gohman@apple.com> |
Teach ScalarEvolution about GlobalAliases.
llvm-svn: 80014
|
#
13d62b60 |
| 24-Aug-2009 |
Chris Lattner <sabre@nondot.org> |
remove a few dead insertion methods.
llvm-svn: 79882
|
#
1362602e |
| 23-Aug-2009 |
Chris Lattner <sabre@nondot.org> |
Change Pass::print to take a raw ostream instead of std::ostream, update all code that this affects.
llvm-svn: 79830
|
#
16f5415f |
| 20-Aug-2009 |
Dan Gohman <gohman@apple.com> |
Rename hasNoUnsignedOverflow and hasNoSignedOverflow to hasNoUnsignedWrap and hasNoSignedWrap, for consistency with the nuw and nsw properties.
llvm-svn: 79539
|
#
8a8ad7d8 |
| 20-Aug-2009 |
Dan Gohman <gohman@apple.com> |
Various comment and whitespace cleanups.
llvm-svn: 79533
|
#
5d5bc6d0 |
| 19-Aug-2009 |
Dan Gohman <gohman@apple.com> |
Use hasDefinitiveInitializer() instead of testing the same thing by hand, and fix a few places that were using hasInitializer() that appear to depend on the initializer value.
llvm-svn: 79441
|
#
bf2a9aed |
| 18-Aug-2009 |
Dan Gohman <gohman@apple.com> |
Generalize ScalarEvolution to be able to analyze GEPs when TargetData is not present. It still uses TargetData when available. This generalization also fixed some limitations in the TargetData case;
Generalize ScalarEvolution to be able to analyze GEPs when TargetData is not present. It still uses TargetData when available. This generalization also fixed some limitations in the TargetData case; the attached testcase covers this.
llvm-svn: 79344
show more ...
|
#
55f1c09e |
| 13-Aug-2009 |
Owen Anderson <resistor@mac.com> |
Push LLVMContexts through the IntegerType APIs.
llvm-svn: 78948
|
#
7a5c8db6 |
| 07-Aug-2009 |
Andreas Bolka <a@bolka.at> |
Fix copy-pasto.
llvm-svn: 78426
|
#
5a1acd99 |
| 31-Jul-2009 |
Owen Anderson <resistor@mac.com> |
Move a few more APIs back to 2.5 forms. The only remaining ones left to change back are metadata related, which I'm waiting on to avoid conflicting with Devang.
llvm-svn: 77721
|
#
4056ca95 |
| 29-Jul-2009 |
Owen Anderson <resistor@mac.com> |
Move types back to the 2.5 API.
llvm-svn: 77516
|
#
487375e9 |
| 29-Jul-2009 |
Owen Anderson <resistor@mac.com> |
Move ConstantExpr to 2.5 API.
llvm-svn: 77494
|
#
169ef138 |
| 27-Jul-2009 |
Dan Gohman <gohman@apple.com> |
Fix wording in comments.
llvm-svn: 77193
|
#
ef2ae2c8 |
| 25-Jul-2009 |
Dan Gohman <gohman@apple.com> |
SCEV objects are no longer reference-counted.
llvm-svn: 77080
|
#
534d66a4 |
| 25-Jul-2009 |
Dan Gohman <gohman@apple.com> |
When attempting to sign-extend an addrec by interpreting the step value as unsigned, the start value and the addrec itself still need to be treated as signed.
llvm-svn: 77078
|
#
62ef6a7f |
| 25-Jul-2009 |
Dan Gohman <gohman@apple.com> |
Teach ScalarEvolution to make use of no-overflow flags when analyzing add recurrences.
llvm-svn: 77034
|
#
0b89dff3 |
| 25-Jul-2009 |
Dan Gohman <gohman@apple.com> |
Instead of eagerly creating new SCEVs to replace all SCEVs that are affected after a PHI node has been analyzed, just remove affected SCEVs from the Scalars map, so that they'll be (lazily) recreated
Instead of eagerly creating new SCEVs to replace all SCEVs that are affected after a PHI node has been analyzed, just remove affected SCEVs from the Scalars map, so that they'll be (lazily) recreated as needed. This avoids creating SCEV objects that aren't actually needed.
Also, rewrite the associated def-use walking code to be non-recursive and to continue traversing past Instructions that don't have an entry in the Scalars map.
llvm-svn: 77032
show more ...
|