------- Comment #32 from rguenth at gcc dot gnu dot org  2007-09-12 14:44 
-------
load-store motion at the tree level should really catch this.  For this it
needs to be extended to disambiguate aliases by looking at the actual memory
references:

<bb 4>:
  # r_8 = PHI <r_29(5), r_23(D)(3)>
  # n_11 = PHI <n_3(5), n_14(3)>
  # VUSE <r_8>
  D.1137_4 = r[0];
  # VUSE <r_8>
  D.1138_5 = r[5];
  D.1139_6 = D.1138_5 + D.1137_4;
  # r_24 = VDEF <r_8>
  r[0] = D.1139_6;
  # VUSE <r_24>
  D.1140_7 = r[1];
  D.1141_9 = D.1139_6 + D.1140_7;
...
  # r_29 = VDEF <r_28>
  r[5] = D.1148_21;
  n_3 = n_11 + -1;
  if (n_3 != 0)
    goto <bb 5>;
  else
    goto <bb 6>;

Zdenek, I think you had a patch to make lim more precise in this regard?


-- 

rguenth at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |rakdver at gcc dot gnu dot
                   |                            |org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19580

Reply via email to