+2018-06-29 Richard Biener <rguenther@suse.de>
+
+ * tree-vect-data-refs.c (vect_analyze_data_ref_dependences): Assert
+ compute_all_dependences succeeds.
+ * tree-vect-loop.c (vect_get_datarefs_in_loop): Fail early if we
+ exceed --param loop-max-datarefs-for-datadeps.
+
2018-06-29 Jakub Jelinek <jakub@redhat.com>
* config/rs6000/t-rs6000: Append rs6000-modes.h to TM_H.
* LOOP_VINFO_DATAREFS (loop_vinfo).length ());
/* We need read-read dependences to compute
STMT_VINFO_SAME_ALIGN_REFS. */
- if (!compute_all_dependences (LOOP_VINFO_DATAREFS (loop_vinfo),
- &LOOP_VINFO_DDRS (loop_vinfo),
- LOOP_VINFO_LOOP_NEST (loop_vinfo), true))
- return false;
+ bool res = compute_all_dependences (LOOP_VINFO_DATAREFS (loop_vinfo),
+ &LOOP_VINFO_DDRS (loop_vinfo),
+ LOOP_VINFO_LOOP_NEST (loop_vinfo),
+ true);
+ gcc_assert (res);
}
LOOP_VINFO_NO_DATA_DEPENDENCIES (loop_vinfo) = true;
}
return false;
}
+ /* If dependence analysis will give up due to the limit on the
+ number of datarefs stop here and fail fatally. */
+ if (datarefs->length ()
+ > (unsigned)PARAM_VALUE (PARAM_LOOP_MAX_DATAREFS_FOR_DATADEPS))
+ return false;
}
return true;
}