llvm-project/llvm/test/Analysis
Silviu Baranga ac920f7716 [LAA] Allow more run-time alias checks by coercing pointer expressions to AddRecExprs
Summary:
LAA can only emit run-time alias checks for pointers with affine AddRec
SCEV expressions. However, non-AddRecExprs can be now be converted to
affine AddRecExprs using SCEV predicates.

This change tries to add the minimal set of SCEV predicates in order
to enable run-time alias checking.

Reviewers: anemet, mzolotukhin, mkuper, sanjoy, hfinkel

Reviewed By: hfinkel

Subscribers: mssimpso, Ayal, dorit, roman.shirokiy, mzolotukhin, llvm-commits

Differential Revision: https://reviews.llvm.org/D17080

llvm-svn: 313012
2017-09-12 07:48:22 +00:00
..
AliasSet Use WeakVH instead of WeakTrackingVH in AliasSetTracker's UnkownInsts 2017-05-01 17:07:56 +00:00
AssumptionCache Add files I seem to have dropped in my revert (r290086). 2016-12-19 08:32:13 +00:00
BasicAA Make shell redirection construct portable 2017-07-12 13:24:46 +00:00
BlockFrequencyInfo
BranchProbabilityInfo [BPI] Don't assume that strcmp returning >0 is more likely than <0 2017-06-08 09:44:40 +00:00
CFLAliasAnalysis [CFLAA] Add missing break; note things are broken. 2017-05-31 02:35:26 +00:00
CallGraph
ConstantFolding [InstSimplify] Constant fold the new GEP in SimplifyGEPInst. 2017-06-06 10:17:14 +00:00
CostModel [TargetTransformInfo] Add a new public interface getInstructionCost 2017-09-08 22:29:17 +00:00
Delinearization [SCEV] Assume parameters coming from function calls contain IVs 2017-05-27 15:17:49 +00:00
DemandedBits [Analysis] Support bitreverse in -demanded-bits pass 2017-04-13 16:44:25 +00:00
DependenceAnalysis [DependenceAnalysis] Make sure base objects are the same when comparing GEPs 2017-07-05 21:35:47 +00:00
DivergenceAnalysis AMDGPU: Change DivergenceAnalysis for function arguments 2017-04-19 17:42:34 +00:00
DominanceFrontier
Dominators [Dominators] Don't compute DFS InOut numbers eagerly. 2017-06-30 01:28:21 +00:00
GlobalsModRef Fix regression from my recent GlobalsAA fix. 2016-10-24 21:47:44 +00:00
IVUsers Re-enable "[SCEV] Do not fold dominated SCEVUnknown into AddRecExpr start" 2017-05-26 06:47:04 +00:00
LazyCallGraph
LazyValueAnalysis [JumpThreading] Add an option to dump LazyValueInfo after the run. 2017-07-28 02:57:43 +00:00
Lint
LoopAccessAnalysis [LAA] Allow more run-time alias checks by coercing pointer expressions to AddRecExprs 2017-09-12 07:48:22 +00:00
LoopInfo
MemoryDependenceAnalysis [PM] The assumption cache is fundamentally designed to be self-updating, 2017-01-15 00:26:18 +00:00
MemorySSA Remove readnone from invariant.group.barrier 2017-04-12 20:45:12 +00:00
PostDominators [Dominators] Include infinite loops in PostDominatorTree 2017-08-15 18:14:57 +00:00
ProfileSummary
RegionInfo [Dominators] Include infinite loops in PostDominatorTree 2017-08-15 18:14:57 +00:00
ScalarEvolution [SCEV] Add URem support to SCEV 2017-09-01 14:59:59 +00:00
ScopedNoAliasAA
TypeBasedAliasAnalysis [BasicAA] Use MayAlias instead of PartialAlias for fallback. 2017-06-21 18:25:37 +00:00
ValueTracking [ValueTracking] Don't delete assumes of side-effectful instructions 2017-08-14 17:11:43 +00:00
alias-analysis-uses.ll