From: Jan Hubicka Date: Tue, 21 Sep 2004 00:08:53 +0000 (+0200) Subject: re PR middle-end/17126 (ICE with -fno-unit-at-a-time and -O3) X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=d21bede3c1bc7c8c75ba4c3f60e7d9f44c6cbd17;p=gcc.git re PR middle-end/17126 (ICE with -fno-unit-at-a-time and -O3) PR middle-end/17126 * tree-optimize.c (update_inlined_to_pointers): Fix the recursion. (tree_rest_of_compilation): Cleanup. From-SVN: r87780 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 167e1b97a47..068db13818e 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2004-09-21 Jan Hubicka + + PR middle-end/17126 + * tree-optimize.c (update_inlined_to_pointers): Fix the recursion. + (tree_rest_of_compilation): Cleanup. + 2004-09-20 Ulrich Weigand * config/s390/s390.c (s390_select_rtx_section): Remove. diff --git a/gcc/tree-optimize.c b/gcc/tree-optimize.c index 86b60149799..971f0629b4e 100644 --- a/gcc/tree-optimize.c +++ b/gcc/tree-optimize.c @@ -553,7 +553,7 @@ update_inlined_to_pointers (struct cgraph_node *node, if (e->callee->global.inlined_to) { e->callee->global.inlined_to = inlined_to; - update_inlined_to_pointers (e->callee, node); + update_inlined_to_pointers (e->callee, inlined_to); } } } @@ -653,15 +653,9 @@ tree_rest_of_compilation (tree fndecl, bool nested_p) cgraph_remove_edge (node->callees); node->callees = saved_node->callees; saved_node->callees = NULL; + update_inlined_to_pointers (node, node); for (e = node->callees; e; e = e->next_callee) - { - if (e->callee->global.inlined_to) - { - e->callee->global.inlined_to = node; - update_inlined_to_pointers (e->callee, node); - } - e->caller = node; - } + e->caller = node; cgraph_remove_node (saved_node); } }