diff options
author | hubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4> | 2005-06-16 10:33:40 +0000 |
---|---|---|
committer | hubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4> | 2005-06-16 10:33:40 +0000 |
commit | e0dde8f8f8975b893fb6604a17de35ca881e85e9 (patch) | |
tree | 681bd279155de09165d78fad8c1bda0ae8a5495f /gcc/cfg.c | |
parent | 9bc610b610152b60bbcdd789e96b72b1392035c3 (diff) | |
download | gcc-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/cfg.c')
-rw-r--r-- | gcc/cfg.c | 24 |
1 files changed, 14 insertions, 10 deletions
diff --git a/gcc/cfg.c b/gcc/cfg.c index f33a95061a0..4add5df8762 100644 --- a/gcc/cfg.c +++ b/gcc/cfg.c @@ -421,7 +421,8 @@ clear_bb_flags (void) basic_block bb; FOR_BB_BETWEEN (bb, ENTRY_BLOCK_PTR, NULL, next_bb) - bb->flags = BB_PARTITION (bb) | (bb->flags & BB_DISABLE_SCHEDULE); + bb->flags = (BB_PARTITION (bb) | (bb->flags & BB_DISABLE_SCHEDULE) + | (bb->flags & BB_RTL)); } /* Check the consistency of profile information. We can't do that @@ -553,16 +554,19 @@ dump_flow_info (FILE *file) FOR_EACH_EDGE (e, ei, bb->succs) dump_edge_info (file, e, 1); - if (bb->global_live_at_start) + if (bb->flags & BB_RTL) { - fprintf (file, "\nRegisters live at start:"); - dump_regset (bb->global_live_at_start, file); - } - - if (bb->global_live_at_end) - { - fprintf (file, "\nRegisters live at end:"); - dump_regset (bb->global_live_at_end, file); + if (bb->il.rtl->global_live_at_start) + { + fprintf (file, "\nRegisters live at start:"); + dump_regset (bb->il.rtl->global_live_at_start, file); + } + + if (bb->il.rtl->global_live_at_end) + { + fprintf (file, "\nRegisters live at end:"); + dump_regset (bb->il.rtl->global_live_at_end, file); + } } putc ('\n', file); |