diff options
author | Jan Hubicka <jh@suse.cz> | 2002-10-03 23:22:12 +0200 |
---|---|---|
committer | Jan Hubicka <hubicka@gcc.gnu.org> | 2002-10-03 21:22:12 +0000 |
commit | 92b7a2a514865e5284143beeacfe3b57341cec79 (patch) | |
tree | 3dffee0546f36c9529e018025c2961adf6c73808 | |
parent | 429489e54f39016332a7f3a79ace6c42aafdf0c1 (diff) | |
download | gcc-92b7a2a514865e5284143beeacfe3b57341cec79.zip gcc-92b7a2a514865e5284143beeacfe3b57341cec79.tar.gz gcc-92b7a2a514865e5284143beeacfe3b57341cec79.tar.bz2 |
final.c (final): Use symbol name as function name for profiling.
* final.c (final): Use symbol name as function name for profiling.
* profile.c (get_exec_counts): Likewise.
(branch_prob): Likewise.
From-SVN: r57790
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/final.c | 3 | ||||
-rw-r--r-- | gcc/profile.c | 13 |
3 files changed, 16 insertions, 6 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index fa51788..6361287 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +Thu Oct 3 23:20:58 CEST 2002 Jan Hubicka <jh@suse.cz> + + * final.c (final): Use symbol name as function name for profiling. + * profile.c (get_exec_counts): Likewise. + (branch_prob): Likewise. + 2002-10-03 Jakub Jelinek <jakub@redhat.com> * longlong.h (__udiv_qrnnd): Remove PARAMS from prototype. diff --git a/gcc/final.c b/gcc/final.c index 0ff3c3a..2f5c823 100644 --- a/gcc/final.c +++ b/gcc/final.c @@ -1915,7 +1915,8 @@ final (first, file, optimize, prescan) functions_tail = &new_item->next; new_item->next = 0; - new_item->name = xstrdup (current_function_name); + new_item->name = xstrdup (IDENTIFIER_POINTER + (DECL_ASSEMBLER_NAME (current_function_decl))); new_item->cfg_checksum = profile_info.current_function_cfg_checksum; new_item->count_edges = profile_info.count_edges_instrumented_now; } diff --git a/gcc/profile.c b/gcc/profile.c index 1ee4735..6032794 100644 --- a/gcc/profile.c +++ b/gcc/profile.c @@ -260,6 +260,8 @@ get_exec_counts () char *function_name_buffer; int function_name_buffer_len; gcov_type max_counter_in_run; + const char *name = IDENTIFIER_POINTER + (DECL_ASSEMBLER_NAME (current_function_decl)); profile_info.max_counter_in_program = 0; profile_info.count_profiles_merged = 0; @@ -282,7 +284,7 @@ get_exec_counts () profile = xmalloc (sizeof (gcov_type) * num_edges); rewind (da_file); - function_name_buffer_len = strlen (current_function_name) + 1; + function_name_buffer_len = strlen (name) + 1; function_name_buffer = xmalloc (function_name_buffer_len + 1); for (i = 0; i < num_edges; i++) @@ -349,7 +351,7 @@ get_exec_counts () break; } - if (strcmp (function_name_buffer, current_function_name) != 0) + if (strcmp (function_name_buffer, name) != 0) { /* skip */ if (fseek (da_file, arc_count * 8, SEEK_CUR) < 0) @@ -772,6 +774,8 @@ branch_prob () int i; int num_edges, ignored_edges; struct edge_list *el; + const char *name = IDENTIFIER_POINTER + (DECL_ASSEMBLER_NAME (current_function_decl)); profile_info.current_function_cfg_checksum = compute_checksum (); @@ -781,7 +785,7 @@ branch_prob () /* Start of a function. */ if (flag_test_coverage) - output_gcov_string (current_function_name, (long) -2); + output_gcov_string (name, (long) -2); total_num_times_called++; @@ -995,8 +999,7 @@ branch_prob () { int flag_bits; - __write_gcov_string (current_function_name, - strlen (current_function_name), bbg_file, -1); + __write_gcov_string (name, strlen (name), bbg_file, -1); /* write checksum. */ __write_long (profile_info.current_function_cfg_checksum, bbg_file, 4); |