OSDN Git Service

PR tree-optimization/23626
authorrakdver <rakdver@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 2 Sep 2005 09:04:45 +0000 (09:04 +0000)
committerrakdver <rakdver@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 2 Sep 2005 09:04:45 +0000 (09:04 +0000)
* tree-cfg.c (replace_uses_by): Clean up eh info.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@103766 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/tree-cfg.c

index 4437e82..44b66fb 100644 (file)
@@ -1,3 +1,8 @@
+2005-09-02  Zdenek Dvorak  <dvorakz@suse.cz>
+
+       PR tree-optimization/23626
+       * tree-cfg.c (replace_uses_by): Clean up eh info.
+
 2005-09-01  DJ Delorie  <dj@redhat.com>
 
        * config/m32c/m32c.c (m32c_valid_pointer_mode): Remove stray debug
index 7a0bf1b..df97058 100644 (file)
@@ -1273,6 +1273,10 @@ replace_uses_by (tree name, tree val)
       if (TREE_CODE (rhs) == ADDR_EXPR)
        recompute_tree_invarant_for_addr_expr (rhs);
 
+      /* If the statement could throw and now cannot, we need to prune cfg.  */
+      if (maybe_clean_or_replace_eh_stmt (stmt, stmt))
+       tree_purge_dead_eh_edges (bb_for_stmt (stmt));
+
       mark_new_vars_to_rename (stmt);
     }