tree-ssa.c (verify_flow_sensitive_alias_info): Do not walk dead nodes.
authorJan Hubicka <jh@suse.cz>
Wed, 15 Sep 2004 14:15:36 +0000 (16:15 +0200)
committerJan Hubicka <hubicka@gcc.gnu.org>
Wed, 15 Sep 2004 14:15:36 +0000 (14:15 +0000)
* tree-ssa.c (verify_flow_sensitive_alias_info): Do not walk dead nodes.
* tree-tailcall.c (eliminate_tail_call): Release SSA name.

From-SVN: r87554

gcc/ChangeLog
gcc/tree-tailcall.c

index 0ec5d0c5105da39d648b441f9394840c7747d942..c7210971c2e5d6c3b90f74cea63bfbbab99bb8af 100644 (file)
@@ -1,5 +1,8 @@
 2004-09-15  Jan Hubicka  <jh@suse.cz>
 
+       * tree-ssa.c (verify_flow_sensitive_alias_info): Do not walk dead nodes.
+       * tree-tailcall.c (eliminate_tail_call): Release SSA name.
+
        * tree-cfg.c (remove_bb): Release SSA defs.
 
 2004-09-15  Kazu Hirata  <kazu@cs.umass.edu>
index cfe9dfaacc1e003f611be1d213b29e7ba3d7f9d2..e1c1f672ac6c44ba6b8624f4c27dd533db54e0fd 100644 (file)
@@ -686,12 +686,14 @@ eliminate_tail_call (struct tailcall *t)
   bsi_next (&bsi);
   while (!bsi_end_p (bsi))
     {
+      tree t = bsi_stmt (bsi);
       /* Do not remove the return statement, so that redirect_edge_and_branch
         sees how the block ends.  */
-      if (TREE_CODE (bsi_stmt (bsi)) == RETURN_EXPR)
+      if (TREE_CODE (t) == RETURN_EXPR)
        break;
 
       bsi_remove (&bsi);
+      release_defs (t);
     }
 
   /* Replace the call by a jump to the start of function.  */
@@ -775,6 +777,7 @@ eliminate_tail_call (struct tailcall *t)
     }
 
   bsi_remove (&t->call_bsi);
+  release_defs (call);
 }
 
 /* Optimizes the tailcall described by T.  If OPT_TAILCALLS is true, also