------- Comment #5 from steven at gcc dot gnu dot org  2010-07-13 10:55 -------
Test case of comment #4 still fails with r162134.

Not sure what is expected for the test case of comment #0, but I'm assuming the
point is that the store of the reduction should be sunk. That doesn't happen as
of r162134, this is what comes out of the compiler at -O3:


;; Function foo (foo)

Removing basic block 6
foo (int n, int i, int j)
{
  int prephitmp.3;
  int k;
  int D.1988;

<bb 2>:
  if (n_4(D) > 0)
    goto <bb 3>;
  else
    goto <bb 5>;

<bb 3>:
  prephitmp.3_14 = aa[i_5(D)].a;

<bb 4>:
  # k_16 = PHI <k_10(4), 0(3)>
  # prephitmp.3_18 = PHI <prephitmp.3_9(4), prephitmp.3_14(3)>
  D.1988_8 = aa[j_7(D)].b;
  prephitmp.3_9 = prephitmp.3_18 + D.1988_8;
  aa[i_5(D)].a = prephitmp.3_9;
  k_10 = k_16 + 1;
  if (k_10 != n_4(D))
    goto <bb 4>;
  else
    goto <bb 5>;

<bb 5>:
  return;

}


-- 

steven at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Last reconfirmed|2009-04-03 12:32:48         |2010-07-13 10:55:27
               date|                            |


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

Reply via email to