[Bug lto/57602] [4.9 Regression] Runfails for several C/C++ benchmarks from spec2000 for i686 with -flto after r199422
ysrumyan at gmail dot com
gcc-bugzilla@gcc.gnu.org
Mon Aug 5 15:22:00 GMT 2013
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-bugzilla@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.
More information about the Gcc-bugs
mailing list