Commit bae8b6b2 by Steven Bosscher

gcse.c (gcse_main): Do jump bypassing in CPROP2.

	* 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.

From-SVN: r124640
parent 7f6055d0
2007-05-12 Steven Bosscher <steven@gcc.gnu.org> 2007-05-12 Steven Bosscher <steven@gcc.gnu.org>
* 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 <steven@gcc.gnu.org>
PR rtl-optimization/31848 PR rtl-optimization/31848
* loop-invariant.c (move_invariant_reg): If we move an insn * loop-invariant.c (move_invariant_reg): If we move an insn
with a REG_EQUAL note, and that insn is not always executed, with a REG_EQUAL note, and that insn is not always executed,
......
...@@ -1159,7 +1159,8 @@ extern bool rtx_equiv_p (rtx *, rtx, int, struct equiv_info *); ...@@ -1159,7 +1159,8 @@ extern bool rtx_equiv_p (rtx *, rtx, int, struct equiv_info *);
extern bool condjump_equiv_p (struct equiv_info *, bool); extern bool condjump_equiv_p (struct equiv_info *, bool);
/* Return true when one of the predecessor edges of BB is marked with EDGE_EH. */ /* 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 e;
edge_iterator ei; edge_iterator ei;
......
...@@ -789,7 +789,7 @@ gcse_main (rtx f ATTRIBUTE_UNUSED) ...@@ -789,7 +789,7 @@ gcse_main (rtx f ATTRIBUTE_UNUSED)
alloc_gcse_mem (); alloc_gcse_mem ();
/* This time, go ahead and allow cprop to alter jumps. */ /* This time, go ahead and allow cprop to alter jumps. */
timevar_push (TV_CPROP2); timevar_push (TV_CPROP2);
one_cprop_pass (pass + 1, true, false); one_cprop_pass (pass + 1, true, true);
timevar_pop (TV_CPROP2); timevar_pop (TV_CPROP2);
free_gcse_mem (); free_gcse_mem ();
......
...@@ -664,7 +664,6 @@ init_optimization_passes (void) ...@@ -664,7 +664,6 @@ init_optimization_passes (void)
NEXT_PASS (pass_cse); NEXT_PASS (pass_cse);
NEXT_PASS (pass_rtl_fwprop); NEXT_PASS (pass_rtl_fwprop);
NEXT_PASS (pass_gcse); NEXT_PASS (pass_gcse);
NEXT_PASS (pass_jump_bypass);
NEXT_PASS (pass_rtl_ifcvt); NEXT_PASS (pass_rtl_ifcvt);
NEXT_PASS (pass_tracer); NEXT_PASS (pass_tracer);
/* Perform loop optimizations. It might be better to do them a bit /* Perform loop optimizations. It might be better to do them a bit
...@@ -682,6 +681,7 @@ init_optimization_passes (void) ...@@ -682,6 +681,7 @@ init_optimization_passes (void)
*p = NULL; *p = NULL;
} }
NEXT_PASS (pass_web); NEXT_PASS (pass_web);
NEXT_PASS (pass_jump_bypass);
NEXT_PASS (pass_cse2); NEXT_PASS (pass_cse2);
NEXT_PASS (pass_rtl_fwprop_addr); NEXT_PASS (pass_rtl_fwprop_addr);
NEXT_PASS (pass_outof_cfg_layout_mode); NEXT_PASS (pass_outof_cfg_layout_mode);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment