[Bug middle-end/68878] [6 Regression] 471.omnetpp in SPEC CPU 2006 is miscompiled with LTO

2015-12-28 Thread pinskia at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68878

Andrew Pinski  changed:

   What|Removed |Added

   Keywords||wrong-code
 Status|NEW |RESOLVED
 Resolution|--- |FIXED

--- Comment #10 from Andrew Pinski  ---
Fixed.

[Bug middle-end/68878] [6 Regression] 471.omnetpp in SPEC CPU 2006 is miscompiled with LTO

2015-12-15 Thread hubicka at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68878

--- Comment #9 from Jan Hubicka  ---
Author: hubicka
Date: Wed Dec 16 04:58:13 2015
New Revision: 231671

URL: https://gcc.gnu.org/viewcvs?rev=231671=gcc=rev
Log:

PR lto/68878
* lto-symtab.c (lto_symtab_prevailing_virtual_decl): New function.
* lto-symtab.h (lto_symtab_prevailing_virtual_decl): Declare.
(lto_symtab_prevailing_decl): Use it.

Modified:
trunk/gcc/lto/ChangeLog
trunk/gcc/lto/lto-symtab.c
trunk/gcc/lto/lto-symtab.h

[Bug middle-end/68878] [6 Regression] 471.omnetpp in SPEC CPU 2006 is miscompiled with LTO

2015-12-14 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68878

Richard Biener  changed:

   What|Removed |Added

   Target Milestone|--- |6.0

[Bug middle-end/68878] [6 Regression] 471.omnetpp in SPEC CPU 2006 is miscompiled with LTO

2015-12-13 Thread hubicka at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68878

--- Comment #8 from Jan Hubicka  ---
OK, the bug is caused by fact that new decl merging won't merge decls without
symbol table entries. Devirtualization uses them and it means we lose a ctor. 
I have fix for the merging, but it seems to be a latent bug in ipa-cp or
ipa-devirt I need to fix first - it should only cause a drop in number of
devirtualizations, not a wrong code issue.

[Bug middle-end/68878] [6 Regression] 471.omnetpp in SPEC CPU 2006 is miscompiled with LTO

2015-12-12 Thread hubicka at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68878

Jan Hubicka  changed:

   What|Removed |Added

 CC||hubicka at gcc dot gnu.org

--- Comment #1 from Jan Hubicka  ---
HJ,
can you please check if the earlier revision is good?  I do not have omnetpp
sources from spec2k6 and wonder how this particular revision can lead to a
wrong code... It only slightly changes the way we merge builtin decls that
should be a no-op because we already merge them at the streaming time.

You can build with -fdump-ipa-cgraph and look if there are any transparent
aliases introduced. (just grep the dumps for transparent_alias)

[Bug middle-end/68878] [6 Regression] 471.omnetpp in SPEC CPU 2006 is miscompiled with LTO

2015-12-12 Thread miyuki at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68878

Mikhail Maltsev  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2015-12-13
 CC||miyuki at gcc dot gnu.org
 Ever confirmed|0   |1

--- Comment #2 from Mikhail Maltsev  ---
Confirmed. I checked r231437, and it seems to be OK. "transparent_alias" is not
present in dumps (neither in bad revision, nor in good one). Here are some
dumps, which, I think, show the problem.

[Bug middle-end/68878] [6 Regression] 471.omnetpp in SPEC CPU 2006 is miscompiled with LTO

2015-12-12 Thread miyuki at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68878

--- Comment #3 from Mikhail Maltsev  ---
Created attachment 37013
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=37013=edit
cSimpleModule ctor before transformation - good revision

[Bug middle-end/68878] [6 Regression] 471.omnetpp in SPEC CPU 2006 is miscompiled with LTO

2015-12-12 Thread miyuki at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68878

--- Comment #4 from Mikhail Maltsev  ---
Created attachment 37014
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=37014=edit
cSimpleModule ctor after transformation - good revision

[Bug middle-end/68878] [6 Regression] 471.omnetpp in SPEC CPU 2006 is miscompiled with LTO

2015-12-12 Thread miyuki at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68878

--- Comment #5 from Mikhail Maltsev  ---
Created attachment 37015
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=37015=edit
cSimpleModule ctor before transformation - bad revision

Almost identical to "good revision"

[Bug middle-end/68878] [6 Regression] 471.omnetpp in SPEC CPU 2006 is miscompiled with LTO

2015-12-12 Thread miyuki at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68878

--- Comment #6 from Mikhail Maltsev  ---
Created attachment 37016
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=37016=edit
cSimpleModule ctor after transformation - bad revision

Note that lots of code is removed and we fall through BB4 to an EH landing pad
(hence, _Unwind_Resume in the backtrace).

[Bug middle-end/68878] [6 Regression] 471.omnetpp in SPEC CPU 2006 is miscompiled with LTO

2015-12-12 Thread hubicka at ucw dot cz
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68878

--- Comment #7 from Jan Hubicka  ---
Looks like a result of redirection to builtin_unreachable.  Can you check the
WPA dumps if there
is difference in redirections, please?

Honza