From 6f17d116b739645d9c331ffb4b741eebbfb69a5c Mon Sep 17 00:00:00 2001 From: Andrew Pinski Date: Sun, 28 Oct 2007 10:00:54 -0700 Subject: re PR middle-end/33589 (ICE on valid code at -O2: verify_flow_info failed) 2007-10-28 Andrew Pinski PR tree-opt/33589 * tree-outof-ssa.c (rewrite_trees): If the statement changed, cleanup the eh information on the statement. 2007-10-28 Andrew Pinski PR tree-opt/33589 * g++.dg/torture/pr33589-1.C: New testcase. * g++.dg/torture/pr33589-2.C: New testcase. From-SVN: r129700 --- gcc/tree-outof-ssa.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'gcc/tree-outof-ssa.c') diff --git a/gcc/tree-outof-ssa.c b/gcc/tree-outof-ssa.c index d01c663..fd22d32 100644 --- a/gcc/tree-outof-ssa.c +++ b/gcc/tree-outof-ssa.c @@ -758,7 +758,12 @@ rewrite_trees (var_map map, tree *values) if (remove) bsi_remove (&si, true); else - bsi_next (&si); + { + if (changed) + if (maybe_clean_or_replace_eh_stmt (stmt, stmt)) + tree_purge_dead_eh_edges (bb); + bsi_next (&si); + } } phi = phi_nodes (bb); -- cgit v1.1