This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug tree-optimization/35972] [4.4 Regression] load-PRE missed opportunities without SFTs
- From: "rguenth at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 17 Aug 2008 11:18:03 -0000
- Subject: [Bug tree-optimization/35972] [4.4 Regression] load-PRE missed opportunities without SFTs
- References: <bug-35972-10053@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- 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