llvm-project/llvm/test/Analysis/DependenceAnalysis
Jingyue Wu 0fa125a77d [DependenceAnalysis] Allow subscripts of different types
Summary:
Several places in DependenceAnalysis assumes both SCEVs in a subscript pair
share the same integer type. For instance, isKnownPredicate calls
SE->getMinusSCEV(X, Y) which asserts X and Y share the same type. However,
DependenceAnalysis fails to ensure this assumption when producing a subscript
pair, causing tests such as NonCanonicalizedSubscript to crash. With this
patch, DependenceAnalysis runs unifySubscriptType before producing any
subscript pair, ensuring the assumption.

Test Plan:
Added NonCanonicalizedSubscript.ll on which DependenceAnalysis before the fix
crashed because subscripts have different types.

Reviewers: spop, sebpop, jingyue

Reviewed By: jingyue

Subscribers: eliben, meheff, llvm-commits

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

llvm-svn: 222100
2014-11-16 16:52:44 +00:00
..
Banerjee.ll split delinearization pass in 3 steps 2014-05-07 18:01:20 +00:00
Coupled.ll Modified depends() to recognize that when all levels are "=" and 2012-11-27 19:12:26 +00:00
ExactRDIV.ll Modified dump() to provide a little 2012-11-30 00:44:47 +00:00
ExactSIV.ll Modified depends() to recognize that when all levels are "=" and 2012-11-27 19:12:26 +00:00
GCD.ll remove constant terms 2014-05-27 22:41:45 +00:00
Invariant.ll (no commit message) 2013-06-28 18:44:48 +00:00
NonCanonicalizedSubscript.ll [DependenceAnalysis] Allow subscripts of different types 2014-11-16 16:52:44 +00:00
Preliminary.ll Modified depends() to recognize that when all levels are "=" and 2012-11-27 19:12:26 +00:00
Propagating.ll Modified depends() to recognize that when all levels are "=" and 2012-11-27 19:12:26 +00:00
Separability.ll Modified depends() to recognize that when all levels are "=" and 2012-11-27 19:12:26 +00:00
StrongSIV.ll Modified depends() to recognize that when all levels are "=" and 2012-11-27 19:12:26 +00:00
SymbolicRDIV.ll improve dependence analysis testcases 2013-11-12 22:47:30 +00:00
SymbolicSIV.ll Modified depends() to recognize that when all levels are "=" and 2012-11-27 19:12:26 +00:00
WeakCrossingSIV.ll Modified depends() to recognize that when all levels are "=" and 2012-11-27 19:12:26 +00:00
WeakZeroDstSIV.ll Modified depends() to recognize that when all levels are "=" and 2012-11-27 19:12:26 +00:00
WeakZeroSrcSIV.ll Modified depends() to recognize that when all levels are "=" and 2012-11-27 19:12:26 +00:00
ZIV.ll Modified dump() to provide a little 2012-11-30 00:44:47 +00:00