History log of /llvm-project/llvm/lib/Analysis/ScalarEvolution.cpp (Results 1401 – 1425 of 2089)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 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 ...


1...<<51525354555657585960>>...84