aboutsummaryrefslogtreecommitdiff
path: root/gcc/cfgcleanup.c
diff options
context:
space:
mode:
authorRichard Sandiford <rdsandiford@googlemail.com>2014-05-19 06:49:58 +0000
committerRichard Sandiford <rsandifo@gcc.gnu.org>2014-05-19 06:49:58 +0000
commit339ba33b4f6f90b30f41705cfc71e1ec2b81ac27 (patch)
tree17c4d542445096d484b3cb4f6aa83da151b3ee6b /gcc/cfgcleanup.c
parenta65d5b87d1af187a2811c36a3c632cd168336d42 (diff)
downloadgcc-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/cfgcleanup.c')
-rw-r--r--gcc/cfgcleanup.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/gcc/cfgcleanup.c b/gcc/cfgcleanup.c
index 2912176..7c24a6d 100644
--- a/gcc/cfgcleanup.c
+++ b/gcc/cfgcleanup.c
@@ -419,7 +419,7 @@ try_forward_edges (int mode, basic_block b)
partition boundaries). See the comments at the top of
bb-reorder.c:partition_hot_cold_basic_blocks for complete details. */
- if (find_reg_note (BB_END (b), REG_CROSSING_JUMP, NULL_RTX))
+ if (JUMP_P (BB_END (b)) && CROSSING_JUMP_P (BB_END (b)))
return false;
for (ei = ei_start (b->succs); (e = ei_safe_edge (ei)); )
@@ -457,7 +457,8 @@ try_forward_edges (int mode, basic_block b)
details. */
if (first != EXIT_BLOCK_PTR_FOR_FN (cfun)
- && find_reg_note (BB_END (first), REG_CROSSING_JUMP, NULL_RTX))
+ && JUMP_P (BB_END (first))
+ && CROSSING_JUMP_P (BB_END (first)))
return changed;
while (counter < n_basic_blocks_for_fn (cfun))
@@ -2797,7 +2798,7 @@ try_optimize_cfg (int mode)
if (single_succ_p (b)
&& single_succ (b) != EXIT_BLOCK_PTR_FOR_FN (cfun)
&& onlyjump_p (BB_END (b))
- && !find_reg_note (BB_END (b), REG_CROSSING_JUMP, NULL_RTX)
+ && !CROSSING_JUMP_P (BB_END (b))
&& try_redirect_by_replacing_jump (single_succ_edge (b),
single_succ (b),
(mode & CLEANUP_CFGLAYOUT) != 0))