llvm-6502/lib/Analysis
Dan Gohman 2385e0e22c Create a ScalarEvolution-based AliasAnalysis implementation.
This is a simple AliasAnalysis implementation which works by making
ScalarEvolution queries. ScalarEvolution has a more complete understanding
of arithmetic than BasicAA's collection of ad-hoc checks, so it handles
some cases that BasicAA misses, for example p[i] and p[i+1] within the
same iteration of a loop.

This is currently experimental. It may be that the main use for this pass
will be to help find cases where BasicAA can be profitably extended, or
to help in the development of the overall AliasAnalysis infrastructure,
however it's also possible that it could grow up to become a directly
useful pass.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80098 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-26 14:53:06 +00:00
..
IPA Fix -Asserts warnings. 2009-08-23 10:29:55 +00:00
AliasAnalysis.cpp Make AliasAnalysis and related classes use 2009-07-25 00:48:42 +00:00
AliasAnalysisCounter.cpp eliminate the std::ostream form of WriteAsOperand and update clients. 2009-08-23 05:17:37 +00:00
AliasAnalysisEvaluator.cpp Fix a missing newline, now that Value's operator<< doesn't add one of its own. 2009-08-26 14:34:12 +00:00
AliasDebugger.cpp Refactor my previous change to maintain the distinction between AliasAnalysis and BasicAliasAnalysis. This involves some wider changes because it 2009-02-05 23:36:27 +00:00
AliasSetTracker.cpp eliminate the std::ostream form of WriteAsOperand and update clients. 2009-08-23 05:17:37 +00:00
Analysis.cpp Tidy #includes. 2009-08-11 16:02:12 +00:00
BasicAliasAnalysis.cpp Push LLVMContexts through the IntegerType APIs. 2009-08-13 21:58:54 +00:00
CaptureTracking.cpp Push LLVMContexts through the IntegerType APIs. 2009-08-13 21:58:54 +00:00
CFGPrinter.cpp Make LLVM command-line tools overwrite their output files without -f. 2009-08-25 15:34:52 +00:00
CMakeLists.txt Add a basic static ProfileInfo provider (ProfileEstimatorPass). 2009-08-08 18:44:18 +00:00
ConstantFolding.cpp Don't assume that the operand of an inttoptr is an pointer-sized integer. 2009-08-21 18:27:26 +00:00
DbgInfoPrinter.cpp Revert 79977. It causes llvm-gcc bootstrap failures on some platforms. 2009-08-26 05:01:18 +00:00
DebugInfo.cpp Revert 79977. It causes llvm-gcc bootstrap failures on some platforms. 2009-08-26 05:01:18 +00:00
InstCount.cpp Change Pass::print to take a raw ostream instead of std::ostream, 2009-08-23 06:03:38 +00:00
Interval.cpp Change Pass::print to take a raw ostream instead of std::ostream, 2009-08-23 06:03:38 +00:00
IntervalPartition.cpp Change Pass::print to take a raw ostream instead of std::ostream, 2009-08-23 06:03:38 +00:00
IVUsers.cpp remove a few dead insertion methods. 2009-08-24 02:39:26 +00:00
LibCallAliasAnalysis.cpp LibCallAliasAnalysis doesn't use TargetData. 2009-07-31 20:56:29 +00:00
LibCallSemantics.cpp Remove Value::getNameLen 2009-07-26 08:34:35 +00:00
LiveValues.cpp Delete an obsolete sentance from a comment. 2009-05-31 16:18:57 +00:00
LoopDependenceAnalysis.cpp remove a few dead insertion methods. 2009-08-24 02:39:26 +00:00
LoopInfo.cpp remove uses of llvm/Support/Streams.h. 2009-08-23 07:33:14 +00:00
LoopPass.cpp convert LoopInfo.h and GraphWriter.h to use raw_ostream 2009-08-23 07:19:13 +00:00
LoopVR.cpp Change Pass::print to take a raw ostream instead of std::ostream, 2009-08-23 06:03:38 +00:00
Makefile Removed trailing whitespace from Makefiles. 2009-01-09 16:44:42 +00:00
MemoryDependenceAnalysis.cpp Make TargetData optional in MemoryDependenceAnalysis. 2009-07-31 20:53:12 +00:00
PointerTracking.cpp remove a few dead insertion methods. 2009-08-24 02:39:26 +00:00
PostDominators.cpp Change Pass::print to take a raw ostream instead of std::ostream, 2009-08-23 06:03:38 +00:00
ProfileEstimatorPass.cpp Add a basic static ProfileInfo provider (ProfileEstimatorPass). 2009-08-08 18:44:18 +00:00
ProfileInfo.cpp Moved isDeclaration() check further down to allow for function counts for 2009-08-26 13:33:09 +00:00
ProfileInfoLoader.cpp Read profile files as binary as proposed in 2009-08-25 12:53:27 +00:00
ProfileInfoLoaderPass.cpp remove uses of llvm/Support/Streams.h. 2009-08-23 07:33:14 +00:00
ScalarEvolution.cpp Don't assume that two identical instructions that read from memory 2009-08-25 17:56:57 +00:00
ScalarEvolutionAliasAnalysis.cpp Create a ScalarEvolution-based AliasAnalysis implementation. 2009-08-26 14:53:06 +00:00
ScalarEvolutionExpander.cpp Various comment and whitespace cleanups. 2009-08-20 16:42:55 +00:00
SparsePropagation.cpp eliminate the "Value" printing methods that print to a std::ostream. 2009-08-23 04:37:46 +00:00
Trace.cpp eliminate the "Value" printing methods that print to a std::ostream. 2009-08-23 04:37:46 +00:00
ValueTracking.cpp Use hasDefinitiveInitializer() instead of testing the same thing 2009-08-19 18:20:44 +00:00