diff options
author | steven <steven@138bc75d-0d04-0410-961f-82ee72b054a4> | 2007-05-12 18:15:38 +0000 |
---|---|---|
committer | steven <steven@138bc75d-0d04-0410-961f-82ee72b054a4> | 2007-05-12 18:15:38 +0000 |
commit | ec028b54da813c3bcba619eae704c26264fd606d (patch) | |
tree | 75725d6ce95d2bc9a7b1042c5fbda74a6335834d /gcc | |
parent | bc25a2eef2c843af08c98b674faf58d47c5dc07d (diff) | |
download | gcc-ec028b54da813c3bcba619eae704c26264fd606d.tar.gz |
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@124640 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 8 | ||||
-rw-r--r-- | gcc/basic-block.h | 3 | ||||
-rw-r--r-- | gcc/gcse.c | 2 | ||||
-rw-r--r-- | gcc/passes.c | 2 |
4 files changed, 12 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 32fa23943de..8fa8e7c6c9a 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,13 @@ 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 * loop-invariant.c (move_invariant_reg): If we move an insn with a REG_EQUAL note, and that insn is not always executed, 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); |