summaryrefslogtreecommitdiff
path: root/gcc/reorg.c
diff options
context:
space:
mode:
authorrsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4>2014-05-19 06:49:58 +0000
committerrsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4>2014-05-19 06:49:58 +0000
commit8f869004286e3c9ebca939700517ff6b0b222445 (patch)
tree17c4d542445096d484b3cb4f6aa83da151b3ee6b /gcc/reorg.c
parent718d002121c011f7b09e0fbcf82291e8082c8ce7 (diff)
downloadgcc-8f869004286e3c9ebca939700517ff6b0b222445.tar.gz
gcc/
* reg-notes.def (CROSSING_JUMP): Likewise. * rtl.h (rtx_def): Update comment for jump flag. (CROSSING_JUMP_P): Define. * cfgcleanup.c (try_forward_edges, try_optimize_cfg): Use it instead of a REG_CROSSING_JUMP note. * cfghooks.c (tidy_fallthru_edges): Likewise. * cfgrtl.c (fixup_partition_crossing, rtl_verify_edges): Likewise. * emit-rtl.c (try_split): Likewise. * haifa-sched.c (sched_create_recovery_edges): Likewise. * ifcvt.c (find_if_case_1, find_if_case_2): Likewise. * jump.c (redirect_jump_2): Likewise. * reorg.c (follow_jumps, fill_slots_from_thread): Likewise. (relax_delay_slots): Likewise. * config/arc/arc.md (jump_i, cbranchsi4_scratch, *bbit): Likewise. (bbit_di): Likewise. * config/arc/arc.c (arc_reorg, arc_can_follow_jump): Likewise. * config/sh/sh.md (jump_compact): Likewise. * bb-reorder.c (rotate_loop): Likewise. (pass_duplicate_computed_gotos::execute): Likewise. (add_reg_crossing_jump_notes): Rename to... (update_crossing_jump_flags): ...this. (pass_partition_blocks::execute): Update accordingly. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@210603 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/reorg.c')
-rw-r--r--gcc/reorg.c13
1 files changed, 6 insertions, 7 deletions
diff --git a/gcc/reorg.c b/gcc/reorg.c
index 95e942f3eaf..e4b6d45176c 100644
--- a/gcc/reorg.c
+++ b/gcc/reorg.c
@@ -2289,8 +2289,8 @@ fill_simple_delay_slots (int non_jumps_p)
If LABEL is not followed by a jump, return LABEL.
If the chain loops or we can't find end, return LABEL,
since that tells caller to avoid changing the insn.
- If the returned label is obtained by following a REG_CROSSING_JUMP
- jump, set *CROSSING to true, otherwise set it to false. */
+ If the returned label is obtained by following a crossing jump,
+ set *CROSSING to true, otherwise set it to false. */
static rtx
follow_jumps (rtx label, rtx jump, bool *crossing)
@@ -2330,8 +2330,7 @@ follow_jumps (rtx label, rtx jump, bool *crossing)
if (!targetm.can_follow_jump (jump, insn))
break;
if (!*crossing)
- *crossing
- = find_reg_note (insn, REG_CROSSING_JUMP, NULL_RTX) != NULL_RTX;
+ *crossing = CROSSING_JUMP_P (jump);
value = this_label;
}
if (depth == 10)
@@ -2800,7 +2799,7 @@ fill_slots_from_thread (rtx insn, rtx condition, rtx thread,
{
reorg_redirect_jump (insn, label);
if (crossing)
- set_unique_reg_note (insn, REG_CROSSING_JUMP, NULL_RTX);
+ CROSSING_JUMP_P (insn) = 1;
}
}
@@ -3175,7 +3174,7 @@ relax_delay_slots (rtx first)
{
reorg_redirect_jump (insn, target_label);
if (crossing)
- set_unique_reg_note (insn, REG_CROSSING_JUMP, NULL_RTX);
+ CROSSING_JUMP_P (insn) = 1;
}
/* See if this jump conditionally branches around an unconditional
@@ -3320,7 +3319,7 @@ relax_delay_slots (rtx first)
reorg_redirect_jump (delay_insn, trial);
target_label = trial;
if (crossing)
- set_unique_reg_note (insn, REG_CROSSING_JUMP, NULL_RTX);
+ CROSSING_JUMP_P (insn) = 1;
}
/* If the first insn at TARGET_LABEL is redundant with a previous