basic-block.h (struct edge_def): New field "count".
authorJan Hubicka <jh@suse.cz>
Fri, 19 May 2000 20:51:49 +0000 (22:51 +0200)
committerRichard Henderson <rth@gcc.gnu.org>
Fri, 19 May 2000 20:51:49 +0000 (13:51 -0700)
commit51891abe62c625f17598bd4d64a71c6169693bb6
treee57f4f516ce5ccbed54f9a6d32436cb91fcba1c4
parentb6cfd26443d6161c71b6069346cbe805f86774a4
basic-block.h (struct edge_def): New field "count".

* basic-block.h (struct edge_def): New field "count".
(struct basic_block_def): Likewise.
* flow.c (entry_exit_blocks): Add count fileds.
(split_edge): Keep count information up-to-date.
        (dump_edge_info, dump_flow_info): Dump count fields.

* final.c (count_instrumented_edges): Rename to edge from arc.
(end_final): Update users.
* profile.c: Include expr.h, basic-block.h.
(struct adj_list, ARC_TARGET, ARC_SOURCE, ARC_COUNT): Kill.
        (struct bb_info, label_to_bb, label_to_bb_size, bb_graph): Kill.
        (ignore_next_note, return_label_execution_count): Kill.
(bbg_file_name, da_file_name): Kill.
        (edge_info, bb_info): New structures.
        (EDGE_INFO, BB_INFO, GCOV_INDEX_TO_BB, BB_TO_GCOV_INDEX): New macros.
(count_instrumented_edges, total_num_edges): Rename to edge from arc.
(total_num_edges_instrumented): Likewise.
(init_arc, expand_spanning_tree): Kill.
(fill_spanning_tree, tablejump_entry_p): Kill.
(instrument_edges):  Rewrite from instrument_arcs to use
commit_edge_insertions infrastructure.
(compute_branch_probabilities): Remove arguments; rewrite for
CFG infrastructure; use rtl_dump_file directly.
(branch_prob, find_spanning_tree): Likewise.
(union_groups, find_group): New.
(init_branch_prob): Make bbg_file_name and da_file_name local.
(end_branch_prob): Use rtl_dump_file directly.
(init_edge_profiler): Rename to edge from arc.
(output_arc_profiler): Kill.
(gen_edge_profiler): New.
(output_func_start_profiler): Turn off profiling.  Make the
constructor static when we can.
* rtl.h (branch_prob, end_branch_prob): Update prototypes.

* toplev.c (DFI_flow): Remove.
(DFI_cfg, DFI_life): New.
(dump_file): Update accordingly.
(compile_file): Call end_branch_prob if profile_arc_flag too.
(rest_of_compilation): Move flow1 cfg creation to DFI_cfg.  Do edge
profiling after the CFG is built.  Move flow1 life analysis to
DFI_life.  Always estimate remaining probabilities.

Co-Authored-By: Richard Henderson <rth@cygnus.com>
From-SVN: r34037
gcc/ChangeLog
gcc/basic-block.h
gcc/final.c
gcc/flow.c
gcc/profile.c
gcc/rtl.h
gcc/toplev.c