[Bug tree-optimization/46232] [4.6 regression] 64-bit gcc.dg/tree-ssa/pr14814.c FAILs on SPARC

ebotcazou at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Wed Dec 15 17:09:00 GMT 2010


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

--- Comment #7 from Eric Botcazou <ebotcazou at gcc dot gnu.org> 2010-12-15 17:07:44 UTC ---
> Nevertheless, this has been the case in 4.5 as well, how come the
> testcase does not fail there?

The generated code is identical on mainline and 4.5 branch so there is no
actual regression.  It's simply the confusing notation

  t$e$1_10 = MEM[(struct YY *)&D.1994 + 8B]

on the mainline instead of

  t$e$1_10 = D.1994.e[1];

on the 4.5 branch that lets you think there is still an indirection.  It is
introduced during ESRA:

  D.1995 = r_2(D)->v;
  D.1994 = D.1995;
  t = D.1994;
  D.1980_4 = t.e[1];

becomes

  D.1995 = r_2(D)->v;
  D.1994 = D.1995;
  t = D.1994;
  t$e$1_10 = MEM[(struct YY *)&D.1994 + 8B];
  D.1980_4 = t$e$1_10;

instead of

  D.1995 = r_2(D)->v;
  D.1994 = D.1995;
  t = D.1994;
  t$e$1_10 = D.1994.e[1];
  D.1980_4 = t$e$1_10;

on the 4.5 branch.  This looks totally useless.



More information about the Gcc-bugs mailing list