FOR_EACH_BB (bb)
{
/* Check for more than one successor. */
- if (! EDGE_COUNT (bb->succs) > 1)
+ if (EDGE_COUNT (bb->succs) <= 1)
continue;
cond = fis_get_condition (BB_END (bb));
static bool
gate_rtl_cprop (void)
{
- return optimize > 0 && flag_gcse;
+ return optimize > 0 && flag_gcse
+ && !cfun->calls_setjmp
+ && dbg_cnt (cprop);
}
static unsigned int
execute_rtl_cprop (void)
{
int changed;
-
- if (cfun->calls_setjmp || !dbg_cnt (cprop))
- return 0;
-
delete_unreachable_blocks ();
df_set_flags (DF_LR_RUN_DCE);
df_analyze ();
0, /* properties_destroyed */
0, /* todo_flags_start */
TODO_df_finish | TODO_verify_rtl_sharing |
- TODO_dump_func |
TODO_verify_flow | TODO_ggc_collect /* todo_flags_finish */
}
};