aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/tree-vect-data-refs.c4
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,