llvm-6502/include/llvm/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
..
AliasAnalysis.h Make AliasAnalysis and related classes use 2009-07-25 00:48:42 +00:00
AliasSetTracker.h eliminate the std::ostream form of WriteAsOperand and update clients. 2009-08-23 05:17:37 +00:00
CallGraph.h Change Pass::print to take a raw ostream instead of std::ostream, 2009-08-23 06:03:38 +00:00
CaptureTracking.h
CFGPrinter.h
ConstantFolding.h Make LLVMContext and LLVMContextImpl classes instead of structs. 2009-08-11 17:45:13 +00:00
ConstantsScanner.h
DebugInfo.h Revert 79977. It causes llvm-gcc bootstrap failures on some platforms. 2009-08-26 05:01:18 +00:00
DominatorInternals.h
Dominators.h Change Pass::print to take a raw ostream instead of std::ostream, 2009-08-23 06:03:38 +00:00
FindUsedTypes.h Change Pass::print to take a raw ostream instead of std::ostream, 2009-08-23 06:03:38 +00:00
Interval.h Change Pass::print to take a raw ostream instead of std::ostream, 2009-08-23 06:03:38 +00:00
IntervalIterator.h
IntervalPartition.h Change Pass::print to take a raw ostream instead of std::ostream, 2009-08-23 06:03:38 +00:00
IVUsers.h remove a few dead insertion methods. 2009-08-24 02:39:26 +00:00
LibCallAliasAnalysis.h
LibCallSemantics.h
LiveValues.h
LoopDependenceAnalysis.h remove a few dead insertion methods. 2009-08-24 02:39:26 +00:00
LoopInfo.h convert LoopInfo.h and GraphWriter.h to use raw_ostream 2009-08-23 07:19:13 +00:00
LoopPass.h Get rid of the Pass+Context magic. 2009-07-22 00:24:57 +00:00
LoopVR.h Change Pass::print to take a raw ostream instead of std::ostream, 2009-08-23 06:03:38 +00:00
MemoryDependenceAnalysis.h Fix a typo in a comment. 2009-07-31 19:26:54 +00:00
Passes.h Create a ScalarEvolution-based AliasAnalysis implementation. 2009-08-26 14:53:06 +00:00
PointerTracking.h remove a few dead insertion methods. 2009-08-24 02:39:26 +00:00
PostDominators.h Change Pass::print to take a raw ostream instead of std::ostream, 2009-08-23 06:03:38 +00:00
ProfileInfo.h This patch cleans up the ProfileInfo by 2009-08-24 21:37:48 +00:00
ProfileInfoLoader.h Remove unnecessary ProfileInfoLoader methods. 2009-08-05 15:55:56 +00:00
ProfileInfoTypes.h
ScalarEvolution.h remove a few dead insertion methods. 2009-08-24 02:39:26 +00:00
ScalarEvolutionExpander.h Various comment and whitespace cleanups. 2009-08-20 16:42:55 +00:00
ScalarEvolutionExpressions.h Rename hasNoUnsignedOverflow and hasNoSignedOverflow to hasNoUnsignedWrap 2009-08-20 17:11:38 +00:00
SparsePropagation.h eliminate the "Value" printing methods that print to a std::ostream. 2009-08-23 04:37:46 +00:00
Trace.h eliminate the "Value" printing methods that print to a std::ostream. 2009-08-23 04:37:46 +00:00
ValueTracking.h Make LLVMContext and LLVMContextImpl classes instead of structs. 2009-08-11 17:45:13 +00:00
Verifier.h