History log of /llvm-project/llvm/lib/Analysis/ScalarEvolution.cpp (Results 1926 – 1950 of 2089)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 05e89735 22-Jun-2008 Dan Gohman <gohman@apple.com>

Generalize createSCEV to be able to form SCEV expressions from
ConstantExprs.

llvm-svn: 52615


# be928e3b 18-Jun-2008 Dan Gohman <gohman@apple.com>

Move LSR's private isZero function to a public SCEV member
function, and make use of it in several places.

llvm-svn: 52463


# ed169d53 13-Jun-2008 Nick Lewycky <nicholas@mxc.ca>

Crash less. The i64 restriction in BinomialCoefficient caused some problems
with code that was expecting different bit widths for different values.

Make getTruncateOrZeroExtend a method on ScalarEvo

Crash less. The i64 restriction in BinomialCoefficient caused some problems
with code that was expecting different bit widths for different values.

Make getTruncateOrZeroExtend a method on ScalarEvolution, and use it.

llvm-svn: 52248

show more ...


Revision tags: llvmorg-2.3.0
# 3195b393 25-May-2008 Nick Lewycky <nicholas@mxc.ca>

Don't treat values as signed when looking at loop steppings in HowForToNonZero.

llvm-svn: 51560


# d78c400b 13-May-2008 Dan Gohman <gohman@apple.com>

Clean up the use of static and anonymous namespaces. This turned up
several things that were neither in an anonymous namespace nor static
but not intended to be global.

llvm-svn: 51017


# f0bdd22f 06-May-2008 Nick Lewycky <nicholas@mxc.ca>

Fix typo and indentation.

llvm-svn: 50706


# 6145727b 20-Apr-2008 Dale Johannesen <dalej@apple.com>

(re)fix handling of UGT. Pointed out by Nick Lewycky.

llvm-svn: 49991


# 3b18762f 20-Apr-2008 Chris Lattner <sabre@nondot.org>

Switch to using Simplified ConstantFP::get API.

llvm-svn: 49977


# ce9dc869 18-Apr-2008 Dale Johannesen <dalej@apple.com>

Fix a scalar evolution bug. Reversing everything
does not work because of 0; 2>0 but -2U is also >0.

llvm-svn: 49928


# 5e6ce7bb 14-Apr-2008 Dan Gohman <gohman@apple.com>

In the special case, call the comparison function instead of
manually performing the comparison. This allows the special
case to work correctly even in the case where someone is
experimenting with a

In the special case, call the comparison function instead of
manually performing the comparison. This allows the special
case to work correctly even in the case where someone is
experimenting with a different comparison function :-).

llvm-svn: 49670

show more ...


# 80e43fa7 20-Mar-2008 Devang Patel <dpatel@apple.com>

Restore isCFGOnly property of various analysis passes.

llvm-svn: 48579


# 718da668 19-Mar-2008 Devang Patel <dpatel@apple.com>

PassInfo keep tracks whether a pass is an analysis pass or not.

llvm-svn: 48554


# 01d6257e 25-Feb-2008 Evan Cheng <evan.cheng@apple.com>

Temporarily reverting 46959.

llvm-svn: 47542


# 5a3db140 21-Feb-2008 Nick Lewycky <nicholas@mxc.ca>

Simplify this code, no functionality change.

llvm-svn: 47434


# 839adb87 21-Feb-2008 Nick Lewycky <nicholas@mxc.ca>

GlobalValues are Constants, remove redundant code. Also fix typo in a comment.

llvm-svn: 47433


# 579f0713 20-Feb-2008 Anton Korobeynikov <asl@math.spbu.ru>

Unbreak build with gcc 4.3: provide missed includes and silence most annoying warnings.

llvm-svn: 47367


# b0a2f951 20-Feb-2008 Nick Lewycky <nicholas@mxc.ca>

Use getConstant for ConstantInts.

llvm-svn: 47361


# 1c44ebcf 20-Feb-2008 Nick Lewycky <nicholas@mxc.ca>

Add 'umax' similar to 'smax' SCEV. Closes PR2003.

Parse reversed smax and umax as smin and umin and express them with negative
or binary-not SCEVs (which are really just subtract under the hood).

P

Add 'umax' similar to 'smax' SCEV. Closes PR2003.

Parse reversed smax and umax as smin and umin and express them with negative
or binary-not SCEVs (which are really just subtract under the hood).

Parse 'xor %x, -1' as (-1 - %x).

Remove dead code (ConstantInt::get always returns a ConstantInt).

Don't use getIntegerSCEV(-1, Ty). The first value is an int, then it gets
passed into a uint64_t. Instead, create the -1 directly from
ConstantInt::getAllOnesValue().

llvm-svn: 47360

show more ...


# 0e411f65 13-Feb-2008 Wojciech Matyjewicz <wmatyjewicz@fastmail.fm>

Fix typo. Thanks to Duncan for noticing.

llvm-svn: 47062


# 35545fd8 13-Feb-2008 Wojciech Matyjewicz <wmatyjewicz@fastmail.fm>

Add comments as per review feedback.

llvm-svn: 47061


# 1d2c27b2 12-Feb-2008 Wojciech Matyjewicz <wmatyjewicz@fastmail.fm>

Fix PR2002. Suppose n is the initial value for the induction
variable (with step 1) and m is its final value. Then, the correct trip
count is SMAX(m,n)-n. Previously, we used SMAX(0,m-n), but m-n m

Fix PR2002. Suppose n is the initial value for the induction
variable (with step 1) and m is its final value. Then, the correct trip
count is SMAX(m,n)-n. Previously, we used SMAX(0,m-n), but m-n may
overflow and can't in general be interpreted as signed.

Patch by Nick Lewycky.

llvm-svn: 47007

show more ...


Revision tags: llvmorg-2.2.0
# adae053b 11-Feb-2008 Wojciech Matyjewicz <wmatyjewicz@fastmail.fm>

If the LHS of the comparison is a loop-invariant we also want to move it
to the RHS. This simple change allows to compute loop iteration count
for loops with condition similar to the one in the tes

If the LHS of the comparison is a loop-invariant we also want to move it
to the RHS. This simple change allows to compute loop iteration count
for loops with condition similar to the one in the testcase (which seems
to be quite common).

llvm-svn: 46959

show more ...


# d2d9764c 11-Feb-2008 Wojciech Matyjewicz <wmatyjewicz@fastmail.fm>

Fix PR1798 - an error in the evaluation of SCEVAddRecExpr at an
arbitrary iteration.

The patch:
1) changes SCEVSDivExpr into SCEVUDivExpr,
2) replaces PartialFact() function with BinomialCoefficien

Fix PR1798 - an error in the evaluation of SCEVAddRecExpr at an
arbitrary iteration.

The patch:
1) changes SCEVSDivExpr into SCEVUDivExpr,
2) replaces PartialFact() function with BinomialCoefficient(); the
computations (essentially, the division) in BinomialCoefficient() are
performed with the apprioprate bitwidth necessary to avoid overflow;
unsigned division is used instead of the signed one.

Computations in BinomialCoefficient() require support from the code
generator for APInts. Currently, we use a hack rounding up the
neccessary bitwidth to the nearest power of 2. The hack is easy to turn
off in future.

One remaining issue: we assume the divisor of the binomial coefficient
formula can be computed accurately using 16 bits. It means we can handle
AddRecs of length up to 9. In future, we should use APInts to evaluate
the divisor.

Thanks to Nicholas for cooperation!

llvm-svn: 46955

show more ...


# a65951fe 31-Jan-2008 Dan Gohman <gohman@apple.com>

Avoid unnecessarily casting away const, fixing a FIXME.

llvm-svn: 46591


# d1200b00 02-Jan-2008 Nick Lewycky <nicholas@mxc.ca>

Don't be rude, emit debugging info where asked to.

llvm-svn: 45485


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