#
214935ee |
| 26-Oct-2012 |
Benjamin Kramer <benny.kra@googlemail.com> |
Add a basic verifier for SCEV's backedge taken counts.
Enabled with -verify-scev. This could be extended significantly but hopefully catches the common cases now. Note that it's not enabled by defau
Add a basic verifier for SCEV's backedge taken counts.
Enabled with -verify-scev. This could be extended significantly but hopefully catches the common cases now. Note that it's not enabled by default in any configuration because the way it tries to distinguish SCEVs is still fragile and may produce false positives. Also the test-suite isn't clean yet, one example is that it fails if a pass drops an NSW bit but it's still present in SCEV's cached. Cleaning up all those cases will take some time.
llvm-svn: 166786
show more ...
|
#
30bd9346 |
| 24-Oct-2012 |
Hal Finkel <hfinkel@anl.gov> |
getSmallConstantTripMultiple should never return zero.
When the trip count is -1, getSmallConstantTripMultiple could return zero, and this would cause runtime loop unrolling to assert. Instead of re
getSmallConstantTripMultiple should never return zero.
When the trip count is -1, getSmallConstantTripMultiple could return zero, and this would cause runtime loop unrolling to assert. Instead of returning zero, one is now returned (consistent with the existing overflow cases). Fixes PR14167.
llvm-svn: 166612
show more ...
|
#
12d91278 |
| 24-Oct-2012 |
Micah Villmow <villmow@gmail.com> |
Add in support for getIntPtrType to get the pointer type based on the address space. This checkin also adds in some tests that utilize these paths and updates some of the clients.
llvm-svn: 166578
|
#
cdfe20b9 |
| 08-Oct-2012 |
Micah Villmow <villmow@gmail.com> |
Move TargetData to DataLayout.
llvm-svn: 165402
|
#
91ce36c9 |
| 27-Sep-2012 |
Sylvestre Ledru <sylvestre@debian.org> |
Revert 'Fix a typo 'iff' => 'if''. iff is an abreviation of if and only if. See: http://en.wikipedia.org/wiki/If_and_only_if Commit 164767
llvm-svn: 164768
|
#
721cffd5 |
| 27-Sep-2012 |
Sylvestre Ledru <sylvestre@debian.org> |
Fix a typo 'iff' => 'if'
llvm-svn: 164767
|
#
49d684e1 |
| 12-Sep-2012 |
Manman Ren <mren@apple.com> |
Release build: guard dump functions with "#if !defined(NDEBUG) || defined(LLVM_ENABLE_DUMP)"
No functional change. Update r163344.
llvm-svn: 163679
|
#
c3366cce |
| 06-Sep-2012 |
Manman Ren <mren@apple.com> |
Release build: guard dump functions with "ifndef NDEBUG"
No functional change.
llvm-svn: 163344
|
#
fb78083b |
| 01-Aug-2012 |
Nick Lewycky <nicholas@mxc.ca> |
Stay rational; don't assert trying to take the square root of a negative value. If it's negative, the loop is already proven to be infinite. Fixes PR13489!
llvm-svn: 161107
|
#
365e31c3 |
| 13-Jul-2012 |
Andrew Trick <atrick@apple.com> |
Factor SCEV traversal code so I can use it elsewhere. No functionality.
llvm-svn: 160203
|
#
3d151238 |
| 09-Jul-2012 |
Dan Gohman <gohman@apple.com> |
Delete code for folding undefs in ScalarEvolution. It's invalid in obscure ways, and it isn't actually important in the real world.
llvm-svn: 159969
|
#
e2ef47c1 |
| 30-Jun-2012 |
Benjamin Kramer <benny.kra@googlemail.com> |
Reduce use list thrashing by using DenseMap's find_as for maps with ValueHandle keys.
No functionality change.
llvm-svn: 159497
|
#
474112d8 |
| 28-Jun-2012 |
Nick Lewycky <nicholas@mxc.ca> |
If the step value is a constant zero, the loop isn't going to terminate. Fixes the assert reported in PR13228!
llvm-svn: 159393
|
#
bde91766 |
| 02-Jun-2012 |
Benjamin Kramer <benny.kra@googlemail.com> |
Fix typos found by http://github.com/lyda/misspell-check
llvm-svn: 157885
|
#
406a2db1 |
| 30-May-2012 |
Benjamin Kramer <benny.kra@googlemail.com> |
Make sure that we're dealing with a binary SCEVExpr when simplifying.
llvm-svn: 157704
|
#
50b26ebb |
| 30-May-2012 |
Benjamin Kramer <benny.kra@googlemail.com> |
Teach SCEV's icmp simplification logic that a-b == 0 is equivalent to a == b.
This also required making recursive simplifications until nothing changes or a hard limit (currently 3) is hit.
With th
Teach SCEV's icmp simplification logic that a-b == 0 is equivalent to a == b.
This also required making recursive simplifications until nothing changes or a hard limit (currently 3) is hit.
With the simplification in place indvars can canonicalize loops of the form for (unsigned i = 0; i < a-b; ++i) into for (unsigned i = 0; i != a-b; ++i) which used to fail because SCEV created a weird umax expr for the backedge taken count.
llvm-svn: 157701
show more ...
|
#
a3f90431 |
| 30-May-2012 |
Andrew Trick <atrick@apple.com> |
SCEV: Handle a corner case reducing AddRecExpr * AddRecExpr
If integer overflow causes one of the terms to reach zero, that can force the entire expression to zero.
Fixes PR12929: cast<Ty>() argume
SCEV: Handle a corner case reducing AddRecExpr * AddRecExpr
If integer overflow causes one of the terms to reach zero, that can force the entire expression to zero.
Fixes PR12929: cast<Ty>() argument of incompatible type
llvm-svn: 157673
show more ...
|
#
946f76bf |
| 30-May-2012 |
Andrew Trick <atrick@apple.com> |
Reformat the loop that does AddRecExpr * AddRecExpr reduction.
No functionality.
llvm-svn: 157672
|
#
7fa4e0fe |
| 19-May-2012 |
Andrew Trick <atrick@apple.com> |
SCEV: Add MarkPendingLoopPredicates to avoid recursive isImpliedCond.
getUDivExpr attempts to simplify by checking for overflow. isLoopEntryGuardedByCond then evaluates the loop predicate which may
SCEV: Add MarkPendingLoopPredicates to avoid recursive isImpliedCond.
getUDivExpr attempts to simplify by checking for overflow. isLoopEntryGuardedByCond then evaluates the loop predicate which may lead to the same getUDivExpr causing endless recursion.
Fixes PR12868: clang 3.2 segmentation fault.
llvm-svn: 157092
show more ...
|
#
c2a170e2 |
| 15-May-2012 |
Nuno Lopes <nunoplopes@sapo.pt> |
reuse the result of some expensive computations in getSignExtendExpr() and getZeroExtendExpr() this gives a speedup of > 80 in a debug build in the test case of PR12825 (php_sha512_crypt_r)
llvm-svn
reuse the result of some expensive computations in getSignExtendExpr() and getZeroExtendExpr() this gives a speedup of > 80 in a debug build in the test case of PR12825 (php_sha512_crypt_r)
llvm-svn: 156849
show more ...
|
#
ab5c9240 |
| 15-May-2012 |
Nuno Lopes <nunoplopes@sapo.pt> |
minor simplification to code: Ty is already a SCEV type; don't need to run getEffectiveSCEVType() twice
llvm-svn: 156823
|
Revision tags: llvmorg-3.1.0 |
|
#
0291246c |
| 10-May-2012 |
Dan Gohman <gohman@apple.com> |
Rewrite ScalarEvolution::hasOperand to use an explicit worklist instead of recursion, to avoid excessive stack usage on deep expressions.
llvm-svn: 156554
|
Revision tags: llvmorg-3.1.0-rc3, llvmorg-3.1.0-rc2, llvmorg-3.1.0-rc1 |
|
#
e364d195 |
| 17-Apr-2012 |
Benjamin Kramer <benny.kra@googlemail.com> |
Revert "SCEV: When expanding a GEP the final addition to the base pointer has NUW but not NSW."
This isn't right either, reverting for now.
llvm-svn: 154910
|
#
e1f4ca1b |
| 07-Apr-2012 |
Benjamin Kramer <benny.kra@googlemail.com> |
SCEV: When expanding a GEP the final addition to the base pointer has NUW but not NSW.
Found by inspection.
llvm-svn: 154262
|
#
ba0a6cab |
| 04-Apr-2012 |
Rafael Espindola <rafael.espindola@gmail.com> |
Always compute all the bits in ComputeMaskedBits. This allows us to keep passing reduced masks to SimplifyDemandedBits, but know about all the bits if SimplifyDemandedBits fails. This allows instcomb
Always compute all the bits in ComputeMaskedBits. This allows us to keep passing reduced masks to SimplifyDemandedBits, but know about all the bits if SimplifyDemandedBits fails. This allows instcombine to simplify cases like the one in the included testcase.
llvm-svn: 154011
show more ...
|