diff options
author | rguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2012-01-30 13:40:24 +0000 |
---|---|---|
committer | rguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2012-01-30 13:40:24 +0000 |
commit | b7b10fb5db6fee0dc20470c4d63e0903920f694d (patch) | |
tree | f01416095214e10ee34cb19e2462b338af814a06 /gcc/tree-optimize.c | |
parent | e723655c9de36b169f2fb2d7f8a439c5a503e211 (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.c | 6 |
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 = |