History log of /llvm-project/llvm/lib/Analysis/ScalarEvolution.cpp (Results 1801 – 1825 of 2089)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 4d8723d4 17-Jun-2009 Dan Gohman <gohman@apple.com>

Delete unnecessary braces.

llvm-svn: 73663


# b50f5a46 17-Jun-2009 Dan Gohman <gohman@apple.com>

Fix ScalarEvolution's Xor handling to not assume that an And
that gets recognized with a SCEVZeroExtendExpr must be an And
with a low-bits mask. With r73540, this is no longer the case.

llvm-svn: 73

Fix ScalarEvolution's Xor handling to not assume that an And
that gets recognized with a SCEVZeroExtendExpr must be an And
with a low-bits mask. With r73540, this is no longer the case.

llvm-svn: 73594

show more ...


# 1ee696d8 16-Jun-2009 Dan Gohman <gohman@apple.com>

Instcombine's ShrinkDemandedConstant may strip bits out of constants,
obscuring what would otherwise be a low-bits mask. Use ComputeMaskedBits
to compute what ShrinkDemandedConstant knew about to re

Instcombine's ShrinkDemandedConstant may strip bits out of constants,
obscuring what would otherwise be a low-bits mask. Use ComputeMaskedBits
to compute what ShrinkDemandedConstant knew about to reconstruct a
low-bits mask value.

llvm-svn: 73540

show more ...


# 7ccc52f1 15-Jun-2009 Dan Gohman <gohman@apple.com>

Support vector casts in more places, fixing a variety of assertion
failures.

To support this, add some utility functions to Type to help support
vector/scalar-independent code. Change ConstantInt::g

Support vector casts in more places, fixing a variety of assertion
failures.

To support this, add some utility functions to Type to help support
vector/scalar-independent code. Change ConstantInt::get and
ConstantFP::get to support vector types, and add an overload to
ConstantInt::get that uses a static IntegerType type, for
convenience.

Introduce a new getConstant method for ScalarEvolution, to simplify
common use cases.

llvm-svn: 73431

show more ...


# 038d02e7 14-Jun-2009 Dan Gohman <gohman@apple.com>

Implement more aggressive folding of add operand lists when
they contain multiplications of constants with add operations.
This helps simplify several kinds of things; in particular it
helps simplify

Implement more aggressive folding of add operand lists when
they contain multiplications of constants with add operations.
This helps simplify several kinds of things; in particular it
helps simplify expressions like ((-1 * (%a + %b)) + %a) to %b,
as expressions like this often come up in loop trip count
computations.

llvm-svn: 73361

show more ...


# 011cf687 14-Jun-2009 Dan Gohman <gohman@apple.com>

Check for the short-circuiting condition before performing
the potentially expensive erase.

llvm-svn: 73359


# 862b7d98 14-Jun-2009 Dan Gohman <gohman@apple.com>

Do compare constant SCEV values in SCEVComplexityCompare, because
even though the order doesn't matter at the top level of an expression,
it does matter when the constant is a subexpression of an n-a

Do compare constant SCEV values in SCEVComplexityCompare, because
even though the order doesn't matter at the top level of an expression,
it does matter when the constant is a subexpression of an n-ary
expression, because n-ary expressions are sorted lexicographically.

llvm-svn: 73358

show more ...


# 0652fd59 14-Jun-2009 Dan Gohman <gohman@apple.com>

Convert several parts of the ScalarEvolution framework to use
SmallVector instead of std::vector.

llvm-svn: 73357


# 8db2edcf 13-Jun-2009 Dan Gohman <gohman@apple.com>

Add a ScalarEvolution::getAnyExtendExpr utility function for performing
extension with unspecified bits.

llvm-svn: 73293


# 4c720c07 06-Jun-2009 Dan Gohman <gohman@apple.com>

Rename UnknownValue to CouldNotCompute, since it holds an instance of
SCEVCouldNotCompute, and not SCEVUnknown.

llvm-svn: 72999


# afa8a159 05-Jun-2009 Devang Patel <dpatel@apple.com>

Simplify.

llvm-svn: 72970


# d9ef48a7 05-Jun-2009 Dan Gohman <gohman@apple.com>

Remove some unnecessary #includes.

llvm-svn: 72948


# 2a6606ca 26-May-2009 Dan Gohman <gohman@apple.com>

For the return type of SCEVUDivExpr, use the RHS' type instead of
that of the LHS. It doesn't matter for correctness, but the LHS
is more likely than the RHS to be a pointer type in exotic cases,
and

For the return type of SCEVUDivExpr, use the RHS' type instead of
that of the LHS. It doesn't matter for correctness, but the LHS
is more likely than the RHS to be a pointer type in exotic cases,
and it's more tidy to have it return the integer type.

llvm-svn: 72424

show more ...


# 4d5435d4 24-May-2009 Dan Gohman <gohman@apple.com>

Various comment fixes.

llvm-svn: 72376


# 8ca0885d 24-May-2009 Dan Gohman <gohman@apple.com>

Change ScalarEvolution::getSCEVAtScope to always return the original value
in the case where a loop exit value cannot be computed, instead of only in
some cases while using SCEVCouldNotCompute in oth

Change ScalarEvolution::getSCEVAtScope to always return the original value
in the case where a loop exit value cannot be computed, instead of only in
some cases while using SCEVCouldNotCompute in others. This simplifies
getSCEVAtScope's callers.

llvm-svn: 72375

show more ...


# 9cbf8505 20-May-2009 Dan Gohman <gohman@apple.com>

Teach SCEV::isLoopInvariant and SCEV::hasComputableLoopEvolution
about the convention from LoopInfo that a null Loop* means the entire
function body.

llvm-svn: 72152


# d33a090e 19-May-2009 Dan Gohman <gohman@apple.com>

Make SCEVCallbackVH a private nested class inside ScalarEvolution, as
it's an implementation detail.

llvm-svn: 72122


# 2649491f 19-May-2009 Dan Gohman <gohman@apple.com>

Teach SCEVExpander to expand arithmetic involving pointers into GEP
instructions. It attempts to create high-level multi-operand GEPs,
though in cases where this isn't possible it falls back to casti

Teach SCEVExpander to expand arithmetic involving pointers into GEP
instructions. It attempts to create high-level multi-operand GEPs,
though in cases where this isn't possible it falls back to casting
the pointer to i8* and emitting a GEP with that. Using GEP instructions
instead of ptrtoint+arithmetic+inttoptr helps pointer analyses that
don't use ScalarEvolution, such as BasicAliasAnalysis.

Also, make the AddrModeMatcher more aggressive in handling GEPs.
Previously it assumed that operand 0 of a GEP would require a register
in almost all cases. It now does extra checking and can do more
matching if operand 0 of the GEP is foldable. This fixes a problem
that was exposed by SCEVExpander using GEPs.

llvm-svn: 72093

show more ...


# a8c16586 18-May-2009 Daniel Dunbar <daniel@zuster.org>

Silence Release-Asserts warnings.

llvm-svn: 72011


# 6350296e 18-May-2009 Dan Gohman <gohman@apple.com>

Teach ScalarEvolution to recognize x^-1 in the case where non-demanded
bits have been stripped out by instcombine.

llvm-svn: 72010


# d277a1ed 18-May-2009 Dan Gohman <gohman@apple.com>

Delete a redundant 'else'.

llvm-svn: 72009


# 9cf09f82 18-May-2009 Dan Gohman <gohman@apple.com>

Fix ScalarEvolution::isLoopGuardedByCond to accept a null Loop*, for
consistency with other routines that use a null Loop* to mean code
not contained by any loop.

llvm-svn: 72008


# 4fc3668a 18-May-2009 Dan Gohman <gohman@apple.com>

Minor code cleanups. Do more of the work before the if statements
instead of within their controlling expressions.

llvm-svn: 72007


# d33f36e2 18-May-2009 Dan Gohman <gohman@apple.com>

Add assertion checks to the SCEV operator creation methods to catch
type mismatches.

llvm-svn: 72006


# 8c77f1a2 18-May-2009 Dan Gohman <gohman@apple.com>

Make ScalarEvolution::isLoopGuardedByCond work even when the edge
entering a loop is a non-split critical edge.

llvm-svn: 72004


1...<<71727374757677787980>>...84