llvm-6502/include/llvm/Analysis
Adam Nemet 09fa5a537e [LAA] Begin moving the logic of generating checks out of addRuntimeCheck
Summary:
The goal is to start moving us closer to the model where
RuntimePointerChecking will compute and store the checks.  Then a client
can filter the check according to its requirements and then use the
filtered list of checks with addRuntimeCheck.

Before the patch, this is all done in addRuntimeCheck.  So the patch
starts to split up addRuntimeCheck while providing the old API under
what's more or less a wrapper now.

The new underlying addRuntimeCheck takes a collection of checks now,
expands the code for the bounds then generates the code for the checks.

I am not completely happy with making expandBounds static because now it
needs so many explicit arguments but I don't want to make the type
PointerBounds part of LAI.  This should get fixed when addRuntimeCheck
is moved to LoopVersioning where it really belongs, IMO.

Audited the assembly diff of the testsuite (including externals).  There
is a tiny bit of assembly churn that is due to the different order the
code for the bounds is expanded now
(MultiSource/Benchmarks/Prolangs-C/bison/conflicts.s and with LoopDist
on 456.hmmer/fast_algorithms.s).

Reviewers: hfinkel

Subscribers: klimek, llvm-commits

Differential Revision: http://reviews.llvm.org/D11205

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@243239 91177308-0d34-0410-b5e6-96231b3b80d8
2015-07-26 05:32:14 +00:00
..
AliasAnalysis.h [PM/AA] Cleanup comments, formatting, and organization of the AA 2015-07-22 23:16:02 +00:00
AliasSetTracker.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
AssumptionCache.h
BlockFrequencyInfo.h Add new constructors for LoopInfo/DominatorTree/BFI/BPI 2015-07-16 23:23:35 +00:00
BlockFrequencyInfoImpl.h Rename doFunction() in BFI to calculate() and change its parameters from pointers to references. 2015-07-15 19:58:26 +00:00
BranchProbabilityInfo.h Add new constructors for LoopInfo/DominatorTree/BFI/BPI 2015-07-16 23:23:35 +00:00
CallGraph.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
CallGraphSCCPass.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
CallPrinter.h
CaptureTracking.h
CFG.h [CaptureTracking] Avoid long compilation time on large basic blocks 2015-06-24 17:53:17 +00:00
CFGPrinter.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
CGSCCPassManager.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
CodeMetrics.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
ConstantFolding.h [InstSimplify] Teach InstSimplify how to simplify extractelement 2015-07-13 01:15:53 +00:00
DependenceAnalysis.h [DependenceAnalysis] Extend unifySubscriptType for handling coupled subscript groups. 2015-05-29 16:58:08 +00:00
DominanceFrontier.h Remove macro guards for extern template instantiations. 2015-07-13 17:21:31 +00:00
DominanceFrontierImpl.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
DomPrinter.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
DOTGraphTraitsPass.h
InlineCost.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
InstructionSimplify.h [InstSimplify] Teach InstSimplify how to simplify extractelement 2015-07-13 01:15:53 +00:00
Interval.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
IntervalIterator.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
IntervalPartition.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
IteratedDominanceFrontier.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
IVUsers.h [LSR] don't attempt to promote ephemeral values to indvars 2015-07-13 03:28:53 +00:00
LazyCallGraph.h Fix -Wextra-semi warnings. 2015-07-22 20:46:11 +00:00
LazyValueInfo.h
LibCallAliasAnalysis.h [PM/AA] Extract the ModRef enums from the AliasAnalysis class in 2015-07-22 23:15:57 +00:00
LibCallSemantics.h [PM/AA] Extract the ModRef enums from the AliasAnalysis class in 2015-07-22 23:15:57 +00:00
Lint.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
Loads.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
LoopAccessAnalysis.h [LAA] Begin moving the logic of generating checks out of addRuntimeCheck 2015-07-26 05:32:14 +00:00
LoopInfo.h Add new constructors for LoopInfo/DominatorTree/BFI/BPI 2015-07-16 23:23:35 +00:00
LoopInfoImpl.h Rename LoopInfo::Analyze() to LoopInfo::analyze() and turn its parameter type to const&. 2015-07-16 18:23:57 +00:00
LoopIterator.h
LoopPass.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
MemoryBuiltins.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
MemoryDependenceAnalysis.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
MemoryLocation.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
Passes.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
PHITransAddr.h [PHITransAddr] Don't translate unreachable values 2015-06-01 00:15:08 +00:00
PostDominators.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
PtrUseVisitor.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
RegionInfo.h Remove macro guards for extern template instantiations. 2015-07-13 17:21:31 +00:00
RegionInfoImpl.h Make it obvious that we're iterating over a range of pointers. 2015-04-16 12:43:07 +00:00
RegionIterator.h
RegionPass.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
RegionPrinter.h
ScalarEvolution.h [SCEV][NFC] Use triple-slash (///) for comment. 2015-07-16 22:08:37 +00:00
ScalarEvolutionExpander.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
ScalarEvolutionExpressions.h Move delinearization from SCEVAddRecExpr to ScalarEvolution 2015-06-29 14:42:48 +00:00
ScalarEvolutionNormalization.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
SparsePropagation.h
TargetFolder.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
TargetLibraryInfo.def
TargetLibraryInfo.h Fix -Wextra-semi warnings. 2015-07-22 20:46:11 +00:00
TargetTransformInfo.h Make TargetTransformInfo keeping a reference to the Module DataLayout 2015-07-09 02:08:42 +00:00
TargetTransformInfoImpl.h Make TargetTransformInfo keeping a reference to the Module DataLayout 2015-07-09 02:08:42 +00:00
Trace.h
ValueTracking.h Exploit dereferenceable_or_null attribute in LICM pass 2015-05-18 18:07:00 +00:00
VectorUtils.h [InstSimplify] Teach InstSimplify how to simplify extractelement 2015-07-13 01:15:53 +00:00