diff options
author | Jan Hubicka <jh@suse.cz> | 2000-05-19 22:51:49 +0200 |
---|---|---|
committer | Richard Henderson <rth@gcc.gnu.org> | 2000-05-19 13:51:49 -0700 |
commit | 51891abe62c625f17598bd4d64a71c6169693bb6 (patch) | |
tree | e57f4f516ce5ccbed54f9a6d32436cb91fcba1c4 /gcc/basic-block.h | |
parent | b6cfd26443d6161c71b6069346cbe805f86774a4 (diff) | |
download | gcc-51891abe62c625f17598bd4d64a71c6169693bb6.zip gcc-51891abe62c625f17598bd4d64a71c6169693bb6.tar.gz gcc-51891abe62c625f17598bd4d64a71c6169693bb6.tar.bz2 |
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
Diffstat (limited to 'gcc/basic-block.h')
-rw-r--r-- | gcc/basic-block.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/gcc/basic-block.h b/gcc/basic-block.h index c7ae0f8..dec7707 100644 --- a/gcc/basic-block.h +++ b/gcc/basic-block.h @@ -129,6 +129,8 @@ typedef struct edge_def { int flags; /* see EDGE_* below */ int probability; /* biased by REG_BR_PROB_BASE */ + int count; /* Expected number of executions calculated + in profile.c */ } *edge; #define EDGE_FALLTHRU 1 @@ -164,6 +166,8 @@ typedef struct basic_block_def { /* The active eh region before head and after end. */ int eh_beg, eh_end; + + int count; /* Expected number of executions calculated in profile.c */ } *basic_block; /* Number of basic blocks in the current function. */ |