summaryrefslogtreecommitdiff
path: root/gcc/cfglayout.c
diff options
context:
space:
mode:
authorhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>2005-06-16 10:33:40 +0000
committerhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>2005-06-16 10:33:40 +0000
commite0dde8f8f8975b893fb6604a17de35ca881e85e9 (patch)
tree681bd279155de09165d78fad8c1bda0ae8a5495f /gcc/cfglayout.c
parent9bc610b610152b60bbcdd789e96b72b1392035c3 (diff)
downloadgcc-e0dde8f8f8975b893fb6604a17de35ca881e85e9.tar.gz
* basic-block.h (rtl_bb_info): Break out head_, end_,
global_live_at_start, global_live_at_end from ... (basic_block_def): ... here; update all references (BB_RTL): New flag. (init_rtl_bb_info): Declare. * cfgexpand.c (expand_gimple_basic_block): Init bb info, set BB_RTL flag. * cfgrtl.c: Include ggc.h (create_basic_block_structure): Init bb info. (rtl_verify_flow_info_1): Check BB_RTL flag and rtl_bb_info pointer. (init_rtl_bb_info): New function. (rtl_merge_block, cfglayout_merge_block): Copy global_live_at_end here. * cfghooks.c (merge_block): Do not copy global_live_at_end here. * cfg.c (clear_bb_flags): Skip BB_RTL flag. (dump_flow_info): Gueard global_live_* dumping. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@101082 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/cfglayout.c')
-rw-r--r--gcc/cfglayout.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/gcc/cfglayout.c b/gcc/cfglayout.c
index 7cf0dcf2743..4eda4f40a75 100644
--- a/gcc/cfglayout.c
+++ b/gcc/cfglayout.c
@@ -1074,12 +1074,14 @@ cfg_layout_duplicate_bb (basic_block bb)
new_bb->rbi->footer = unlink_insn_chain (insn, get_last_insn ());
}
- if (bb->global_live_at_start)
+ if (bb->il.rtl->global_live_at_start)
{
- new_bb->global_live_at_start = ALLOC_REG_SET (&reg_obstack);
- new_bb->global_live_at_end = ALLOC_REG_SET (&reg_obstack);
- COPY_REG_SET (new_bb->global_live_at_start, bb->global_live_at_start);
- COPY_REG_SET (new_bb->global_live_at_end, bb->global_live_at_end);
+ new_bb->il.rtl->global_live_at_start = ALLOC_REG_SET (&reg_obstack);
+ new_bb->il.rtl->global_live_at_end = ALLOC_REG_SET (&reg_obstack);
+ COPY_REG_SET (new_bb->il.rtl->global_live_at_start,
+ bb->il.rtl->global_live_at_start);
+ COPY_REG_SET (new_bb->il.rtl->global_live_at_end,
+ bb->il.rtl->global_live_at_end);
}
return new_bb;