diff options
author | Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz> | 2002-06-01 11:24:41 +0200 |
---|---|---|
committer | Jan Hubicka <hubicka@gcc.gnu.org> | 2002-06-01 09:24:41 +0000 |
commit | 2ecfd709c24bcc376504af4317552e7e492c6702 (patch) | |
tree | 32dca2e27bb3e45f9ac6684f98ae4a2fb5d94a27 /gcc/cfg.c | |
parent | d6ee5ebf93778e5d9b7f7ed82e5def46ba793619 (diff) | |
download | gcc-2ecfd709c24bcc376504af4317552e7e492c6702.zip gcc-2ecfd709c24bcc376504af4317552e7e492c6702.tar.gz gcc-2ecfd709c24bcc376504af4317552e7e492c6702.tar.bz2 |
basic-block.h (struct basic_block_def): New field loop_father.
* basic-block.h (struct basic_block_def): New field loop_father.
(BB_VISITED): New flag.
(struct loop): New field pred, removed field shared.
(struct loops): New field parray.
(LOOP_EXITS_DOMS): Removed.
(flow_loop_tree_node_add, flow_loop_tree_node_remove,
flow_loop_nested_p, flow_bb_inside_loop_p, get_loop_body,
dfs_enumerate_from, loop_preheader_edge, loop_latch_edge,
add_bb_to_loop, remove_bb_from_loops, find_common_loop,
verify_loop_structure): Declare.
* cfg.c (entry_exit_blocks): Initialize loop_father field.
* cfganal.c (dfs_enumerate_from): New function.
* cfgloop.c (HEAVY_EDGE_RATIO): New constant.
(flow_loop_entry_edges_find, flow_loop_exit_edges_find,
flow_loop_nodes_find, flow_loop_level_compute, flow_loop_nested_p,
flow_loop_dump, flow_loops_dump, flow_loops_free,
flow_loop_tree_node_add, flow_loop_level_compute,
flow_loops_level_compute, flow_loop_scan, flow_loops_update,
flow_loop_outside_edge_p): Modified for new infrastructure.
(make_forwarder_block, canonicalize_loop_headers, glb_enum_p,
redirect_edge_with_latch_update, flow_loop_free): New static functions.
(flow_loop_tree_node_remove, flow_bb_inside_loop_p,
get_loop_body, add_bb_to_loop, remove_bb_from_loops,
find_common_loop, verify_loop_structure, loop_latch_edge,
loop_preheader_edge): New functions.
(flow_loops_cfg_dump): Do not show dominators, as this information
does not remain up to date long.
(flow_loops_find): Store results in new format.
* predict.c (propagate_freq, estimate_probability,
estimate_loops_at_level, estimate_bb_frequencies): Use new loop
infrastructure.
From-SVN: r54142
Diffstat (limited to 'gcc/cfg.c')
-rw-r--r-- | gcc/cfg.c | 2 |
1 files changed, 2 insertions, 0 deletions
@@ -100,6 +100,7 @@ struct basic_block_def entry_exit_blocks[2] NULL, /* prev_bb */ EXIT_BLOCK_PTR, /* next_bb */ 0, /* loop_depth */ + NULL, /* loop_father */ 0, /* count */ 0, /* frequency */ 0 /* flags */ @@ -120,6 +121,7 @@ struct basic_block_def entry_exit_blocks[2] ENTRY_BLOCK_PTR, /* prev_bb */ NULL, /* next_bb */ 0, /* loop_depth */ + NULL, /* loop_father */ 0, /* count */ 0, /* frequency */ 0 /* flags */ |