llvm-6502/lib/Analysis
Nick Lewycky dd643f26c4 Add a utility function that detects whether a loop is guaranteed to be finite.
Use it to safely handle less-than-or-equals-to exit conditions in loops. These
also occur when the loop exit branch is exit on true because SCEV inverses the
icmp predicate.

Use it again to handle non-zero strides, but only with an unsigned comparison
in the exit condition.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59528 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-18 15:10:54 +00:00
..
IPA Teach internalize to preserve the callgraph. 2008-10-03 07:36:09 +00:00
AliasAnalysis.cpp Fix a copy+paste error in a comment. 2008-05-30 00:02:02 +00:00
AliasAnalysisCounter.cpp Tidy up several unbeseeming casts from pointer to intptr_t. 2008-09-04 17:05:41 +00:00
AliasAnalysisEvaluator.cpp Tidy up several unbeseeming casts from pointer to intptr_t. 2008-09-04 17:05:41 +00:00
AliasDebugger.cpp Tidy up several unbeseeming casts from pointer to intptr_t. 2008-09-04 17:05:41 +00:00
AliasSetTracker.cpp Tidy up several unbeseeming casts from pointer to intptr_t. 2008-09-04 17:05:41 +00:00
Analysis.cpp Expose Function::viewCFG and Function::viewCFGOnly to bindings. 2008-03-31 16:22:09 +00:00
BasicAliasAnalysis.cpp Factorize code: remove variants of "strip off 2008-10-01 15:25:41 +00:00
CFGPrinter.cpp Rationalize the names of passes that print information: 2008-09-23 12:47:39 +00:00
CMakeLists.txt add new file 2008-11-10 02:58:28 +00:00
ConstantFolding.cpp Don't try to create a mask when we don't need one. Fixes a crash. 2008-10-24 06:14:27 +00:00
DebugInfo.cpp Move getCastToEmpty out of DIDescriptor into DIFactory. It is an 2008-11-10 04:10:34 +00:00
EscapeAnalysis.cpp Trim #includes. 2008-10-16 20:18:31 +00:00
InstCount.cpp Tidy up several unbeseeming casts from pointer to intptr_t. 2008-09-04 17:05:41 +00:00
Interval.cpp Remove attribution from file headers, per discussion on llvmdev. 2007-12-29 20:36:04 +00:00
IntervalPartition.cpp Tidy up several unbeseeming casts from pointer to intptr_t. 2008-09-04 17:05:41 +00:00
LibCallAliasAnalysis.cpp Expose a public interface to this pass. 2008-06-05 23:45:18 +00:00
LibCallSemantics.cpp Add a new interface for describing the behavior of library calls. This 2008-05-07 18:21:13 +00:00
LoopInfo.cpp Remove uses of llvm/System/IncludeFile.h that are no longer needed. 2008-05-06 01:32:53 +00:00
LoopPass.cpp Tidy up several unbeseeming casts from pointer to intptr_t. 2008-09-04 17:05:41 +00:00
LoopVR.cpp Avoid crashing if instruction is not part of a loop. 2008-10-27 10:18:45 +00:00
Makefile remove attribution from lib Makefiles. 2007-12-29 20:09:26 +00:00
MemoryDependenceAnalysis.cpp Fix comment typo. 2008-09-11 19:41:10 +00:00
PostDominators.cpp Add newline at end of file. 2008-05-29 21:05:16 +00:00
ProfileInfo.cpp Tidy up several unbeseeming casts from pointer to intptr_t. 2008-09-04 17:05:41 +00:00
ProfileInfoLoader.cpp Remove attribution from file headers, per discussion on llvmdev. 2007-12-29 20:36:04 +00:00
ProfileInfoLoaderPass.cpp Tidy up several unbeseeming casts from pointer to intptr_t. 2008-09-04 17:05:41 +00:00
ScalarEvolution.cpp Add a utility function that detects whether a loop is guaranteed to be finite. 2008-11-18 15:10:54 +00:00
ScalarEvolutionExpander.cpp do not use deprecated interfaces 2008-10-13 10:21:17 +00:00
SparsePropagation.cpp "This patch adds a virtual call to AbstractLatticeFunction to derive a 2008-08-09 17:23:35 +00:00
Trace.cpp Remove attribution from file headers, per discussion on llvmdev. 2007-12-29 20:36:04 +00:00
ValueTracking.cpp Re-apply 55137 with fixes. 2008-10-27 23:24:03 +00:00