History log of /llvm-project/llvm/lib/Analysis/ScalarEvolution.cpp (Results 1751 – 1775 of 2089)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 542619e6 13-Jul-2009 Owen Anderson <resistor@mac.com>

Move more functionality over to LLVMContext.

llvm-svn: 75497


# 74a0ba15 13-Jul-2009 Dan Gohman <gohman@apple.com>

Move the memoization check for SCEVSignExtendExpr and
SCEVZeroExtendExpr ahead of the most expensive analysis. This
speeds up analysis and helps avoid pathologically bad behavior
on the testcase in P

Move the memoization check for SCEVSignExtendExpr and
SCEVZeroExtendExpr ahead of the most expensive analysis. This
speeds up analysis and helps avoid pathologically bad behavior
on the testcase in PR4534.

llvm-svn: 75496

show more ...


# 3a302cbb 13-Jul-2009 Dan Gohman <gohman@apple.com>

Convert SCEV from FoldingSetNode to FastFoldingSetNode. This eliminates
a bunch of redundent code in Profile methods, and prepares for upcoming
changes to do improved memoization.

llvm-svn: 75494


# 53a52215 13-Jul-2009 Owen Anderson <resistor@mac.com>

Begin the painful process of tearing apart the rat'ss nest that is Constants.cpp and ConstantFold.cpp.
This involves temporarily hard wiring some parts to use the global context. This isn't ideal, b

Begin the painful process of tearing apart the rat'ss nest that is Constants.cpp and ConstantFold.cpp.
This involves temporarily hard wiring some parts to use the global context. This isn't ideal, but it's
the only way I could figure out to make this process vaguely incremental.

llvm-svn: 75445

show more ...


# c0bf46b2 11-Jul-2009 Nick Lewycky <nicholas@mxc.ca>

Revert r75252 which was causing some crashes at compile time.

llvm-svn: 75384


# 56d06597 11-Jul-2009 Torok Edwin <edwintorok@gmail.com>

assert(0) -> LLVM_UNREACHABLE.
Make llvm_unreachable take an optional string, thus moving the cerr<< out of
line.
LLVM_UNREACHABLE is now a simple wrapper that makes the message go away for
NDEBUG bu

assert(0) -> LLVM_UNREACHABLE.
Make llvm_unreachable take an optional string, thus moving the cerr<< out of
line.
LLVM_UNREACHABLE is now a simple wrapper that makes the message go away for
NDEBUG builds.

llvm-svn: 75379

show more ...


# 028e6158 10-Jul-2009 Dan Gohman <gohman@apple.com>

Remove ScalarEvolution::hasSCEV, which isn't being used, and which
breaks encapsulation. Also remove a dead prototype for setSCEV.

llvm-svn: 75272


# a9938d82 10-Jul-2009 Dan Gohman <gohman@apple.com>

Generalize ScalarEvolution's cast-folding code to support more kinds
of loops. Add several new functions to for working with ScalarEvolution's
add-hoc value-range analysis functionality.

llvm-svn: 7

Generalize ScalarEvolution's cast-folding code to support more kinds
of loops. Add several new functions to for working with ScalarEvolution's
add-hoc value-range analysis functionality.

llvm-svn: 75252

show more ...


# dc191042 08-Jul-2009 Dan Gohman <gohman@apple.com>

Make the code that updates ScalarEvolution's internal state in response
to a loop deletion more thorough. Don't prune the def-use tree search at
instructions that don't have SCEVs computed, because a

Make the code that updates ScalarEvolution's internal state in response
to a loop deletion more thorough. Don't prune the def-use tree search at
instructions that don't have SCEVs computed, because an instruction with
a user that has a computed SCEV may itself lack a computed SCEV. Also,
remove loop-related values from the ValuesAtScopes and
ConstantEvolutionLoopExitValues maps as well.

This fixes a regression in 483.xalancbmk.

llvm-svn: 75030

show more ...


# af752349 07-Jul-2009 Dan Gohman <gohman@apple.com>

Change all SCEV* to SCEV *.

llvm-svn: 74918


# 38264b15 06-Jul-2009 Owen Anderson <resistor@mac.com>

"LLVMContext* " --> "LLVMContext *"

llvm-svn: 74878


# f1f1743b 06-Jul-2009 Owen Anderson <resistor@mac.com>

Finish LLVMContext-ing lib/Analysis. This required pushing LLVMContext's through the ValueTracking API.

llvm-svn: 74873


# 39f00cc1 06-Jul-2009 Owen Anderson <resistor@mac.com>

Thread LLVMContext through the constant folding APIs, which touches a lot of files.

llvm-svn: 74844


# 32929081 04-Jul-2009 Nick Lewycky <nicholas@mxc.ca>

When comparing constants, consider a less wide constant to be "less complex"
than a wider one, before trying to compare their contents which will crash
if their sizes are different.

llvm-svn: 74792


# 3423e72b 30-Jun-2009 Dan Gohman <gohman@apple.com>

Minor code cleanups.

llvm-svn: 74551


# 9d203c63 29-Jun-2009 Dan Gohman <gohman@apple.com>

Use getSCEV instead of getUnknown to create a SCEV for a
Constant. This lets ConstantInts be handled as SCEVConstant instead
of SCEVUnknown, as getUnknown no longer has special-case code for
Constant

Use getSCEV instead of getUnknown to create a SCEV for a
Constant. This lets ConstantInts be handled as SCEVConstant instead
of SCEVUnknown, as getUnknown no longer has special-case code for
ConstantInt and friends. This usually doesn't affect the final
output, since the constants end up getting folded later, but it
does make intermediate expressions more obvious in many cases.

llvm-svn: 74459

show more ...


# 19d2417c 29-Jun-2009 Dan Gohman <gohman@apple.com>

Don't cache PHI exit values from exhaustive evaluations, because
an individual exhaustive evaluation reflects only the exit value
implied by an individual exit, which may differ from the actual
exit

Don't cache PHI exit values from exhaustive evaluations, because
an individual exhaustive evaluation reflects only the exit value
implied by an individual exit, which may differ from the actual
exit value of the loop if there are other exits. This fixes PR4477.

llvm-svn: 74447

show more ...


# e00beaae 29-Jun-2009 Dan Gohman <gohman@apple.com>

Simplify this code, and avoid using APInt(). This fixes
(otherwise harmless) uninitialized value warnings that
Duncan found with gcc-4.4.

llvm-svn: 74437


# c5c85c0f 27-Jun-2009 Dan Gohman <gohman@apple.com>

Convert ScalarEvolution to use BumpPtrAllocator and FoldingSet, instead
of a team of individual allocations and a team of std::maps.

llvm-svn: 74393


# cc030b7e 26-Jun-2009 Dan Gohman <gohman@apple.com>

Fix ScalarEvolution::getAddRecExpr's code which canonicalized the
nesting order of nested AddRec expressions to skip the transformation
if it would introduce an AddRec with operands not loop-invarian

Fix ScalarEvolution::getAddRecExpr's code which canonicalized the
nesting order of nested AddRec expressions to skip the transformation
if it would introduce an AddRec with operands not loop-invariant
with respect to its loop.

llvm-svn: 74343

show more ...


# 06a4e273 26-Jun-2009 Dan Gohman <gohman@apple.com>

Fix SCEVAddRecExpr::isLoopInvariant to test if all of its operands
are loop invariant, not just the start operand.

llvm-svn: 74338


# abd17096 24-Jun-2009 Dan Gohman <gohman@apple.com>

Minor whitespace cleanups.

llvm-svn: 74074


# f57bdb75 24-Jun-2009 Dan Gohman <gohman@apple.com>

Simplify [su]max(MAX, n) to MAX. This comes up in loop tripcount
computations in loops with multiple exits.

Adjust the testcase for PR4436 so that the relevant portion isn't
optimized away.

llvm-sv

Simplify [su]max(MAX, n) to MAX. This comes up in loop tripcount
computations in loops with multiple exits.

Adjust the testcase for PR4436 so that the relevant portion isn't
optimized away.

llvm-svn: 74073

show more ...


# ce973df2 24-Jun-2009 Dan Gohman <gohman@apple.com>

Delete some orphaned comments, fix some 80-column violations,
and tidy up a few other formatting issues.

llvm-svn: 74060


# f19aeec3 24-Jun-2009 Dan Gohman <gohman@apple.com>

Extend ScalarEvolution's multiple-exit support to compute exact
trip counts in more cases.

Generalize ScalarEvolution's isLoopGuardedByCond code to recognize
And and Or conditions, splitting the cod

Extend ScalarEvolution's multiple-exit support to compute exact
trip counts in more cases.

Generalize ScalarEvolution's isLoopGuardedByCond code to recognize
And and Or conditions, splitting the code out into an
isNecessaryCond helper function so that it can evaluate Ands and Ors
recursively, and make SCEVExpander be much more aggressive about
hoisting instructions out of loops.

test/CodeGen/X86/pr3495.ll has an additional instruction now, but
it appears to be due to an arbitrary register allocation difference.

llvm-svn: 74048

show more ...


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