------- Additional Comments From pinskia at gcc dot gnu dot org  2005-07-18 
05:17 -------
The reason why eustore does not remove it is because we have a loop and a PHI 
intbetween the load 
and store:
  #   d_15 = V_MUST_DEF <d_1>;
  d = s_2;
  #   d_18 = V_MAY_DEF <d_15>;
  f (s_9);
  #   VUSE <d_18>;
  s_16 = d;
  i_17 = i_3 + 1;

  # i_3 = PHI <i_10(0), i_17(1)>;
  # s_2 = PHI <s_8(0), s_16(1)>;
  # d_1 = PHI <d_4(0), d_18(1)>;
<L1>:;
  if (i_3 < l_11) goto <L0>; else goto <L2>;

<L2>:;
  s_12 = s_2;
  #   d_13 = V_MUST_DEF <d_1>;
  d = s_2;

See how have a PHI involved.  Maybe eustore should handle PHIs too.

-- 


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

Reply via email to