History log of /llvm-project/llvm/lib/Analysis/ScalarEvolution.cpp (Results 1526 – 1550 of 2089)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# d3a32ae4 17-Nov-2010 Dan Gohman <gohman@apple.com>

Verify SCEVAddRecExpr's invariant in ScalarEvolution::getAddRecExpr
instead of in SCEVAddRecExpr's constructor, in preparation for an
upcoming change.

llvm-svn: 119554


# ed756317 17-Nov-2010 Dan Gohman <gohman@apple.com>

Fix ScalarEvolution's range memoization to avoid using a
default ctor with ConstantRange.

llvm-svn: 119550


# d06f50e2 17-Nov-2010 Duncan Sands <baldrick@free.fr>

Have ScalarEvolution use SimplifyInstruction rather than hasConstantValue.
While there, add a note about an inefficiency I noticed.

llvm-svn: 119458


# 761065e3 17-Nov-2010 Dan Gohman <gohman@apple.com>

Memoize results from ScalarEvolution's getUnsignedRange and getSignedRange.
This fixes some extreme compile times on unrolled sha512 code.

llvm-svn: 119455


# dcb354b2 29-Oct-2010 Dan Gohman <gohman@apple.com>

Make ScalarEvolution::forgetLoop forget all contained loops too, because
they may have ValuesAtScopes map entries referencing their outer loops.
This fixes a user-after-free reported in PR8471.

llvm

Make ScalarEvolution::forgetLoop forget all contained loops too, because
they may have ValuesAtScopes map entries referencing their outer loops.
This fixes a user-after-free reported in PR8471.

llvm-svn: 117698

show more ...


# 6c18d1aa 19-Oct-2010 Owen Anderson <resistor@mac.com>

Get rid of static constructors for pass registration. Instead, every pass exposes an initializeMyPassFunction(), which
must be called in the pass's constructor. This function uses static dependency

Get rid of static constructors for pass registration. Instead, every pass exposes an initializeMyPassFunction(), which
must be called in the pass's constructor. This function uses static dependency declarations to recursively initialize
the pass's dependencies.

Clients that only create passes through the createFooPass() APIs will require no changes. Clients that want to use the
CommandLine options for passes will need to manually call the appropriate initialization functions in PassInitialization.h
before parsing commandline arguments.

I have tested this with all standard configurations of clang and llvm-gcc on Darwin. It is possible that there are problems
with the static dependencies that will only be visible with non-standard options. If you encounter any crash in pass
registration/creation, please send the testcase to me directly.

llvm-svn: 116820

show more ...


# 8ac477ff 12-Oct-2010 Owen Anderson <resistor@mac.com>

Begin adding static dependence information to passes, which will allow us to
perform initialization without static constructors AND without explicit initialization
by the client. For the moment, pas

Begin adding static dependence information to passes, which will allow us to
perform initialization without static constructors AND without explicit initialization
by the client. For the moment, passes are required to initialize both their
(potential) dependencies and any passes they preserve. I hope to be able to relax
the latter requirement in the future.

llvm-svn: 116334

show more ...


# df7a4f25 07-Oct-2010 Owen Anderson <resistor@mac.com>

Now with fewer extraneous semicolons!

llvm-svn: 115996


Revision tags: llvmorg-2.8.0
# 8e4c19ac 04-Oct-2010 Dan Gohman <gohman@apple.com>

Don't add the operand count to SCEV uniquing data; FoldingSetNodeID
already knows its own length, so this is redundant.

llvm-svn: 115521


Revision tags: llvmorg-2.8.0-rc3, llvmorg-2.8.0-rc2, llvmorg-2.8.0-rc1, llvmorg-2.8.0-rc0
# 47308d5d 31-Aug-2010 Dan Gohman <gohman@apple.com>

Reapply r112432, now that the real problem is addressed.

llvm-svn: 112667


# f01a5eed 31-Aug-2010 Dan Gohman <gohman@apple.com>

Reapply r112433, now that the real problem is addressed.

llvm-svn: 112666


# aabfc527 31-Aug-2010 Dan Gohman <gohman@apple.com>

Revert r110916. This patch is buggy because the code inside the
inner loop doesn't update all the variables in the outer loop.

llvm-svn: 112665


# 90f29bcd 31-Aug-2010 Dan Gohman <gohman@apple.com>

Revert r112432. It appears to be exposing a problem in the emacs build.

llvm-svn: 112638


# 444c24a9 31-Aug-2010 Dan Gohman <gohman@apple.com>

Speculatively revert r112433.

llvm-svn: 112608


# d1da5cdf 29-Aug-2010 Dan Gohman <gohman@apple.com>

Restructure the {A,+,B}<L> * {C,+,D}<L> folding so that it folds
all applicable addrecs before recursing on getMulExpr, instead of
recursing on getMulExpr for each one.

llvm-svn: 112433


# 3e6fc189 29-Aug-2010 Dan Gohman <gohman@apple.com>

Batch up subtracts along with adds, when analyzing long chains of
operations.

llvm-svn: 112432


# 7712d290 29-Aug-2010 Dan Gohman <gohman@apple.com>

Micro-optimize GroupByComplexity.

llvm-svn: 112431


# 0f2de013 29-Aug-2010 Dan Gohman <gohman@apple.com>

Hold AddRec->getLoop() in a variable, to make the Mul code more consistent
with the Add code.

llvm-svn: 112430


# 028c1815 29-Aug-2010 Dan Gohman <gohman@apple.com>

Rename a variable, for consistency.

llvm-svn: 112429


# 28a84d4b 29-Aug-2010 Dan Gohman <gohman@apple.com>

Use iterators instead of indices.

llvm-svn: 112428


# fe22f1d3 28-Aug-2010 Dan Gohman <gohman@apple.com>

Fix an index calculation thinko.

llvm-svn: 112337


# 15871f23 27-Aug-2010 Dan Gohman <gohman@apple.com>

When merging adjacent operands, scan ahead and merge all equal
adjacent operands at once, instead of just two at a time.

llvm-svn: 112299


# c866bf4f 27-Aug-2010 Dan Gohman <gohman@apple.com>

Make the {A,+,B}<L> + {C,+,D}<L> --> Other + {A+C,+,B+D}<L>
transformation collect all the addrecs with the same loop
add combine them at once rather than starting everything over
at the first chan

Make the {A,+,B}<L> + {C,+,D}<L> --> Other + {A+C,+,B+D}<L>
transformation collect all the addrecs with the same loop
add combine them at once rather than starting everything over
at the first chance.

llvm-svn: 112290

show more ...


# 9bad2fb3 27-Aug-2010 Dan Gohman <gohman@apple.com>

Switch ScalarEvolution's main Value*->SCEV* map from std::map
to DenseMap.

llvm-svn: 112281


# 2706567c 27-Aug-2010 Dan Gohman <gohman@apple.com>

Optimize SCEVComplexityCompare. Use a 3-way return instead of a 2-way
return to avoid needing two calls to test for equivalence, and sort
addrecs by their degree before examining their operands.

llv

Optimize SCEVComplexityCompare. Use a 3-way return instead of a 2-way
return to avoid needing two calls to test for equivalence, and sort
addrecs by their degree before examining their operands.

llvm-svn: 112267

show more ...


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