From 190bea879f9e6c85aa7a8d191e09b1ef1e85ac26 Mon Sep 17 00:00:00 2001 From: David Malcolm Date: Mon, 18 Aug 2014 20:48:17 +0000 Subject: Split BB_HEAD et al into BB_HEAD/SET_BB_HEAD variants gcc/ 2014-08-18 David Malcolm * basic-block.h (BB_HEAD): Split macro in two: the existing one, for rvalues, and... (SET_BB_HEAD): New macro, for use as a lvalue. (BB_END, SET_BB_END): Likewise. (BB_HEADER, SET_BB_HEADER): Likewise. (BB_FOOTER, SET_BB_FOOTER): Likewise. * bb-reorder.c (add_labels_and_missing_jumps): Convert lvalue use of BB_* macros into SET_BB_* macros. (fix_crossing_unconditional_branches): Likewise. * caller-save.c (save_call_clobbered_regs): Likewise. (insert_one_insn): Likewise. * cfgbuild.c (find_bb_boundaries): Likewise. * cfgcleanup.c (merge_blocks_move_successor_nojumps): Likewise. (outgoing_edges_match): Likewise. (try_optimize_cfg): Likewise. * cfgexpand.c (expand_gimple_cond): Likewise. (expand_gimple_tailcall): Likewise. (expand_gimple_basic_block): Likewise. (construct_exit_block): Likewise. * cfgrtl.c (delete_insn): Likewise. (create_basic_block_structure): Likewise. (rtl_delete_block): Likewise. (rtl_split_block): Likewise. (emit_nop_for_unique_locus_between): Likewise. (rtl_merge_blocks): Likewise. (block_label): Likewise. (try_redirect_by_replacing_jump): Likewise. (emit_barrier_after_bb): Likewise. (fixup_abnormal_edges): Likewise. (record_effective_endpoints): Likewise. (relink_block_chain): Likewise. (fixup_reorder_chain): Likewise. (fixup_fallthru_exit_predecessor): Likewise. (cfg_layout_duplicate_bb): Likewise. (cfg_layout_split_block): Likewise. (cfg_layout_delete_block): Likewise. (cfg_layout_merge_blocks): Likewise. * combine.c (update_cfg_for_uncondjump): Likewise. * emit-rtl.c (add_insn_after): Likewise. (remove_insn): Likewise. (reorder_insns): Likewise. (emit_insn_after_1): Likewise. * haifa-sched.c (get_ebb_head_tail): Likewise. (restore_other_notes): Likewise. (move_insn): Likewise. (sched_extend_bb): Likewise. (fix_jump_move): Likewise. * ifcvt.c (noce_process_if_block): Likewise. (dead_or_predicable): Likewise. * ira.c (update_equiv_regs): Likewise. * reg-stack.c (change_stack): Likewise. * sel-sched-ir.c (sel_move_insn): Likewise. * sel-sched.c (move_nop_to_previous_block): Likewise. * config/c6x/c6x.c (hwloop_optimize): Likewise. * config/ia64/ia64.c (emit_predicate_relation_info): Likewise. / 2014-08-18 David Malcolm * rtx-classes-status.txt (TODO): Add SET_BB_HEAD, SET_BB_END, SET_BB_HEADER, SET_BB_FOOTER From-SVN: r214121 --- gcc/cfgcleanup.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) (limited to 'gcc/cfgcleanup.c') diff --git a/gcc/cfgcleanup.c b/gcc/cfgcleanup.c index 0fbfd55..d6d4bc0 100644 --- a/gcc/cfgcleanup.c +++ b/gcc/cfgcleanup.c @@ -726,7 +726,7 @@ merge_blocks_move_successor_nojumps (basic_block a, basic_block b) if (tablejump_p (BB_END (b), &label, &table) && prev_active_insn (label) == BB_END (b)) { - BB_END (b) = table; + SET_BB_END (b) = table; } /* There had better have been a barrier there. Delete it. */ @@ -739,7 +739,7 @@ merge_blocks_move_successor_nojumps (basic_block a, basic_block b) reorder_insns_nobb (BB_HEAD (b), BB_END (b), BB_END (a)); /* Restore the real end of b. */ - BB_END (b) = real_b_end; + SET_BB_END (b) = real_b_end; if (dump_file) fprintf (dump_file, "Moved block %d after %d and merged.\n", @@ -1723,7 +1723,7 @@ outgoing_edges_match (int mode, basic_block bb1, basic_block bb2) rr.r1 = label1; rr.r2 = label2; rr.update_label_nuses = false; - for_each_rtx (&BB_END (bb1), replace_label, &rr); + for_each_rtx (&SET_BB_END (bb1), replace_label, &rr); match = (old_insns_match_p (mode, BB_END (bb1), BB_END (bb2)) == dir_both); @@ -1737,7 +1737,7 @@ outgoing_edges_match (int mode, basic_block bb1, basic_block bb2) from the instruction is deleted too. */ rr.r1 = label2; rr.r2 = label1; - for_each_rtx (&BB_END (bb1), replace_label, &rr); + for_each_rtx (&SET_BB_END (bb1), replace_label, &rr); return match; } @@ -2673,13 +2673,13 @@ try_optimize_cfg (int mode) { if (BB_FOOTER (b)) { - BB_FOOTER (e->src) = BB_FOOTER (b); - BB_FOOTER (b) = NULL; + SET_BB_FOOTER (e->src) = BB_FOOTER (b); + SET_BB_FOOTER (b) = NULL; } else { start_sequence (); - BB_FOOTER (e->src) = emit_barrier (); + SET_BB_FOOTER (e->src) = emit_barrier (); end_sequence (); } } -- cgit v1.1