diff options
author | Richard Biener <rguenther@suse.de> | 2016-12-13 09:19:19 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2016-12-13 09:19:19 +0000 |
commit | 30fec2f9bf6a5dc1048388ed5bd3ba4d2e359478 (patch) | |
tree | 45417765626a20a0d69c0d7673447948429ed52b /gcc | |
parent | 6182121c120a277dd38eb28e669866842a83a4dc (diff) | |
download | gcc-30fec2f9bf6a5dc1048388ed5bd3ba4d2e359478.zip gcc-30fec2f9bf6a5dc1048388ed5bd3ba4d2e359478.tar.gz gcc-30fec2f9bf6a5dc1048388ed5bd3ba4d2e359478.tar.bz2 |
re PR tree-optimization/78699 (ICE (segfault) on powerpc64le-linux-gnu (memory-hog))
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.
From-SVN: r243599
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, |