This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug tree-optimization/22532] [4.1 Regression] We produce worse code on the mainline for a loop


------- 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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]