aboutsummaryrefslogtreecommitdiff
path: root/gcc/cfg.c
diff options
context:
space:
mode:
authorJan Hubicka <jh@suse.cz>2005-06-16 12:33:40 +0200
committerJan Hubicka <hubicka@gcc.gnu.org>2005-06-16 10:33:40 +0000
commit5e2d947ce84b1a8baa2252c5ff04b9b3931b3893 (patch)
tree681bd279155de09165d78fad8c1bda0ae8a5495f /gcc/cfg.c
parent0adcdb66ecc4606e302524b98811d82fa555bc4b (diff)
downloadgcc-5e2d947ce84b1a8baa2252c5ff04b9b3931b3893.zip
gcc-5e2d947ce84b1a8baa2252c5ff04b9b3931b3893.tar.gz
gcc-5e2d947ce84b1a8baa2252c5ff04b9b3931b3893.tar.bz2
basic-block.h (rtl_bb_info): Break out head_, end_, global_live_at_start, global_live_at_end from ...
* 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. From-SVN: r101082
Diffstat (limited to 'gcc/cfg.c')
-rw-r--r--gcc/cfg.c24
1 files changed, 14 insertions, 10 deletions
diff --git a/gcc/cfg.c b/gcc/cfg.c
index f33a950..4add5df 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);