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

Richard Guenther <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Priority|P3                          |P1
                 CC|                            |jamborm at gcc dot gnu.org

--- Comment #5 from Richard Guenther <rguenth at gcc dot gnu.org> 2010-11-15 
12:18:04 UTC ---
On x86_64-linux early SRA manages to look through the single copy

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

when scalarizing t and thus loads indirectly from r_2.  On sparc we
instead see

  D.1987 = r_2(D)->v;
  D.1986 = D.1987;
  D.2695_4 = D.1986.e[1];

and SRA doesn't manage to look through both.  One might be able to
create an equivalent testcase on x86_64 that doesn't rely on inlining
or return-value optimization.

Reply via email to