diff options
author | Martin Liska <mliska@suse.cz> | 2020-01-27 16:20:10 +0100 |
---|---|---|
committer | Martin Liska <mliska@suse.cz> | 2020-01-27 16:20:10 +0100 |
commit | 3ae37f9297fc97aefc6c6968315bd1ac6a1bc7ef (patch) | |
tree | ac9381bb63fe63370b33c674a651116a9f52fd46 /gcc/tree-profile.c | |
parent | 6a81cabc14426b642271647b03218a3af19d600f (diff) | |
download | gcc-3ae37f9297fc97aefc6c6968315bd1ac6a1bc7ef.zip gcc-3ae37f9297fc97aefc6c6968315bd1ac6a1bc7ef.tar.gz gcc-3ae37f9297fc97aefc6c6968315bd1ac6a1bc7ef.tar.bz2 |
Add __gcov_indirect_call_profiler_v4_atomic.
PR gcov-profile/93403
* tree-profile.c (gimple_init_gcov_profiler): Generate
both __gcov_indirect_call_profiler_v4 and
__gcov_indirect_call_profiler_v4_atomic.
PR gcov-profile/93403
* libgcov-profiler.c (__gcov_indirect_call_profiler_v4):
Call __gcov_indirect_call_profiler_body.
(__gcov_indirect_call_profiler_body): New.
(__gcov_indirect_call_profiler_v4_atomic): New.
* libgcov.h (__gcov_indirect_call_profiler_v4_atomic):
New declaration.
Diffstat (limited to 'gcc/tree-profile.c')
-rw-r--r-- | gcc/tree-profile.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/gcc/tree-profile.c b/gcc/tree-profile.c index 4c1d296..6c08382 100644 --- a/gcc/tree-profile.c +++ b/gcc/tree-profile.c @@ -120,7 +120,6 @@ gimple_init_gcov_profiler (void) tree gcov_type_ptr; tree ic_profiler_fn_type; tree average_profiler_fn_type; - const char *profiler_fn_name; const char *fn_name; if (!gcov_type_node) @@ -167,6 +166,7 @@ gimple_init_gcov_profiler (void) fn_name = concat ("__gcov_topn_values_profiler", fn_suffix, NULL); tree_topn_values_profiler_fn = build_fn_decl (fn_name, topn_values_profiler_fn_type); + free (CONST_CAST (char *, fn_name)); TREE_NOTHROW (tree_topn_values_profiler_fn) = 1; DECL_ATTRIBUTES (tree_topn_values_profiler_fn) @@ -181,10 +181,10 @@ gimple_init_gcov_profiler (void) gcov_type_node, ptr_type_node, NULL_TREE); - profiler_fn_name = "__gcov_indirect_call_profiler_v4"; - + fn_name = concat ("__gcov_indirect_call_profiler_v4", fn_suffix, NULL); tree_indirect_call_profiler_fn - = build_fn_decl (profiler_fn_name, ic_profiler_fn_type); + = build_fn_decl (fn_name, ic_profiler_fn_type); + free (CONST_CAST (char *, fn_name)); TREE_NOTHROW (tree_indirect_call_profiler_fn) = 1; DECL_ATTRIBUTES (tree_indirect_call_profiler_fn) |