{
unsigned int todo = execute_fixup_cfg ();
if (cleanup_tree_cfg ())
- {
- todo &= ~TODO_cleanup_cfg;
- todo |= TODO_update_ssa;
- }
+ todo |= TODO_update_ssa;
maybe_remove_unreachable_handlers ();
cleanup_dead_labels ();
if (group_case_labels () && cleanup_tree_cfg ())
if (optimize)
make_forwarders_with_degenerate_phis (cfun);
+ /* Make sure todo does not have cleanup cfg as we don't want
+ remove the forwarder blocks we just created. cleanup cfg
+ has already happened. */
+ todo &= ~TODO_cleanup_cfg;
+
basic_block bb = single_succ (ENTRY_BLOCK_PTR_FOR_FN (cfun));
gimple_stmt_iterator gsi = gsi_start_nondebug_after_labels_bb (bb);
/* If the first (and only) bb and the only non debug