summaryrefslogtreecommitdiff
path: root/gcc/mode-switching.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/mode-switching.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/mode-switching.c')
-rw-r--r--gcc/mode-switching.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/gcc/mode-switching.c b/gcc/mode-switching.c
index c66fd3c5998..968061c2482 100644
--- a/gcc/mode-switching.c
+++ b/gcc/mode-switching.c
@@ -219,7 +219,7 @@ create_pre_exit (int n_entities, int *entity_map, const int *num_modes)
if (eg->flags & EDGE_FALLTHRU)
{
basic_block src_bb = eg->src;
- regset live_at_end = src_bb->global_live_at_end;
+ regset live_at_end = src_bb->il.rtl->global_live_at_end;
rtx last_insn, ret_reg;
gcc_assert (!pre_exit);
@@ -368,8 +368,8 @@ create_pre_exit (int n_entities, int *entity_map, const int *num_modes)
else
{
pre_exit = split_edge (eg);
- COPY_REG_SET (pre_exit->global_live_at_start, live_at_end);
- COPY_REG_SET (pre_exit->global_live_at_end, live_at_end);
+ COPY_REG_SET (pre_exit->il.rtl->global_live_at_start, live_at_end);
+ COPY_REG_SET (pre_exit->il.rtl->global_live_at_end, live_at_end);
}
}
@@ -453,7 +453,7 @@ optimize_mode_switching (FILE *file)
HARD_REG_SET live_now;
REG_SET_TO_HARD_REG_SET (live_now,
- bb->global_live_at_start);
+ bb->il.rtl->global_live_at_start);
for (insn = BB_HEAD (bb);
insn != NULL && insn != NEXT_INSN (BB_END (bb));
insn = NEXT_INSN (insn))
@@ -583,7 +583,7 @@ optimize_mode_switching (FILE *file)
src_bb = eg->src;
REG_SET_TO_HARD_REG_SET (live_at_edge,
- src_bb->global_live_at_end);
+ src_bb->il.rtl->global_live_at_end);
start_sequence ();
EMIT_MODE_SET (entity_map[j], mode, live_at_edge);