History log of /external/llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
dce4a407a24b04eebc6a376f8e62b41aaa7b071f 29-May-2014 Stephen Hines <srhines@google.com> Update LLVM for 3.5 rebase (r209712).

Change-Id: I149556c940fb7dc92d075273c87ff584f400941f
/external/llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h
36b56886974eae4f9c5ebc96befd3e7bfe5de338 24-Apr-2014 Stephen Hines <srhines@google.com> Update to LLVM 3.5a.

Change-Id: Ifadecab779f128e62e430c2b4f6ddd84953ed617
/external/llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h
5230ad61fd35d3006e7764c3152d28e2e68c288f 12-Nov-2013 Sebastian Pop <spop@codeaurora.org> delinearization of arrays

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@194527 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h
b8fc659c8eb36796531d55fa78cbb1957895aa9b 12-Nov-2013 Sebastian Pop <spop@codeaurora.org> remove virtual methods in SCEVApplyRewriter and SCEVParameterRewriter

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@194526 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h
b075ed3b90fa2a520aeb15802fddf3460d865f91 16-Feb-2013 Matt Beaumont-Gay <matthewbg@google.com> Pacify -Wnon-virtual-dtor

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175324 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h
0deff9fbeb3a6a68f224282f8c6bd277d4c0c78c 15-Feb-2013 Sebastian Pop <spop@codeaurora.org> capitalize SCEV to match the current naming convention

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175302 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h
5661fcdde295645e5c6f982a25225e682727b5b1 15-Feb-2013 Sebastian Pop <spop@codeaurora.org> add ScevApplyRewriter

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175294 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h
a9e4d3f37590bb326e6c5a3ea02ee1aa3db681ea 15-Feb-2013 Sebastian Pop <spop@codeaurora.org> add SCEVParameterRewriter

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175293 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h
674be02d525d4e24bc6943ed9274958c580bcfbc 10-Jan-2013 Jakub Staszak <kubastaszak@gmail.com> Fix include guards so they exactly match file names.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172025 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h
255f89faee13dc491cb64fbeae3c763e7e2ea4e6 03-Dec-2012 Chandler Carruth <chandlerc@gmail.com> Sort the #include lines for the include/... tree with the script.

AKA: Recompile *ALL* the source code!

This one went much better. No manual edits here. I spot-checked for
silliness and grep-checked for really broken edits and everything seemed
good. It all still compiles. Yell if you see something that looks goofy.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169133 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h
ed84062812c7b8a82d0e8128a22aa1aa07a14d79 12-Oct-2012 Sean Silva <silvas@purdue.edu> Remove unnecessary classof()'s

isa<> et al. automatically infer when the cast is an upcast (including a
self-cast), so these are no longer necessary.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165767 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h
94c22716d60ff5edf6a98a3c67e0faa001be1142 27-Sep-2012 Sylvestre Ledru <sylvestre@debian.org> Revert 'Fix a typo 'iff' => 'if''. iff is an abreviation of if and only if. See: http://en.wikipedia.org/wiki/If_and_only_if Commit 164767

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@164768 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h
7e2c793a2b5c746344652b6579e958ee42fafdcc 27-Sep-2012 Sylvestre Ledru <sylvestre@debian.org> Fix a typo 'iff' => 'if'

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@164767 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h
18a1b616ea123548b61a037c4f4fea4133aac1b5 18-Jul-2012 Andrew Trick <atrick@apple.com> SCEVTraversal: Add a visited set.

Expression trees may be DAGs. Make sure traversal has linear complexity.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@160426 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h
8b7036b0f4ae3f76ad24a6b9bc2d874620406306 14-Jul-2012 Andrew Trick <atrick@apple.com> Factor SCEV traversal code so I can use it elsewhere. No functionality.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@160203 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h
b0934ab7d811e23bf530371976b8b35f3242169c 19-Feb-2012 Ahmed Charles <ace2001ac@gmail.com> Remove dead code. Improve llvm_unreachable text. Simplify some control flow.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@150918 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h
db125cfaf57cc83e7dd7453de2d509bc8efd0e5e 18-Jul-2011 Chris Lattner <sabre@nondot.org> land David Blaikie's patch to de-constify Type, with a few tweaks.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135375 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h
3228cc259b5ca00e46af36da369a451f5736cbf4 14-Mar-2011 Andrew Trick <atrick@apple.com> Added SCEV::NoWrapFlags to manage unsigned, signed, and self wrap
properties.
Added the self-wrap flag for SCEV::AddRecExpr.
A slew of temporary FIXMEs indicate the intention of the no-self-wrap flag
without changing behavior in this revision.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127590 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h
4ce32db913beb6ae27df2fa0a9db5d68fd4889d2 17-Nov-2010 Dan Gohman <gohman@apple.com> Make SCEV::getType() and SCEV::print non-virtual. Move SCEV::hasOperand
to ScalarEvolution. Delete SCEV::~SCEV. SCEV is no longer virtual.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119578 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h
dc0e8fb9f9512622f55f73e1a434caa5c0915694 17-Nov-2010 Dan Gohman <gohman@apple.com> Move SCEV::dominates and properlyDominates to ScalarEvolution.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119570 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h
17ead4ff4baceb2c5503f233d0288d363ae44165 17-Nov-2010 Dan Gohman <gohman@apple.com> Move SCEV::isLoopInvariant and hasComputableLoopEvolution to be member
functions of ScalarEvolution, in preparation for memoization and
other optimizations.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119562 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h
203a7239ae928568fe7a34c03ead4b1b3133870e 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119554 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h
7d0e3c01f35fae3c448761c21477faa622872044 16-Aug-2010 Dan Gohman <gohman@apple.com> Revert r111031. The way LLVM defines loop invariance, the property of an
expression being loop invariant is not equivalent to the property of
properly dominating the loop header.

Other optimizations have also made this optimization less important.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111160 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h
2f199f9952b9dd62b5a0d0f4350b8fa780ebb9cc 16-Aug-2010 Dan Gohman <gohman@apple.com> Move SCEVNAryExpr's virtual member functions out of line, and convert
them to iterators.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111140 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h
ef0bedaba7c1466af4275e720a73f3421b9b5631 13-Aug-2010 Dan Gohman <gohman@apple.com> Implement hasComputableLoopEvolution for Add, Mul, and Trunc operators,
since they can support trivial implementations. This avoids potentially
expensive traversals of the operands.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111031 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h
ab37f50838350e1104579fbd1f7c8820473485a5 03-Aug-2010 Dan Gohman <gohman@apple.com> Make SCEVUnknown a CallbackVH, so that it can be notified directly
of Value deletions and RAUWs, instead of relying on ScalarEvolution's
Scalars map being notified, as that's complicated at best, and
insufficient in general.

This means SCEVUnknown needs a non-trivial destructor, so introduce
a mechanism to allow ScalarEvolution to locate all the SCEVUnknowns.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110086 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h
e6cbfa6b09e3e9ddf18449d1b64793e24af27c6b 29-Jul-2010 Eric Christopher <echristo@apple.com> Speculatively revert r109705 since it seems to be causing some build bot
angst.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109718 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h
c6743207e20904008d2de016adfa6b0a9355c0e7 29-Jul-2010 Dan Gohman <gohman@apple.com> Factor out some of the code for updating old SCEVUnknown values, and
extend it to handle the case where multiple RAUWs affect a single
SCEVUnknown.

Add a ScalarEvolution unittest to test for this situation.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109705 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h
dc7a235363166a61e81986c534fe11ceb44109fc 28-Jul-2010 Dan Gohman <gohman@apple.com> Add some extra friend declarations to fix a gcc-4.0 compile error.
This is a temporary fix, until more elaborate changes are ready.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109593 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h
f374ba2bcd3a3b993d6b3fcd9f70a29973f93175 28-Jul-2010 Dan Gohman <gohman@apple.com> Add a comment.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109565 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h
3bf63768e574a2065de1aebba12f6c2e80f4fb16 18-Jun-2010 Dan Gohman <gohman@apple.com> Revert r106304 (105548 and friends), which are the SCEVComplexityCompare
optimizations. There is still some nondeterminism remaining.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106306 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h
78db186d2dbaf4745f7e4beab4029db40856b54b 18-Jun-2010 Dan Gohman <gohman@apple.com> Reapply 105540, 105542, and 105548, and revert r105732.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106304 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h
1d451dff63e9c4241794a3645dfe4ee67efe5b22 09-Jun-2010 Evan Cheng <evan.cheng@apple.com> Revert 105540, 105542, 105544, 105546, and 105548 to unbreak bootstrapping.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105740 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h
fd447eff22637c3d47ce709468ab50b6243d0e4c 07-Jun-2010 Dan Gohman <gohman@apple.com> The FoldingSet hash data includes pointer values, so it isn't
determinstic. Instead, give SCEV objects an arbitrary sequence
number.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105548 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h
c93b4cff89d85a13d4eaf1551af9fab276b88450 18-Mar-2010 Dan Gohman <gohman@apple.com> Add the ability to "intern" FoldingSetNodeID data into a
BumpPtrAllocator-allocated region to allow it to be stored in a more
compact form and to avoid the need for a non-trivial destructor call.

Use this new mechanism in ScalarEvolution instead of
FastFoldingSetNode to avoid leaking memory in the case where a
FoldingSetNodeID uses heap storage, and to reduce overall memory
usage.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98829 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h
f9e64729afec646fe93b51417e66e552e8e630a4 18-Mar-2010 Dan Gohman <gohman@apple.com> Reapply r98755 with a thinko which miscompiled gengtype fixed.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98793 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h
ebf78f18df84a63295c748148f54f091234ed099 17-Mar-2010 Dan Gohman <gohman@apple.com> Revert 98755, which may be causing trouble.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98762 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h
0afc29c3e6ba240ee187fd34ba1ecbe1175c879e 17-Mar-2010 Dan Gohman <gohman@apple.com> Change SCEVNAryExpr's operand array from a SmallVector to a plain
pointer and length, and allocate the arrays in ScalarEvolution's
BumpPtrAllocator, so that they get released when their owning
SCEV gets released. SCEVs are immutable, so they don't need to worry
about operand array resizing. This fixes a memory leak reported
in PR6637.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98755 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h
39125d8ef94cbadccd7339d3344e114dedaab12c 13-Feb-2010 Dan Gohman <gohman@apple.com> Override dominates and properlyDominates for SCEVAddRecExpr, as a
SCEVAddRecExpr doesn't necessarily dominate blocks merely dominated
by all of its operands. This fixes an abort compiling 403.gcc.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96056 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h
c056baed8704bd715ee58e5dfe724c255e68abbd 10-Feb-2010 Dan Gohman <gohman@apple.com> Minor code simplification.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95780 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h
4f8eea82d8967cffa85b9df6c9255717b059009e 01-Feb-2010 Dan Gohman <gohman@apple.com> Generalize target-independent folding rules for sizeof to handle more
cases, and implement target-independent folding rules for alignof and
offsetof. Also, reassociate reassociative operators when it leads to
more folding.

Generalize ScalarEvolution's isOffsetOf to recognize offsetof on
arrays. Rename getAllocSizeExpr to getSizeOfExpr, and getFieldOffsetExpr
to getOffsetOfExpr, for consistency with analagous ConstantExpr routines.

Make the target-dependent folder promote GEP array indices to
pointer-sized integers, to make implicit casting explicit and exposed
to subsequent folding.

And add a bunch of testcases for this new functionality, and a bunch
of related existing functionality.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94987 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h
0f5efe56258f8cd6ceff4d7955a5d80144cd9cb0 28-Jan-2010 Dan Gohman <gohman@apple.com> Remove SCEVAllocSizeExpr and SCEVFieldOffsetExpr, and in their place
use plain SCEVUnknowns with ConstantExpr::getSizeOf and
ConstantExpr::getOffsetOf constants. This eliminates a bunch of
special-case code.

Also add code for pattern-matching these expressions, for clients that
want to recognize them.

Move ScalarEvolution's logic for expanding array and vector sizeof
expressions into an element count times the element size, to expose
the multiplication to subsequent folding, into the regular constant
folder.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94737 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h
2b98bd23cb0bfa0dc09e1bcaef83a0e606e6ec1a 19-Jan-2010 Dan Gohman <gohman@apple.com> Make SCEVAddRecExpr's getType return a pointer type when the add
has a pointer member. This helps reduce unnecessary bitcasting
and uglygeps.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93939 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h
3645b01002e7ac244c1f3d163e5e350df21d869d 09-Oct-2009 Dan Gohman <gohman@apple.com> Add the ability to track HasNSW and HasNUW on more kinds of SCEV expressions.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83601 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h
6e70e31810464289a9e9b37e0345847e3ca5d5cf 27-Sep-2009 Dan Gohman <gohman@apple.com> Add a properlyDominates member function to ScalarEvolution.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82898 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h
75144f93eb7e4dbf22d308d21581ae255dd520c6 15-Sep-2009 Dan Gohman <gohman@apple.com> Fix apostrophos.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81856 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h
5078f84c82814e4d33846f9ef54281619d362f8a 20-Aug-2009 Dan Gohman <gohman@apple.com> Rename hasNoUnsignedOverflow and hasNoSignedOverflow to hasNoUnsignedWrap
and hasNoSignedWrap, for consistency with the nuw and nsw properties.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79539 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h
c40f17b08774c2dcc5787fd83241e3c64ba82974 18-Aug-2009 Dan Gohman <gohman@apple.com> Generalize ScalarEvolution to be able to analyze GEPs when
TargetData is not present. It still uses TargetData when available.
This generalization also fixed some limitations in the TargetData
case; the attached testcase covers this.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79344 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h
fef8bb24de86ff41d09a7787c6c52b058a853e39 25-Jul-2009 Dan Gohman <gohman@apple.com> Instead of eagerly creating new SCEVs to replace all SCEVs that are
affected after a PHI node has been analyzed, just remove affected
SCEVs from the Scalars map, so that they'll be (lazily) recreated as
needed. This avoids creating SCEV objects that aren't actually needed.

Also, rewrite the associated def-use walking code to be non-recursive
and to continue traversing past Instructions that don't have an
entry in the Scalars map.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77032 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h
d3ff30455707d479dfb883b3ea12794bb37b91b3 24-Jul-2009 Dan Gohman <gohman@apple.com> Give SCEVAddRecExpr no-signed-overflow and no-unsigned-overflow flags.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76928 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h
c23197a26f34f559ea9797de51e187087c039c42 14-Jul-2009 Torok Edwin <edwintorok@gmail.com> llvm_unreachable->llvm_unreachable(0), LLVM_UNREACHABLE->llvm_unreachable.
This adds location info for all llvm_unreachable calls (which is a macro now) in
!NDEBUG builds.
In NDEBUG builds location info and the message is off (it only prints
"UREACHABLE executed").


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75640 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h
c050fd94c29e31414591e3a18aa20049e6b3a84f 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75494 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h
d0cca2415099e80bd11e6b2090896719b07afd93 11-Jul-2009 Nick Lewycky <nicholas@mxc.ca> Revert r75252 which was causing some crashes at compile time.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75384 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h
c25e7581b9b8088910da31702d4ca21c4734c6d7 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 builds.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75379 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h
1b342583f6fc42f548912632f6aa24fc6e11986a 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75252 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h
0bba49cebc50c7bd4662a4807bcb3ee7f42cb470 07-Jul-2009 Dan Gohman <gohman@apple.com> Change all SCEV* to SCEV *.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74918 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h
1c34375f79b7786351c27ae45f0412cfdfa004ed 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74393 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h
753ad615f96c3d56d6f17983bdba88012e88677c 22-Jun-2009 Owen Anderson <resistor@mac.com> Remove the parent pointer from SCEV, since it did not end up being needed.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73907 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h
372b46cad9f745859f542f9d2216991585ae83f4 22-Jun-2009 Owen Anderson <resistor@mac.com> SCEVHandle is no more!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73906 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h
08367b61638b4d446ebab69e2aad6431daa77ba7 22-Jun-2009 Owen Anderson <resistor@mac.com> Banish global state from ScalarEvolution! SCEV uniquing is now done by tables attached to the ScalarEvolution pass.
This also throws out the SCEV reference counting scheme, as the the SCEVs now have a lifetime controlled by the
ScalarEvolution pass.

Note that SCEVHandle is now a no-op, and will be remove in a future commit.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73892 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h
4a7893b4527819aae229f539ab9c3eeecc6a10e2 19-Jun-2009 Owen Anderson <resistor@mac.com> Add a parent pointer to SCEV, in preparation for getting rid of the global uniquing tables. No functionality change.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73728 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h
a82752c9eb5fbdd1b7276fde7349ac9453eb5a75 15-Jun-2009 Dan Gohman <gohman@apple.com> Convert several parts of the ScalarEvolution framework to use
SmallVector instead of std::vector.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73357 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h
014d53595c06a77d0f06f92ef8a7ab15e7e05c4a 02-Jun-2009 Dan Gohman <gohman@apple.com> Delete an unnecessary forward declaration.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72740 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h
d9480d0f6875d8aa3a0d91942d24f0ee416b1ff1 26-May-2009 Dan Gohman <gohman@apple.com> Give SCEVNaryExpr a doxygen comment.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72423 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h
39592233304acbbeea8c53bac2b6a822a63a4c4b 19-May-2009 Dan Gohman <gohman@apple.com> Update a comment to reflect changes in the surrounding code.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72051 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h
ecb403a9d3a340009c266d05cfca2bd778c7b156 07-May-2009 Dan Gohman <gohman@apple.com> Factor out a common base class between SCEVCommutativeExpr and
SCEVAddRecExpr. This eliminates redundant code for visiting
all the operands of an expression.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@71157 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h
1e59aa1332b67256dc0e76237eab7f6dd21a25b4 29-Apr-2009 Dan Gohman <gohman@apple.com> Add some more doxygen comments to SCEVAddRec.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70354 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h
84923602fdc2a81957e5dee178d5737ad8e72f55 21-Apr-2009 Dan Gohman <gohman@apple.com> Factor out a common base class from SCEVTruncateExpr, SCEVZeroExtendExpr,
and SCEVSignExtendExpr.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69649 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h
b7ef72963b2215ca23c27fa8ea777bada06994d0 21-Apr-2009 Dan Gohman <gohman@apple.com> Convert ScalarEvolution to use raw_ostream instead of OStream.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69640 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h
890f92b744fb074465bc2b7006ee753a181f62a4 18-Apr-2009 Dan Gohman <gohman@apple.com> Use more const qualifiers with SCEV interfaces.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69450 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h
5a6c1a840ad343c0ed2fa54a0edb50b61f828f0f 17-Feb-2009 Evan Cheng <evan.cheng@apple.com> Strengthen the "non-constant stride must dominate loop preheader" check.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@64703 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h
789558db70d9513a017c11c5be30945839fdff1c 13-Jan-2009 Nick Lewycky <nicholas@mxc.ca> Wind SCEV back in time, to Nov 18th. This 'fixes' PR3275, PR3294, PR3295,
PR3296 and PR3302.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62160 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h
48dd644109d97a76288f0b5045f6aa6a3c075732 02-Dec-2008 Nick Lewycky <nicholas@mxc.ca> Add a new SCEV representing signed division.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60407 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h
b0b046848faad8e87d02c82d03b5b7b1ba74e041 09-Jul-2008 Nick Lewycky <nicholas@mxc.ca> Remove getValueRange from SCEV. It wasn't doing anything there anyways, and a
more complete version is now available from the LoopVR pass.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53269 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h
17f1972c770dc18f5c7c3c95776b4d62ae9e121d 22-Jun-2008 Dan Gohman <gohman@apple.com> Use SCEVAddRecExpr::isAffine.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52614 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h
34cd4a484e532cc463fd5a4bf59b88d13c5467c1 05-May-2008 Evan Cheng <evan.cheng@apple.com> Fix more -Wshorten-64-to-32 warnings.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50659 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h
ae9f3a3b7c915f725aef5a7250e88eaeddda03c6 20-Feb-2008 Anton Korobeynikov <asl@math.spbu.ru> Unbreak build with gcc 4.3: provide missed includes and silence most annoying warnings.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47367 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h
3e6307698084e7adfc10b739442ae29742beefd0 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).

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().


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47360 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h
e3320a1bcce3f6653e109cc86ee1011b0a61d808 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 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!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46955 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h
7ed47a13356daed2a34cd2209a31f92552e3bdd8 29-Dec-2007 Chris Lattner <sabre@nondot.org> Don't attribute in file headers anymore. See llvmdev for the
discussion of this change. Boy are my fingers tired. ;-)



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45411 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h
c54c561c9f7270c055dd7ba75a3a003b771a42d9 25-Nov-2007 Nick Lewycky <nicholas@mxc.ca> Add new SCEV, SCEVSMax. This allows LLVM to analyze do-while loops.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44319 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h
adf3eab7735741926c67e6fc12b952500c45a9ba 19-Nov-2007 Dan Gohman <gohman@apple.com> Add explicit keywords.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44234 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h
4e1a0e386c6861a697b0cd2e13a33ac4dd60e17d 15-Nov-2007 Anton Korobeynikov <asl@math.spbu.ru> Reverted r44163 per request


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44177 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h
65e2da3b4d6925bf30693595a524a3a43acc1f17 15-Nov-2007 Nick Lewycky <nicholas@mxc.ca> Fix handling of overflow in loop calculation by adding new UDiv SCEV. This SCEV
is disabled in the sense that it will refuse to create one from a UDiv
instruction, until the code is better tested.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44163 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h
246b2564d3bbbafe06ebf6a67745cd24141b5cb4 22-Oct-2007 Dan Gohman <gohman@apple.com> Move the SCEV object factors from being static members of the individual
SCEV subclasses to being non-static member functions of the ScalarEvolution
class.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43224 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h
eefdebe002ede066bf80859e72aec831cfd1d92d 16-Jul-2007 Nick Lewycky <nicholas@mxc.ca> Handle decrementing loops properly. Fixes PR1533.

Always pass the constant as the second parameter to HowManyLessThans.

Remove obsolete "isSigned" parameter.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@39893 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h
9a6ae965d69b131d692de8fc69545b6c7aaea0b2 09-Jul-2007 Dan Gohman <gohman@apple.com> Move the APInt form of SCEVUnknown::getIntegerSCEV to SCEVConstant::get, and
use SCEVConstant::get instead of SCEVUnknown::get when constructing a SCEV
for a ConstantInt.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@38457 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h
d19534add90a2a894af61523b830887097bb780b 15-Jun-2007 Dan Gohman <gohman@apple.com> Add a SCEV class and supporting code for sign-extend expressions.

This created an ambiguity for expandInTy to decide when to use
sign-extension or zero-extension, but it turns out that most of its callers
don't actually need a type conversion, now that LLVM types don't have
explicit signedness. Drop expandInTy in favor of plain expand, and change
the few places that actually need a type conversion to do it themselves.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37591 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h
35fa43907e2ea751ad35bfbaab8c4d3511422c14 01-Mar-2007 Reid Spencer <rspencer@reidspencer.com> Make it possible to create an SCEVUnknown from an APInt as well as an int.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34816 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h
e4d87aa2de6e52952dca73716386db09aad5a8fd 23-Dec-2006 Reid Spencer <rspencer@reidspencer.com> For PR950:
This patch removes the SetCC instructions and replaces them with the ICmp
and FCmp instructions. The SetCondInst instruction has been removed and
been replaced with ICmpInst and FCmpInst.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32751 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h
5c7e326585f3a543388ba871c3425f7664cd9143 17-Dec-2006 Bill Wendling <isanbard@gmail.com> Added an automatic cast to "std::ostream*" etc. from OStream. We then can
rework the hacks that had us passing OStream in. We pass in std::ostream*
instead, check for null, and then dispatch to the correct print() method.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32636 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h
1628cec4d7fce310d9cde0bcc73997e5a71692c4 26-Oct-2006 Reid Spencer <rspencer@reidspencer.com> For PR950:
Make necessary changes to support DIV -> [SUF]Div. This changes llvm to
have three division instructions: signed, unsigned, floating point. The
bytecode and assembler are bacwards compatible, however.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31195 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h
60a05cc118763c680834a61280f48530482a1f86 01-Apr-2006 Chris Lattner <sabre@nondot.org> Fix Transforms/IndVarsSimplify/2006-03-31-NegativeStride.ll and
PR726 by performing consistent signed division, not consistent unsigned
division when evaluating scev's. Do not touch udivs.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27326 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h
9769ab22265b313171d201b5928688524a01bd87 21-Apr-2005 Misha Brukman <brukman+llvm@gmail.com> Remove trailing whitespace


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21408 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h
803513b364e27d303285d396fd8ee5b32149962a 26-Feb-2005 Chris Lattner <sabre@nondot.org> Fix a case where we incorrectly returned hasComputableLoopEvolution for
a ternary commutative expr. Remove FIXME that does not need to be fixed
(can't happen).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20335 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h
afc0dc7184cf73ff7ac64e516284fbe0c7023ba4 13-Feb-2005 Chris Lattner <sabre@nondot.org> Add a new replaceSymbolicValuesWithConcrete method to the SCEV class,
adjust const'ness a bit to be more correct.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20145 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h
0ebf428e48ab258012d94d8efa05a4ae5932e2db 27-Apr-2004 Chris Lattner <sabre@nondot.org> Fix warning


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13189 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h
2cdf0a7a32f08674562b0cf6b071b96b36421f87 23-Apr-2004 Chris Lattner <sabre@nondot.org> Remove the SCEV::expandCodeFor method, add a new SCEVVisitor class.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13133 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h
4950e88e0fa7c44c0b54e2f64ddf57415ed83d40 15-Apr-2004 Chris Lattner <sabre@nondot.org> Publically export all of these classes from the ScalarEvolutions.cpp file


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12957 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h