This is the mail archive of the
gcc-cvs@gcc.gnu.org
mailing list for the GCC project.
egcs/gcc ChangeLog basic-block.h cfg.c cfganal ...
- From: hubicka at gcc dot gnu dot org
- To: gcc-cvs at gcc dot gnu dot org
- Date: 1 Jun 2002 09:24:43 -0000
- Subject: egcs/gcc ChangeLog basic-block.h cfg.c cfganal ...
CVSROOT: /cvs/gcc
Module name: egcs
Changes by: hubicka@gcc.gnu.org 2002-06-01 02:24:42
Modified files:
gcc : ChangeLog basic-block.h cfg.c cfganal.c
cfgloop.c predict.c
Log message:
* 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.
Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/egcs/gcc/ChangeLog.diff?cvsroot=gcc&r1=1.14371&r2=1.14372
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/egcs/gcc/basic-block.h.diff?cvsroot=gcc&r1=1.149&r2=1.150
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/egcs/gcc/cfg.c.diff?cvsroot=gcc&r1=1.33&r2=1.34
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/egcs/gcc/cfganal.c.diff?cvsroot=gcc&r1=1.24&r2=1.25
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/egcs/gcc/cfgloop.c.diff?cvsroot=gcc&r1=1.13&r2=1.14
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/egcs/gcc/predict.c.diff?cvsroot=gcc&r1=1.70&r2=1.71