re PR middle-end/17126 (ICE with -fno-unit-at-a-time and -O3)
authorJan Hubicka <jh@suse.cz>
Tue, 21 Sep 2004 00:08:53 +0000 (02:08 +0200)
committerJan Hubicka <hubicka@gcc.gnu.org>
Tue, 21 Sep 2004 00:08:53 +0000 (00:08 +0000)
PR middle-end/17126
* tree-optimize.c (update_inlined_to_pointers): Fix the recursion.
(tree_rest_of_compilation): Cleanup.

From-SVN: r87780

gcc/ChangeLog
gcc/tree-optimize.c

index 167e1b97a47919371fdbcff45d5f154181952890..068db13818e88351b1fa59f4c5ab4eb3d1c8722d 100644 (file)
@@ -1,3 +1,9 @@
+2004-09-21  Jan Hubicka  <jh@suse.cz>
+
+       PR middle-end/17126
+       * tree-optimize.c (update_inlined_to_pointers): Fix the recursion.
+       (tree_rest_of_compilation): Cleanup.
+
 2004-09-20  Ulrich Weigand  <uweigand@de.ibm.com>
 
        * config/s390/s390.c (s390_select_rtx_section): Remove.
index 86b6014979944e34e75bd854c5f041a434d5d055..971f0629b4e4fec34d214299ee760f1b2fdf56e7 100644 (file)
@@ -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);
        }
     }