diff options
author | Richard Sandiford <rdsandiford@googlemail.com> | 2014-05-19 06:49:58 +0000 |
---|---|---|
committer | Richard Sandiford <rsandifo@gcc.gnu.org> | 2014-05-19 06:49:58 +0000 |
commit | 339ba33b4f6f90b30f41705cfc71e1ec2b81ac27 (patch) | |
tree | 17c4d542445096d484b3cb4f6aa83da151b3ee6b /gcc/reorg.c | |
parent | a65d5b87d1af187a2811c36a3c632cd168336d42 (diff) | |
download | gcc-339ba33b4f6f90b30f41705cfc71e1ec2b81ac27.zip gcc-339ba33b4f6f90b30f41705cfc71e1ec2b81ac27.tar.gz gcc-339ba33b4f6f90b30f41705cfc71e1ec2b81ac27.tar.bz2 |
reg-notes.def (CROSSING_JUMP): Likewise.
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.
From-SVN: r210603
Diffstat (limited to 'gcc/reorg.c')
-rw-r--r-- | gcc/reorg.c | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/gcc/reorg.c b/gcc/reorg.c index 95e942f..e4b6d45 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 |