For the record: fix to PR/18662
Richard Kenner
kenner@vlsi1.ultra.nyu.edu
Mon Nov 29 01:50:00 GMT 2004
As discussed on GCC list:
2004-11-28 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
Diego Novillo <dnovillo@redhat.com>
PR/18662, also backported from tree-cleanup-branch.
* tree-ssa-ccp.c (substitute_and_fold): If replaced anything,
always call maybe_clean_eh_stmt and modify_stmt.
*** tree-ssa-ccp.c 29 Nov 2004 01:08:41 -0000 2.52
--- tree-ssa-ccp.c 29 Nov 2004 01:11:50 -0000
*************** substitute_and_fold (void)
*** 580,593 ****
bool changed = fold_stmt (bsi_stmt_ptr (i));
stmt = bsi_stmt(i);
/* If we folded a builtin function, we'll likely
need to rename VDEFs. */
if (replaced_address || changed)
! {
! mark_new_vars_to_rename (stmt, vars_to_rename);
! if (maybe_clean_eh_stmt (stmt))
! tree_purge_dead_eh_edges (bb);
! }
! else
! modify_stmt (stmt);
}
--- 580,595 ----
bool changed = fold_stmt (bsi_stmt_ptr (i));
stmt = bsi_stmt(i);
+
/* If we folded a builtin function, we'll likely
need to rename VDEFs. */
if (replaced_address || changed)
! mark_new_vars_to_rename (stmt, vars_to_rename);
!
! /* If we cleaned up EH information from the statement,
! remove EH edges. */
! if (maybe_clean_eh_stmt (stmt))
! tree_purge_dead_eh_edges (bb);
!
! modify_stmt (stmt);
}
More information about the Gcc-patches
mailing list