summaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorsteven <steven@138bc75d-0d04-0410-961f-82ee72b054a4>2007-05-12 18:15:38 +0000
committersteven <steven@138bc75d-0d04-0410-961f-82ee72b054a4>2007-05-12 18:15:38 +0000
commitec028b54da813c3bcba619eae704c26264fd606d (patch)
tree75725d6ce95d2bc9a7b1042c5fbda74a6335834d /gcc
parentbc25a2eef2c843af08c98b674faf58d47c5dc07d (diff)
downloadgcc-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/ChangeLog8
-rw-r--r--gcc/basic-block.h3
-rw-r--r--gcc/gcse.c2
-rw-r--r--gcc/passes.c2
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);