forked from OSchip/llvm-project
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 |
||
|---|---|---|
| .. | ||
| Banerjee.ll | ||
| Coupled.ll | ||
| ExactRDIV.ll | ||
| ExactSIV.ll | ||
| GCD.ll | ||
| Invariant.ll | ||
| NonCanonicalizedSubscript.ll | ||
| Preliminary.ll | ||
| Propagating.ll | ||
| Separability.ll | ||
| StrongSIV.ll | ||
| SymbolicRDIV.ll | ||
| SymbolicSIV.ll | ||
| WeakCrossingSIV.ll | ||
| WeakZeroDstSIV.ll | ||
| WeakZeroSrcSIV.ll | ||
| ZIV.ll | ||