* basic-block.h (struct basic_block_def): New field loop_father.
commit7fb1218827e698e99f883407e8745d401b6dd84c
authorhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 1 Jun 2002 09:24:41 +0000 (1 09:24 +0000)
committerhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 1 Jun 2002 09:24:41 +0000 (1 09:24 +0000)
tree32dca2e27bb3e45f9ac6684f98ae4a2fb5d94a27
parentc2442c9723f0370db96e142b6b38a140a559864a
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@54142 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/basic-block.h
gcc/cfg.c
gcc/cfganal.c
gcc/cfgloop.c
gcc/predict.c