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.
Details
Details
Diff Detail
Diff Detail
Event Timeline
Comment Actions
Please add -da-delinearize to the testcase.
Otherwise the patch LGTM.
test/Analysis/DependenceAnalysis/NonCanonicalizedSubscript.ll | ||
---|---|---|
1 | You also need to add -da-delinearize to exercise the code that you add in this patch: Delinearize is set to false by default. |
You also need to add -da-delinearize to exercise the code that you add in this patch: Delinearize is set to false by default.