diff options
Diffstat (limited to 'gcc/cprop.c')
-rw-r--r-- | gcc/cprop.c | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/gcc/cprop.c b/gcc/cprop.c index a81a808..b7b17b1 100644 --- a/gcc/cprop.c +++ b/gcc/cprop.c @@ -1843,17 +1843,15 @@ one_cprop_pass (void) 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 (); @@ -1884,3 +1882,4 @@ struct rtl_opt_pass pass_rtl_cprop = TODO_verify_flow | TODO_ggc_collect /* todo_flags_finish */ } }; + |