aboutsummaryrefslogtreecommitdiff
path: root/gcc/cfgcleanup.c
diff options
context:
space:
mode:
authorMichael Matz <matz@suse.de>2012-05-08 15:54:13 +0000
committerMichael Matz <matz@suse.de>2012-05-08 15:54:13 +0000
commitf06c5a7846443b11f530f0be2da3b1d64a703051 (patch)
tree6c299e917ec2a3f887c9fedcefdf3a151c51eebb /gcc/cfgcleanup.c
parent149ae9fecd16b0eaa340e61a9c1f1015e25d19d3 (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.c14
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 ();
}
}