summaryrefslogtreecommitdiff
path: root/gcc/tree-optimize.c
diff options
context:
space:
mode:
authorrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>2012-01-30 13:40:24 +0000
committerrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>2012-01-30 13:40:24 +0000
commitb7b10fb5db6fee0dc20470c4d63e0903920f694d (patch)
treef01416095214e10ee34cb19e2462b338af814a06 /gcc/tree-optimize.c
parente723655c9de36b169f2fb2d7f8a439c5a503e211 (diff)
2012-01-30 Richard Guenther <rguenther@suse.de>
PR tree-optimization/52045 * tree-optimize.c (execute_cleanup_cfg_post_optimizing): Update SSA form if cfgcleanup did anything. * gcc.dg/pr52045.c: New testcase. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@183722 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/tree-optimize.c')
-rw-r--r--gcc/tree-optimize.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/gcc/tree-optimize.c b/gcc/tree-optimize.c
index d242204b6719..3d18d20a003c 100644
--- a/gcc/tree-optimize.c
+++ b/gcc/tree-optimize.c
@@ -157,7 +157,9 @@ struct gimple_opt_pass pass_all_early_optimizations =
static unsigned int
execute_cleanup_cfg_post_optimizing (void)
{
- cleanup_tree_cfg ();
+ unsigned int todo = 0;
+ if (cleanup_tree_cfg ())
+ todo |= TODO_update_ssa;
maybe_remove_unreachable_handlers ();
cleanup_dead_labels ();
group_case_labels ();
@@ -190,7 +192,7 @@ execute_cleanup_cfg_post_optimizing (void)
}
}
}
- return 0;
+ return todo;
}
struct gimple_opt_pass pass_cleanup_cfg_post_optimizing =