https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68823
--- Comment #11 from Sebastian Pop <spop at gcc dot gnu.org> --- (In reply to Richard Biener from comment #10) > But then with different number of subscripts (and also likely different > DR_BASE_OBJECT) you can't do anything with them and have to assume > dependence. See initialize_data_dependence_relation: > > /* If the references do not access the same object, we do not know > whether they alias or not. We do not care about TBAA or alignment > info so we can use OEP_ADDRESS_OF to avoid false negatives. > But the accesses have to use compatible types as otherwise the > built indices would not match. */ > if (!operand_equal_p (DR_BASE_OBJECT (a), DR_BASE_OBJECT (b), > OEP_ADDRESS_OF) > || !types_compatible_p (TREE_TYPE (DR_BASE_OBJECT (a)), > TREE_TYPE (DR_BASE_OBJECT (b)))) > { > DDR_ARE_DEPENDENT (res) = chrec_dont_know; > return res; > > not sure how you communicate that to ISL of course... is it what you > use "alias-sets" for? To create extra dependence egdes? alias-sets differ for two arrays with bases that have been proven to be different. If they may point to the same thing, they will have the same number.