aboutsummaryrefslogtreecommitdiff
path: root/gcc/haifa-sched.c
diff options
context:
space:
mode:
authorSteven Bosscher <steven@gcc.gnu.org>2013-11-13 22:55:49 +0000
committerSteven Bosscher <steven@gcc.gnu.org>2013-11-13 22:55:49 +0000
commitd7b6661b5518178c86b947a5996afbd468ee69a6 (patch)
treec0544da5ab78cc2a30727ef7c2fc441c94407305 /gcc/haifa-sched.c
parentc3d77f3add93300df9893709111089f2a9650e83 (diff)
downloadgcc-d7b6661b5518178c86b947a5996afbd468ee69a6.zip
gcc-d7b6661b5518178c86b947a5996afbd468ee69a6.tar.gz
gcc-d7b6661b5518178c86b947a5996afbd468ee69a6.tar.bz2
cfgrtl.c (can_fallthru): Reorder code to move tablejump check up.
* cfgrtl.c (can_fallthru): Reorder code to move tablejump check up. Make that check explicit. BB_HEAD cannot be NULL, remove check for it. * haifa-sched.c (ready_remove_first_dispatch): Check INSN_P before looking at INSN_CODE. * reload1.c (delete_dead_insn) Do not expect JUMP_TABLE_DATA to be an active_insn_p object, respect basic block boundaries. * reorg.c (follow_jumps): Use invariant that JUMP_TABLE_DATA always follows immediately after the jump table data label. * config/nds32/nds32.c (nds32_output_casesi_pc_relative): Likewise. * config/sh/sh.c (barrier_align): Likewise. Rearrange code such that JUMP_TABLE_DATA is not expected to be an active_insn_p object. From-SVN: r204758
Diffstat (limited to 'gcc/haifa-sched.c')
-rw-r--r--gcc/haifa-sched.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/gcc/haifa-sched.c b/gcc/haifa-sched.c
index 728d51b..5edf574 100644
--- a/gcc/haifa-sched.c
+++ b/gcc/haifa-sched.c
@@ -8589,8 +8589,8 @@ ready_remove_first_dispatch (struct ready_list *ready)
rtx insn = ready_element (ready, 0);
if (ready->n_ready == 1
- || INSN_CODE (insn) < 0
|| !INSN_P (insn)
+ || INSN_CODE (insn) < 0
|| !active_insn_p (insn)
|| targetm.sched.dispatch (insn, FITS_DISPATCH_WINDOW))
return ready_remove_first (ready);
@@ -8599,8 +8599,8 @@ ready_remove_first_dispatch (struct ready_list *ready)
{
insn = ready_element (ready, i);
- if (INSN_CODE (insn) < 0
- || !INSN_P (insn)
+ if (!INSN_P (insn)
+ || INSN_CODE (insn) < 0
|| !active_insn_p (insn))
continue;
@@ -8619,8 +8619,8 @@ ready_remove_first_dispatch (struct ready_list *ready)
{
insn = ready_element (ready, i);
- if (INSN_CODE (insn) < 0
- || !INSN_P (insn)
+ if (! INSN_P (insn)
+ || INSN_CODE (insn) < 0
|| !active_insn_p (insn))
continue;