llvm-6502/include/llvm/Analysis
Shuxin Yang 985dac6579 Memory Dependence Analysis (not mem-dep test) take advantage of "invariant.load" metadata.
The "invariant.load" metadata indicates the memory unit being accessed is immutable.
A load annotated with this metadata can be moved across any store.

As I am not sure if it is legal to move such loads across barrier/fence, this
change dose not allow such transformation.

rdar://11311484

Thank Arnold for code review.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@176562 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-06 17:48:48 +00:00
..
AliasAnalysis.h Move isKnownNonNull out of AliasAnalysis.h and into ValueTracking.cpp since 2013-01-31 02:40:59 +00:00
AliasSetTracker.h Sort the #include lines for the include/... tree with the script. 2012-12-03 17:02:12 +00:00
BlockFrequencyImpl.h Move all of the header files which are involved in modelling the LLVM IR 2013-01-02 11:36:10 +00:00
BlockFrequencyInfo.h
BranchProbabilityInfo.h Sort the #include lines for the include/... tree with the script. 2012-12-03 17:02:12 +00:00
CallGraph.h Move all of the header files which are involved in modelling the LLVM IR 2013-01-02 11:36:10 +00:00
CallGraphSCCPass.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
CallPrinter.h Added -view-callgraph module pass. 2013-01-11 17:28:14 +00:00
CaptureTracking.h Move all of the header files which are involved in modelling the LLVM IR 2013-01-02 11:36:10 +00:00
CFGPrinter.h Move all of the header files which are involved in modelling the LLVM IR 2013-01-02 11:36:10 +00:00
CodeMetrics.h Switch CodeMetrics itself over to use TTI to determine if an instruction 2013-01-21 13:04:33 +00:00
ConstantFolding.h
ConstantsScanner.h
DependenceAnalysis.h Fix a few typos in comments. 2013-03-05 22:05:16 +00:00
DominanceFrontier.h
DominatorInternals.h Sort the #include lines for the include/... tree with the script. 2012-12-03 17:02:12 +00:00
Dominators.h Add some constantness. 2013-03-05 22:01:15 +00:00
DomPrinter.h
DOTGraphTraitsPass.h Remove redundant 'llvm::' qualifications 2013-01-13 16:01:15 +00:00
FindUsedTypes.h
InlineCost.h Now that the inline cost analysis is a pass, we can easily have it 2013-01-21 11:55:09 +00:00
InstructionSimplify.h Document another instsimplify assumption. 2013-01-31 22:13:00 +00:00
Interval.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
IntervalIterator.h Fix a few typos in comments. 2013-03-05 22:05:16 +00:00
IntervalPartition.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
IVUsers.h Remove duplicated forward declaration. 2013-03-06 00:04:32 +00:00
LazyValueInfo.h
LibCallAliasAnalysis.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
LibCallSemantics.h
Lint.h
Loads.h Move all of the header files which are involved in modelling the LLVM IR 2013-01-02 11:36:10 +00:00
LoopInfo.h Metadata for annotating loops as parallel. The first consumer for this 2013-02-13 18:08:57 +00:00
LoopInfoImpl.h Remove #includes from the commonly used LoopInfo.h. 2013-02-09 01:04:28 +00:00
LoopIterator.h Remove unneeded #includes. 2013-02-09 13:29:10 +00:00
LoopPass.h LoopPass.h doesn't require Function.h. Remove unneeded #include. 2013-01-11 01:03:32 +00:00
MemoryBuiltins.h Use the right number of slashes in comment string 2013-03-05 19:04:12 +00:00
MemoryDependenceAnalysis.h Memory Dependence Analysis (not mem-dep test) take advantage of "invariant.load" metadata. 2013-03-06 17:48:48 +00:00
Passes.h Add a cost model analysis that allows us to estimate the cost of IR-level instructions. 2012-11-02 21:48:17 +00:00
PathNumbering.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
PathProfileInfo.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
PHITransAddr.h Move all of the header files which are involved in modelling the LLVM IR 2013-01-02 11:36:10 +00:00
PostDominators.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
ProfileDataLoader.h Use the new script to sort the includes of every file under lib. 2012-12-03 16:50:05 +00:00
ProfileDataTypes.h
ProfileInfo.h Sort the #include lines for the include/... tree with the script. 2012-12-03 17:02:12 +00:00
ProfileInfoLoader.h Sort the #include lines for the include/... tree with the script. 2012-12-03 17:02:12 +00:00
ProfileInfoTypes.h
PtrUseVisitor.h Move all of the header files which are involved in modelling the LLVM IR 2013-01-02 11:36:10 +00:00
RegionInfo.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
RegionIterator.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
RegionPass.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
RegionPrinter.h
ScalarEvolution.h Fix a few typos in comments. 2013-03-05 22:05:16 +00:00
ScalarEvolutionExpander.h SCEVExpander fix. RAUW needs to update the InsertedExpressions cache. 2013-01-14 21:00:37 +00:00
ScalarEvolutionExpressions.h Pacify -Wnon-virtual-dtor 2013-02-15 23:51:59 +00:00
ScalarEvolutionNormalization.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
SparsePropagation.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
TargetTransformInfo.h Fix a few typos in comments. 2013-03-05 22:05:16 +00:00
Trace.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
ValueTracking.h Move isKnownNonNull out of AliasAnalysis.h and into ValueTracking.cpp since 2013-01-31 02:40:59 +00:00
Verifier.h