diff options
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/tree-vect-data-refs.c | 4 |
2 files changed, 9 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 5e0562b..daa4e8c 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,11 @@ 2016-12-13 Richard Biener <rguenther@suse.de> + PR tree-optimization/78699 + * tree-vect-data-refs.c (vect_analyze_group_access_1): Limit + group size. + +2016-12-13 Richard Biener <rguenther@suse.de> + PR middle-end/78742 * tree.c (cst_and_fits_in_hwi): Look if the actual value fits. * tree-object-size.c (compute_builtin_object_size): Use diff --git a/gcc/tree-vect-data-refs.c b/gcc/tree-vect-data-refs.c index 5a30314..1b9c3b3 100644 --- a/gcc/tree-vect-data-refs.c +++ b/gcc/tree-vect-data-refs.c @@ -2390,7 +2390,9 @@ vect_analyze_group_access_1 (struct data_reference *dr) if (groupsize == 0) groupsize = count + gaps; - if (groupsize > UINT_MAX) + /* This could be UINT_MAX but as we are generating code in a very + inefficient way we have to cap earlier. See PR78699 for example. */ + if (groupsize > 4096) { if (dump_enabled_p ()) dump_printf_loc (MSG_MISSED_OPTIMIZATION, vect_location, |