diff options
author | Jan Hubicka <jh@suse.cz> | 2002-05-09 14:54:19 +0200 |
---|---|---|
committer | Jan Hubicka <hubicka@gcc.gnu.org> | 2002-05-09 12:54:19 +0000 |
commit | b7c9bf289f096dd5338f37a4656f13d7b982fd33 (patch) | |
tree | da04474c0297ae3c91b3bdce0c519ca2f9d2e5a8 /gcc/libgcc2.h | |
parent | 786de7eb9aaaf39f96248b6d42316b2aa4e9bf63 (diff) | |
download | gcc-b7c9bf289f096dd5338f37a4656f13d7b982fd33.tar.gz |
final.c (end_final): Use C trees to output data structures for profiling.
* final.c (end_final): Use C trees to output data structures for profiling.
* Makefile.in (LIBGCC_DEPS): Added missing dependency on gcov-io.h
(profile.o): New dependency profile.h
(final.o): New dependency profile.h
* profile.h: New file. New global structure profile_info.
* final.h (count_edges_instrumented_now): Declare.
(current_function_cfg_checksum): Declare.
(function_list): New structure.
(functions_head, functions_tail): New static variables.
(end_final): Emits more data, removed some -ax stuff.
(final): Stores function names and chcksums.
* gcov-io.h (__write_gcov_string): New function.
(__read_gcov_string): New function.
* gcov.c (read_profile): New function.
(create_program_flow_graph): Uses read_profile instead of reading
da_file.
(read_files): Removed da_file checking, it's done by read_profile now.
* libgcc2.c (bb_function_info): New structure.
(bb): New field in structure, removed some -ax stuff.
(__bb_exit_func): Changed structure of da_file.
* profile.c (count_edges_instrumented_now): New global variable.
(current_function_cfg_checksum): New global variable.
(max_counter_in_program): New global variable.
(get_exec_counts): New function.
(compute_checksum): New function.
(instrument_edges): Sets count_edges_instrumented_now.
(compute_branch_probabilities): Uses get_exec_counts instead of
reading da_file.
(branch_prob): Calls compute_checksum and writes extra data to bbg_file.
(init_branch_prob): Removed da_file checking, done in get_exec_counts
now.
(end_branch_prob): Removed da_file checking, done in get_exec_counts
now.
* gcov.texi: Updated information about gcov file format.
Co-Authored-By: Pavel Nejedly <bim@atrey.karlin.mff.cuni.cz>
From-SVN: r53326
Diffstat (limited to 'gcc/libgcc2.h')
-rw-r--r-- | gcc/libgcc2.h | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/gcc/libgcc2.h b/gcc/libgcc2.h index 715ccfc610b..79c79970057 100644 --- a/gcc/libgcc2.h +++ b/gcc/libgcc2.h @@ -31,9 +31,14 @@ struct bb; extern void __bb_exit_func (void); extern void __bb_init_func (struct bb *); extern void __bb_fork_func (void); -extern void __bb_trace_func (void); -extern void __bb_trace_ret (void); -extern void __bb_init_trace_func (struct bb *, unsigned long); + +#if LONG_TYPE_SIZE == GCOV_TYPE_SIZE +typedef long gcov_type; +#else +typedef long long gcov_type; +#endif + +extern gcov_type *__bb_find_arc_counters (void); struct exception_descriptor; extern short int __get_eh_table_language (struct exception_descriptor *); |