diff options
author | Michael Matz <matz@suse.de> | 2012-05-08 15:54:13 +0000 |
---|---|---|
committer | Michael Matz <matz@suse.de> | 2012-05-08 15:54:13 +0000 |
commit | f06c5a7846443b11f530f0be2da3b1d64a703051 (patch) | |
tree | 6c299e917ec2a3f887c9fedcefdf3a151c51eebb /gcc/cfgcleanup.c | |
parent | 149ae9fecd16b0eaa340e61a9c1f1015e25d19d3 (diff) |
* basic-block.h (struct rtl_bb_info): Remove visited member and
move head_ member to ...
(struct basic_block_def.basic_block_il_dependent): ... the new
member x, replacing but containing old member rtl.
(enum bb_flags): New BB_VISITED flag.
(BB_HEADER, BB_FOOTER): New macros.
* jump.c (mark_all_labels): Adjust.
* cfgcleanup.c (try_optimize_cfg): Adjust.
* cfglayout.c (record_effective_endpoints): Adjust.
(relink_block_chain): Ditto (and don't fiddle with visited).
(fixup_reorder_chain): Adjust.
(fixup_fallthru_exit_predecessor): Ditto.
(cfg_layout_duplicate_bb): Ditto.
* combine.c (update_cfg_for_uncondjump): Adjust.
* bb-reorder.c (struct bbro_basic_block_data_def): Add visited
member.
(bb_visited_trace): New accessor.
(mark_bb_visited): Move in front.
(rotate_loop): Use bb_visited_trace.
(find_traces_1_round): Ditto.
(emit_barrier_after): Ditto.
(copy_bb): Ditto, and initialize visited on resize.
(reorder_basic_blocks): Initize visited member.
(duplicate_computed_gotos): Clear bb flags at start, use
BB_VISITED flags.
* cfgrtl.c (try_redirect_by_replacing_jump): Adjust.
(rtl_verify_flow_info_1): Ditto.
(cfg_layout_split_block): Ditto.
(cfg_layout_delete_block): Ditto.
(cfg_layout_merge_blocks): Ditto.
(init_rtl_bb_info): Adjust and initialize il.x.head_ member.
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@187288 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/cfgcleanup.c')
-rw-r--r-- | gcc/cfgcleanup.c | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/gcc/cfgcleanup.c b/gcc/cfgcleanup.c index d06a9b1a903..e94e7e3fb41 100644 --- a/gcc/cfgcleanup.c +++ b/gcc/cfgcleanup.c @@ -2586,21 +2586,21 @@ try_optimize_cfg (int mode) if (current_ir_type () == IR_RTL_CFGLAYOUT) { - if (b->il.rtl->footer - && BARRIER_P (b->il.rtl->footer)) + if (BB_FOOTER (b) + && BARRIER_P (BB_FOOTER (b))) FOR_EACH_EDGE (e, ei, b->preds) if ((e->flags & EDGE_FALLTHRU) - && e->src->il.rtl->footer == NULL) + && BB_FOOTER (e->src) == NULL) { - if (b->il.rtl->footer) + if (BB_FOOTER (b)) { - e->src->il.rtl->footer = b->il.rtl->footer; - b->il.rtl->footer = NULL; + BB_FOOTER (e->src) = BB_FOOTER (b); + BB_FOOTER (b) = NULL; } else { start_sequence (); - e->src->il.rtl->footer = emit_barrier (); + BB_FOOTER (e->src) = emit_barrier (); end_sequence (); } } |