aboutsummaryrefslogtreecommitdiff
path: root/gcc/final.c
diff options
context:
space:
mode:
authorJan Hubicka <jh@suse.cz>2000-05-19 22:51:49 +0200
committerRichard Henderson <rth@gcc.gnu.org>2000-05-19 13:51:49 -0700
commit51891abe62c625f17598bd4d64a71c6169693bb6 (patch)
treee57f4f516ce5ccbed54f9a6d32436cb91fcba1c4 /gcc/final.c
parentb6cfd26443d6161c71b6069346cbe805f86774a4 (diff)
downloadgcc-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/final.c')
-rw-r--r--gcc/final.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/gcc/final.c b/gcc/final.c
index 2145f99..1aedfa3 100644
--- a/gcc/final.c
+++ b/gcc/final.c
@@ -159,7 +159,7 @@ static const char *last_filename;
static int count_basic_blocks;
/* Number of instrumented arcs when profile_arc_flag is set. */
-extern int count_instrumented_arcs;
+extern int count_instrumented_edges;
extern int length_unit_log; /* This is defined in insn-attrtab.c. */
@@ -333,7 +333,7 @@ end_final (filename)
if (profile_block_flag)
size = long_bytes * count_basic_blocks;
else
- size = long_bytes * count_instrumented_arcs;
+ size = long_bytes * count_instrumented_edges;
rounded = size;
rounded += (BIGGEST_ALIGNMENT / BITS_PER_UNIT) - 1;
@@ -376,8 +376,7 @@ end_final (filename)
if (profile_block_flag)
assemble_integer (GEN_INT (count_basic_blocks), long_bytes, 1);
else
- assemble_integer (GEN_INT (count_instrumented_arcs), long_bytes,
- 1);
+ assemble_integer (GEN_INT (count_instrumented_edges), long_bytes, 1);
/* zero word (link field) */
assemble_integer (const0_rtx, pointer_bytes, 1);