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/35972] [4.4 Regression] load-PRE missed opportunities without SFTs



------- Comment #10 from rguenth at gcc dot gnu dot org  2008-08-17 11:18 -------
And I have a patch to fix regular insertion.  Which means PRE now produces

foo (int i, int j, int k, int b)
{
  int prephitmp.12;
  int pretmp.11;
  struct Loc IND;
  int D.1922;
  int D.1921;
  int D.1920;
  int D.1919;
  int D.1918;
  int D.1916;

<bb 2>:
  if (b_1(D) != 0)
    goto <bb 3>;
  else
    goto <bb 4>;

<bb 3>:
  IND.x[0] = i_2(D);
  IND.x[1] = j_3(D);
  D.1916_5 = k_4(D) + -1;
  IND.x[2] = D.1916_5;
  goto <bb 5>;

<bb 4>:
  IND.x[0] = i_2(D);
  IND.x[1] = j_3(D);
  IND.x[2] = k_4(D);

<bb 5>:
  # prephitmp.12_20 = PHI <D.1916_5(3), k_4(D)(4)>
  D.1919_6 = i_2(D);
  D.1920_7 = j_3(D);
  D.1922_9 = prephitmp.12_20;
  D.1921_8 = D.1920_7 + D.1919_6;
  D.1918_10 = D.1921_8 + D.1922_9;
  return D.1918_10;

}

for the original testcase.


-- 


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


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