History log of /llvm-project/llvm/lib/Analysis/ScalarEvolution.cpp (Results 2051 – 2075 of 2089)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# b310ac4a 09-Aug-2005 Chris Lattner <sabre@nondot.org>

implement two helper methods

llvm-svn: 22736


Revision tags: llvmorg-1.5.0
# 01808cad 21-Apr-2005 Misha Brukman <brukman+llvm@gmail.com>

Remove trailing whitespace

llvm-svn: 21416


# 747eee27 06-Apr-2005 Chris Lattner <sabre@nondot.org>

Don't make this require loopsimplify. It works BETTER with loop simplify
but should not require it.

llvm-svn: 21123


# adb043c2 09-Mar-2005 Chris Lattner <sabre@nondot.org>

Export two methods for getting -X and A-B.

llvm-svn: 20527


# 0b0f3520 26-Feb-2005 Chris Lattner <sabre@nondot.org>

DCE a dead function

llvm-svn: 20339


# f05d2b31 26-Feb-2005 Chris Lattner <sabre@nondot.org>

1 + 100 + 51 == 152, not 52.
If we fold three constants together (c1+c2+c3), make sure to keep
LHSC updated, instead of reusing (in this case), the 1 instead of the
partial sum.

llvm-svn: 20337


# 47555dec 17-Feb-2005 Chris Lattner <sabre@nondot.org>

Scary typo that fixes Regression/Transforms/IndVarsSimplify/2005-02-17-TruncateExprCrash.ll
and PR515.

llvm-svn: 20224


# 7b0fbe7c 13-Feb-2005 Chris Lattner <sabre@nondot.org>

Correct the recursive PHI node handling routines in a way that CANNOT induce
infinite loops (using the new replaceSymbolicValuesWithConcrete method).

This patch reverts this patch:
http://mail.cs.ui

Correct the recursive PHI node handling routines in a way that CANNOT induce
infinite loops (using the new replaceSymbolicValuesWithConcrete method).

This patch reverts this patch:
http://mail.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20050131/023830.html

... which was an attempted fix for this problem. Unfortunately, that patch
caused test/Regression/Transforms/IndVarsSimplify/exit_value_tests.llx to fail
and slightly castrated the entire analysis. This patch fixes it right.

This patch is dedicated to jeffc, for making me deal with this. :)

llvm-svn: 20146

show more ...


# 1230cf25 01-Feb-2005 Chris Lattner <sabre@nondot.org>

Fix a problem where we could infinitely recurse on phi nodes.

llvm-svn: 19955


Revision tags: llvmorg-1.4.0
# 90839368 07-Dec-2004 Reid Spencer <rspencer@reidspencer.com>

For PR387:\
Make only one print method to avoid overloaded virtual warnings when \
compiled with -Woverloaded-virtual

llvm-svn: 18589


# a27dd47e 04-Dec-2004 Chris Lattner <sabre@nondot.org>

This patch prevents an infinite recursion while compiling 103.su2cor.

All SPEC CFP 95 programs now work, though the JIT isn't loading -lf2c right
so they aren't testing correctly.

llvm-svn: 18499


# 43df507f 25-Oct-2004 Chris Lattner <sabre@nondot.org>

Patch to support MSVC, contributed by Morten Ofstad

llvm-svn: 17214


# ec901cc6 12-Oct-2004 Chris Lattner <sabre@nondot.org>

This nutty patch has been in my tree since before 1.3 went out, and it needs
to go in. This patch allows us to compute the trip count of loops controlled
by values loaded from constant arrays. The

This nutty patch has been in my tree since before 1.3 went out, and it needs
to go in. This patch allows us to compute the trip count of loops controlled
by values loaded from constant arrays. The cannonnical example of this is
strlen when passed a constant argument:

for (int i = 0; "constantstring"[i]; ++i) ;
return i;

In this case, it will compute that the loop executes 14 times, which means
that the exit value of i is 14. Because of this, the loop gets DCE'd and
we are happy. This also applies to anything that does similar things, e.g.
loops like this:

const float Array[] = { 0.1, 2.1, 3.2, 23.21 };
for (int i = 0; Array[i] < 20; ++i)

and is actually fairly general.

The problem with this is that it almost never triggers. The reason is that
we run indvars and the loop optimizer only at compile time, which is before
things like strlen and strcpy have been inlined into the program from libc.
Because of this, it almost never is used (it triggers twice in specint2k).

I'm committing it because it DOES work, may be useful in the future, and
doesn't slow us down at all. If/when we start running the loop optimizer
at link-time (-O4?) this will be very nice indeed :)

llvm-svn: 16926

show more ...


# 6faf3949 11-Oct-2004 Chris Lattner <sabre@nondot.org>

Fix SingleSource/Benchmarks/McGill/chomp

llvm-svn: 16912


# a5c04ee5 03-Sep-2004 Alkis Evlogimenos <alkis@evlogimenos.com>

Fixes to make LLVM compile with vc7.1.

Patch contributed by Paolo Invernizzi!

llvm-svn: 16152


# 7c16caa3 01-Sep-2004 Reid Spencer <rspencer@reidspencer.com>

Changes For Bug 352
Move include/Config and include/Support into include/llvm/Config,
include/llvm/ADT and include/llvm/Support. From here on out, all LLVM
public header files must be under include/l

Changes For Bug 352
Move include/Config and include/Support into include/llvm/Config,
include/llvm/ADT and include/llvm/Support. From here on out, all LLVM
public header files must be under include/llvm/.

llvm-svn: 16137

show more ...


Revision tags: llvmorg-1.3.0
# 30d69a5a 18-Jul-2004 Reid Spencer <rspencer@reidspencer.com>

bug 122:
- Replace ConstantPointerRef usage with GlobalValue usage
- Minimize redundant isa<GlobalValue> usage
- Correct isa<Constant> for GlobalValue subclass

llvm-svn: 14942


# 5e08b93a 24-Jun-2004 Chris Lattner <sabre@nondot.org>

Remove distasteful method which is really part of the indvars pass

llvm-svn: 14359


# baaed7ee 20-Jun-2004 Chris Lattner <sabre@nondot.org>

REALLY fix PR378: crash in scalar evolution analysis

llvm-svn: 14275


# 6bfca8f5 20-Jun-2004 Chris Lattner <sabre@nondot.org>

Fix a bug in my change last night that caused a few test failures.

llvm-svn: 14270


# eb3e8407 20-Jun-2004 Chris Lattner <sabre@nondot.org>

Do not sort SCEV objects by address: instead sort by complexity and group
by address. This prevents the resultant SCEV objects from depending on
where in memory other scev objects happen to live.

l

Do not sort SCEV objects by address: instead sort by complexity and group
by address. This prevents the resultant SCEV objects from depending on
where in memory other scev objects happen to live.

llvm-svn: 14263

show more ...


# 2d3a7a6f 27-Apr-2004 Chris Lattner <sabre@nondot.org>

Changes to fix up the inst_iterator to pass to boost iterator checks. This
patch was graciously contributed by Vladimir Prus.

llvm-svn: 13185


# 05ef97f9 23-Apr-2004 Chris Lattner <sabre@nondot.org>

Eliminate all of the SCEV Expansion code which is really part of the
IndVars pass, not part of SCEV *analysis*.

llvm-svn: 13134


# 663ebc3e 19-Apr-2004 Chris Lattner <sabre@nondot.org>

It's not just a printer, it's actually an analysis too

llvm-svn: 13064


# d72c3eb5 18-Apr-2004 Chris Lattner <sabre@nondot.org>

Change the ExitBlocks list from being explicitly contained in the Loop
structure to being dynamically computed on demand. This makes updating
loop information MUCH easier.

llvm-svn: 13045


1...<<81828384