History log of /llvm-project/llvm/lib/Analysis/ScalarEvolution.cpp (Results 1576 – 1600 of 2089)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 7cac9577 02-Aug-2010 Dan Gohman <gohman@apple.com>

Make SCEVUnknown a CallbackVH, so that it can be notified directly
of Value deletions and RAUWs, instead of relying on ScalarEvolution's
Scalars map being notified, as that's complicated at best, and

Make SCEVUnknown a CallbackVH, so that it can be notified directly
of Value deletions and RAUWs, instead of relying on ScalarEvolution's
Scalars map being notified, as that's complicated at best, and
insufficient in general.

This means SCEVUnknown needs a non-trivial destructor, so introduce
a mechanism to allow ScalarEvolution to locate all the SCEVUnknowns.

llvm-svn: 110086

show more ...


# 40b31ad3 02-Aug-2010 Oscar Fuentes <ofv@wanadoo.es>

Prefix `next' iterator operation with `llvm::'.

Fixes potential ambiguity problems on VS 2010.

Patch by nobled!

llvm-svn: 110029


# ef6d5933 29-Jul-2010 Eric Christopher <echristo@apple.com>

Speculatively revert r109705 since it seems to be causing some build bot
angst.

llvm-svn: 109718


# 3d6ac44d 29-Jul-2010 Dan Gohman <gohman@apple.com>

Factor out some of the code for updating old SCEVUnknown values, and
extend it to handle the case where multiple RAUWs affect a single
SCEVUnknown.

Add a ScalarEvolution unittest to test for this si

Factor out some of the code for updating old SCEVUnknown values, and
extend it to handle the case where multiple RAUWs affect a single
SCEVUnknown.

Add a ScalarEvolution unittest to test for this situation.

llvm-svn: 109705

show more ...


# 7a066723 28-Jul-2010 Dan Gohman <gohman@apple.com>

Make SCEVCallbackVH::allUsesReplacedWith update the old SCEVUnknown
object, as it may still be referenced by SCEVs not cleaned up by the
use list traversal.

Also, in ScalarEvolution::forgetValue, on

Make SCEVCallbackVH::allUsesReplacedWith update the old SCEVUnknown
object, as it may still be referenced by SCEVs not cleaned up by the
use list traversal.

Also, in ScalarEvolution::forgetValue, only check for a SCEVUnknown
object for the original value, not for any value in the use list,
because other SCEVUnknown values aren't necessary obsolete at that
point.

llvm-svn: 109570

show more ...


# 8aeb0fb5 28-Jul-2010 Dan Gohman <gohman@apple.com>

Make SCEVCallbackVH::allUsesReplacedWith unconditionally delete
the old value.

llvm-svn: 109567


# 5ae31024 23-Jul-2010 Dan Gohman <gohman@apple.com>

Micro-optimize SCEVComplexityCompare.

llvm-svn: 109267


# 992db006 23-Jul-2010 Dan Gohman <gohman@apple.com>

Add a const qualifier.

llvm-svn: 109266


# dde79d8f 22-Jul-2010 Gabor Greif <ggreif@gmail.com>

mass elimination of reliance on automatic iterator dereferencing

llvm-svn: 109103


# a57b97e7 21-Jul-2010 Owen Anderson <resistor@mac.com>

Fix batch of converting RegisterPass<> to INTIALIZE_PASS().

llvm-svn: 109045


# 46f00a25 20-Jul-2010 Dan Gohman <gohman@apple.com>

Add a fast path for x - x.

llvm-svn: 108855


# 64b1e82a 15-Jul-2010 Dan Gohman <gohman@apple.com>

Teach ScalarEvolution how to fold trunc(undef) and anyext(undef) to undef.
This helps LSR behave more consistently on bugpoint-reduced testcases.

llvm-svn: 108451


# f638f4ff 30-Jun-2010 Dan Gohman <gohman@apple.com>

In ScalarEvolution::forgetValue, eliminate any SCEVUnknown
entries associated with the value being erased in the
folding set map. These entries used to be harmless, because
a SCEVUnknown doesn't sto

In ScalarEvolution::forgetValue, eliminate any SCEVUnknown
entries associated with the value being erased in the
folding set map. These entries used to be harmless, because
a SCEVUnknown doesn't store any information about its Value*,
so having a new Value allocated at the old Value's address
wasn't a problem. But now that ScalarEvolution is storing more
information about values, this is no longer safe.

llvm-svn: 107316

show more ...


# c0cca7fd 30-Jun-2010 Dan Gohman <gohman@apple.com>

Revert the part of r107257 which introduced new logic for using
nsw and nuw flags from IR Instructions. On further consideration,
this isn't valid.

llvm-svn: 107298


# 16206132 30-Jun-2010 Dan Gohman <gohman@apple.com>

Improve ScalarEvolution's nsw and nuw preservation.

llvm-svn: 107257


# 9396b42c 30-Jun-2010 Dan Gohman <gohman@apple.com>

When computing a new ConservativeResult, intersect it with
the old one instead of replacing it, to be more precise.

llvm-svn: 107256


# ae36b1ed 29-Jun-2010 Dan Gohman <gohman@apple.com>

Fix ScalarEvolution's tripcount computation for chains of loops
where each loop's induction variable's start value is the exit
value of a preceding loop.

llvm-svn: 107224


# 90db61d6 29-Jun-2010 Dan Gohman <gohman@apple.com>

Just as its not safe to blindly transfer the nsw bit from an add
instruction to an add scev, it's not safe to blindly transfer the
inbounds flag from a gep instruction to an nsw on the scev for the
g

Just as its not safe to blindly transfer the nsw bit from an add
instruction to an add scev, it's not safe to blindly transfer the
inbounds flag from a gep instruction to an nsw on the scev for the
gep.

llvm-svn: 107117

show more ...


# 89dd42af 25-Jun-2010 Dan Gohman <gohman@apple.com>

Eliminate a redundant FoldingSet lookup.

llvm-svn: 106872


# 5235cc2c 24-Jun-2010 Dan Gohman <gohman@apple.com>

Don't try to preserve pointer types in SCEVConstants; the old code
was over-complicated.

llvm-svn: 106760


# 3ace9f4e 24-Jun-2010 Dan Gohman <gohman@apple.com>

Make the trunc code consistent with the zext and sext code in its
handling of pointer types.

llvm-svn: 106757


# 75c6b0bb 22-Jun-2010 Dan Gohman <gohman@apple.com>

Replace ScalarEvolution's private copy of getLoopPredecessor
with LoopInfo's public copy.

llvm-svn: 106603


# f820bd32 22-Jun-2010 Dan Gohman <gohman@apple.com>

Allow "exhaustive" trip count evaluation on phi nodes with all
constant operands.

llvm-svn: 106537


# dd41bba5 21-Jun-2010 Dan Gohman <gohman@apple.com>

Use A.append(...) instead of A.insert(A.end(), ...) when A is a
SmallVector, and other SmallVector simplifications.

llvm-svn: 106452


# 866971ed 19-Jun-2010 Dan Gohman <gohman@apple.com>

Fix ScalarEvolution's "exhaustive" trip count evaluation code to avoid
assuming that loops are in canonical form, as ScalarEvolution doesn't
depend on LoopSimplify itself. Also, with indirectbr not a

Fix ScalarEvolution's "exhaustive" trip count evaluation code to avoid
assuming that loops are in canonical form, as ScalarEvolution doesn't
depend on LoopSimplify itself. Also, with indirectbr not all loops can
be simplified. This fixes PR7416.

llvm-svn: 106389

show more ...


1...<<61626364656667686970>>...84