[Bug lto/57602] [4.9 Regression] Runfails for several C/C++ benchmarks from spec2000 for i686 with -flto after r199422

2013-08-06 Thread hubicka at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57602

Jan Hubicka hubicka at gcc dot gnu.org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution|--- |FIXED

--- Comment #15 from Jan Hubicka hubicka at gcc dot gnu.org ---
Fixed thus.


[Bug lto/57602] [4.9 Regression] Runfails for several C/C++ benchmarks from spec2000 for i686 with -flto after r199422

2013-08-05 Thread hubicka at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57602

--- Comment #11 from Jan Hubicka hubicka at gcc dot gnu.org ---
Created attachment 30616
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=30616action=edit
Proposed fix

Patch I am testing. The problem was that ltrans passes got overzelaous on
clearing local flags.  I think this bug was there for a while, I wonder why it
did not hit us before.

The patch fixes the testcase seen in one of dups of this PR, does it fix all of
SPEC?


[Bug lto/57602] [4.9 Regression] Runfails for several C/C++ benchmarks from spec2000 for i686 with -flto after r199422

2013-08-05 Thread ysrumyan at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57602

--- Comment #12 from Yuri Rumyantsev ysrumyan at gmail dot com ---
Jan,

I tried to test your fix and got the following error message while
building trunk compiler (with your fix):

../../../../../trunk/libstdc++-v3/src/c++11/fstream-inst.cc:48:1:
error: node is alias but not definition
 } // namespace
 ^
_ZNSt9basic_iosIwSt11char_traitsIwEED1Ev/764 (std::basic_ios_CharT,
_Traits::~basic_ios() [with _CharT = wchar_t; _Traits =
std::char_traitswchar_t]) @0x7f1375b1be40
  Type: function alias cpp_implicit_alias
  Visibility: external public visibility_specified
  Address is taken.
  References:
  Referring:
  Availability: not_available
  Function flags:
  Called by:
  Calls:
../../../../../trunk/libstdc++-v3/src/c++11/fstream-inst.cc:48:1:
internal compiler error: verify_cgraph_node failed
0x7dc6b1 verify_cgraph_node(cgraph_node*)
../../trunk/gcc/cgraph.c:2621
0x7d6567 verify_symtab_node(symtab_node_def*)
../../trunk/gcc/symtab.c:763
0x7d65a7 verify_symtab()
../../trunk/gcc/symtab.c:780
0x98118b symtab_remove_unreachable_nodes(bool, _IO_FILE*)
../../trunk/gcc/ipa.c:477
0xf33f20 ipa_inline
../../trunk/gcc/ipa-inline.c:1800
Please submit a full bug report,

Please, let me know if more info is needed.

2013/8/5 hubicka at gcc dot gnu.org gcc-bugzi...@gcc.gnu.org:
 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57602

 --- Comment #11 from Jan Hubicka hubicka at gcc dot gnu.org ---
 Created attachment 30616
   -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=30616action=edit
 Proposed fix

 Patch I am testing. The problem was that ltrans passes got overzelaous on
 clearing local flags.  I think this bug was there for a while, I wonder why it
 did not hit us before.

 The patch fixes the testcase seen in one of dups of this PR, does it fix all 
 of
 SPEC?

 --
 You are receiving this mail because:
 You are on the CC list for the bug.


[Bug lto/57602] [4.9 Regression] Runfails for several C/C++ benchmarks from spec2000 for i686 with -flto after r199422

2013-08-05 Thread hubicka at ucw dot cz
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57602

--- Comment #13 from Jan Hubicka hubicka at ucw dot cz ---
 Please, let me know if more info is needed.
Actually I got the same ICE in meantime.  Here is improved patch (it is still
testing for me)

Index: cgraph.c
===
*** cgraph.c(revision 201483)
--- cgraph.c(working copy)
*** verify_cgraph_node (struct cgraph_node *
*** 2363,2369 
error (inline clone in same comdat group list);
error_found = true;
  }
!   if (!node-symbol.definition  node-local.local)
  {
error (local symbols must be defined);
error_found = true;
--- 2363,2369 
error (inline clone in same comdat group list);
error_found = true;
  }
!   if (!node-symbol.definition  !node-symbol.in_other_partition 
node-local.local)
  {
error (local symbols must be defined);
error_found = true;
Index: ipa.c
===
*** ipa.c(revision 201483)
--- ipa.c(working copy)
*** symtab_remove_unreachable_nodes (bool be
*** 376,382 
  {
if (file)
  fprintf (file,  %s, cgraph_node_name (node));
!   cgraph_reset_node (node);
changed = true;
  }
  }
--- 376,390 
  {
if (file)
  fprintf (file,  %s, cgraph_node_name (node));
!   node-symbol.analyzed = false;
!   node-symbol.definition = false;
!   node-symbol.cpp_implicit_alias = false;
!   node-symbol.alias = false;
!   node-symbol.weakref = false;
!   if (!node-symbol.in_other_partition)
! node-local.local = false;
!   cgraph_node_remove_callees (node);
!   ipa_remove_all_references (node-symbol.ref_list);
changed = true;
  }
  }
*** function_and_variable_visibility (bool w
*** 888,894 
  }
FOR_EACH_DEFINED_FUNCTION (node)
  {
!   node-local.local = cgraph_local_node_p (node);

/* If we know that function can not be overwritten by a different
semantics
   and moreover its section can not be discarded, replace all direct calls
--- 896,902 
  }
FOR_EACH_DEFINED_FUNCTION (node)
  {
!   node-local.local |= cgraph_local_node_p (node);

/* If we know that function can not be overwritten by a different
semantics
   and moreover its section can not be discarded, replace all direct calls


[Bug lto/57602] [4.9 Regression] Runfails for several C/C++ benchmarks from spec2000 for i686 with -flto after r199422

2013-08-05 Thread ysrumyan at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57602

--- Comment #14 from Yuri Rumyantsev ysrumyan at gmail dot com ---
Hi Jan,

I checked that  all benches from spec2000 are run successfully with
-flto options and eembc_2_0 suite was also run sucessfully with lto
(for 32-bit mode).

So go ahead and commit your fix.

Best regards.
Yuri.

2013/8/5 hubicka at ucw dot cz gcc-bugzi...@gcc.gnu.org:
 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57602

 --- Comment #13 from Jan Hubicka hubicka at ucw dot cz ---
 Please, let me know if more info is needed.
 Actually I got the same ICE in meantime.  Here is improved patch (it is still
 testing for me)

 Index: cgraph.c
 ===
 *** cgraph.c(revision 201483)
 --- cgraph.c(working copy)
 *** verify_cgraph_node (struct cgraph_node *
 *** 2363,2369 
 error (inline clone in same comdat group list);
 error_found = true;
   }
 !   if (!node-symbol.definition  node-local.local)
   {
 error (local symbols must be defined);
 error_found = true;
 --- 2363,2369 
 error (inline clone in same comdat group list);
 error_found = true;
   }
 !   if (!node-symbol.definition  !node-symbol.in_other_partition 
 node-local.local)
   {
 error (local symbols must be defined);
 error_found = true;
 Index: ipa.c
 ===
 *** ipa.c(revision 201483)
 --- ipa.c(working copy)
 *** symtab_remove_unreachable_nodes (bool be
 *** 376,382 
   {
 if (file)
   fprintf (file,  %s, cgraph_node_name (node));
 !   cgraph_reset_node (node);
 changed = true;
   }
   }
 --- 376,390 
   {
 if (file)
   fprintf (file,  %s, cgraph_node_name (node));
 !   node-symbol.analyzed = false;
 !   node-symbol.definition = false;
 !   node-symbol.cpp_implicit_alias = false;
 !   node-symbol.alias = false;
 !   node-symbol.weakref = false;
 !   if (!node-symbol.in_other_partition)
 ! node-local.local = false;
 !   cgraph_node_remove_callees (node);
 !   ipa_remove_all_references (node-symbol.ref_list);
 changed = true;
   }
   }
 *** function_and_variable_visibility (bool w
 *** 888,894 
   }
 FOR_EACH_DEFINED_FUNCTION (node)
   {
 !   node-local.local = cgraph_local_node_p (node);

 /* If we know that function can not be overwritten by a different
 semantics
and moreover its section can not be discarded, replace all direct calls
 --- 896,902 
   }
 FOR_EACH_DEFINED_FUNCTION (node)
   {
 !   node-local.local |= cgraph_local_node_p (node);

 /* If we know that function can not be overwritten by a different
 semantics
and moreover its section can not be discarded, replace all direct calls

 --
 You are receiving this mail because:
 You are on the CC list for the bug.


[Bug lto/57602] [4.9 Regression] Runfails for several C/C++ benchmarks from spec2000 for i686 with -flto after r199422

2013-08-04 Thread hubicka at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57602

Jan Hubicka hubicka at gcc dot gnu.org changed:

   What|Removed |Added

 Status|NEW |ASSIGNED
 CC||hubicka at gcc dot gnu.org
   Assignee|unassigned at gcc dot gnu.org  |hubicka at gcc dot 
gnu.org

--- Comment #10 from Jan Hubicka hubicka at gcc dot gnu.org ---
Mine...


[Bug lto/57602] [4.9 Regression] Runfails for several C/C++ benchmarks from spec2000 for i686 with -flto after r199422

2013-07-22 Thread ubizjak at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57602

Uroš Bizjak ubizjak at gmail dot com changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2013-07-22
   Target Milestone|--- |4.9.0
Summary|Runfails for several C/C++  |[4.9 Regression] Runfails
   |benchmarks from spec2000|for several C/C++
   |for i686 with -flto after   |benchmarks from spec2000
   |r199422 |for i686 with -flto after
   ||r199422
 Ever confirmed|0   |1

--- Comment #7 from Uroš Bizjak ubizjak at gmail dot com ---
Confirmed, a 4.9 regression.

[Bug lto/57602] [4.9 Regression] Runfails for several C/C++ benchmarks from spec2000 for i686 with -flto after r199422

2013-07-22 Thread d.g.gorbachev at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57602

--- Comment #8 from Dmitry Gorbachev d.g.gorbachev at gmail dot com ---
And a testcase from PR57879 fails with -O2 / -O1 and -flto, it happens when
building GCC itself.


[Bug lto/57602] [4.9 Regression] Runfails for several C/C++ benchmarks from spec2000 for i686 with -flto after r199422

2013-07-22 Thread d.g.gorbachev at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57602

Dmitry Gorbachev d.g.gorbachev at gmail dot com changed:

   What|Removed |Added

 CC||d.g.gorbachev at gmail dot com

--- Comment #9 from Dmitry Gorbachev d.g.gorbachev at gmail dot com ---
*** Bug 57879 has been marked as a duplicate of this bug. ***