diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 32fa23943de..8fa8e7c6c9a 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,11 @@ +2007-05-12 Steven Bosscher + + * gcse.c (gcse_main): Do jump bypassing in CPROP2. + * passes.c (init_optimization_passes): Move pass_jump_bypass + after loop2. + + * basic-block.h (bb_has_eh_pred): Fix style issue. + 2007-05-12 Steven Bosscher PR rtl-optimization/31848 diff --git a/gcc/basic-block.h b/gcc/basic-block.h index 6286a5d1ed7..3116a52d752 100644 --- a/gcc/basic-block.h +++ b/gcc/basic-block.h @@ -1159,7 +1159,8 @@ extern bool rtx_equiv_p (rtx *, rtx, int, struct equiv_info *); extern bool condjump_equiv_p (struct equiv_info *, bool); /* Return true when one of the predecessor edges of BB is marked with EDGE_EH. */ -static inline bool bb_has_eh_pred (basic_block bb) +static inline bool +bb_has_eh_pred (basic_block bb) { edge e; edge_iterator ei; diff --git a/gcc/gcse.c b/gcc/gcse.c index 70c89ef95fc..b18d17a34e7 100644 --- a/gcc/gcse.c +++ b/gcc/gcse.c @@ -789,7 +789,7 @@ gcse_main (rtx f ATTRIBUTE_UNUSED) alloc_gcse_mem (); /* This time, go ahead and allow cprop to alter jumps. */ timevar_push (TV_CPROP2); - one_cprop_pass (pass + 1, true, false); + one_cprop_pass (pass + 1, true, true); timevar_pop (TV_CPROP2); free_gcse_mem (); diff --git a/gcc/passes.c b/gcc/passes.c index 9650e894cd6..bea89b6f714 100644 --- a/gcc/passes.c +++ b/gcc/passes.c @@ -664,7 +664,6 @@ init_optimization_passes (void) NEXT_PASS (pass_cse); NEXT_PASS (pass_rtl_fwprop); NEXT_PASS (pass_gcse); - NEXT_PASS (pass_jump_bypass); NEXT_PASS (pass_rtl_ifcvt); NEXT_PASS (pass_tracer); /* Perform loop optimizations. It might be better to do them a bit @@ -682,6 +681,7 @@ init_optimization_passes (void) *p = NULL; } NEXT_PASS (pass_web); + NEXT_PASS (pass_jump_bypass); NEXT_PASS (pass_cse2); NEXT_PASS (pass_rtl_fwprop_addr); NEXT_PASS (pass_outof_cfg_layout_mode);