diff options
Diffstat (limited to 'gcc/ifcvt.c')
| -rw-r--r-- | gcc/ifcvt.c | 15 |
1 files changed, 5 insertions, 10 deletions
diff --git a/gcc/ifcvt.c b/gcc/ifcvt.c index bbd349daf07..9df57bb1574 100644 --- a/gcc/ifcvt.c +++ b/gcc/ifcvt.c @@ -3908,18 +3908,13 @@ if_convert (int x_life_data_ok) num_true_changes = 0; life_data_ok = (x_life_data_ok != 0); - if ((! targetm.cannot_modify_jumps_p ()) - && (!flag_reorder_blocks_and_partition || !no_new_pseudos - || !targetm.have_named_sections)) + loop_optimizer_init (AVOID_CFG_MODIFICATIONS); + if (current_loops) { - loop_optimizer_init (0); - if (current_loops) - { - mark_loop_exit_edges (); - loop_optimizer_finalize (); - } - free_dominance_info (CDI_DOMINATORS); + mark_loop_exit_edges (); + loop_optimizer_finalize (); } + free_dominance_info (CDI_DOMINATORS); /* Compute postdominators if we think we'll use them. */ if (HAVE_conditional_execution || life_data_ok) |

