On Thu, Feb 06, 2014 at 10:04:00AM +0100, Richard Biener wrote:
> > PS, just looking at the patch now again, in the light of PR59594
> > the reordering of datarefs before goto again looks also wrong, we IMHO have
> > to perform a vector ordered remove in that case, ok to handle it as a
> > follow-up?
> 
> Yeah...

Here it is.  Bootstrapped/regtested on x86_64-linux and i686-linux, ok for
trunk?

2014-02-08  Jakub Jelinek  <ja...@redhat.com>

        * tree-vect-data-refs.c (vect_analyze_data_refs): For clobbers
        not at the end of datarefs vector use ordered_remove to avoid
        reordering datarefs vector.

--- gcc/tree-vect-data-refs.c.jj        2014-02-06 18:04:15.000000000 +0100
+++ gcc/tree-vect-data-refs.c   2014-02-07 21:55:01.278701818 +0100
@@ -3303,7 +3303,8 @@ again:
              datarefs.pop ();
              break;
            }
-         datarefs[i] = dr = datarefs.pop ();
+         datarefs.ordered_remove (i);
+         dr = datarefs[i];
          goto again;
        }
 


        Jakub

Reply via email to