https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89223
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |ASSIGNED Assignee|unassigned at gcc dot gnu.org |rguenth at gcc dot gnu.org --- Comment #8 from Richard Biener <rguenth at gcc dot gnu.org> --- That is, I would say a better fix would be to analyze the chrec as {4, +, -2}, thus in another type in the first place. But then the dataref code has to deal with failures in the analysis (there are also overflow conditions that are more or less correctly handled). You can see initialize_matrix_A results when not recursing are immediately fed into int_cst_value - where there is also a possible failure mode outlined: if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "affine-affine test failed: too many variables.\n"); *overlaps_a = conflict_fn_not_known (); *overlaps_b = conflict_fn_not_known (); *last_conflicts = chrec_dont_know; so all is necessary is to check cst_and_fits_in_hwi and propagate the error upward from initialize_matrix_A.