diff options
author | Martin Liska <mliska@suse.cz> | 2016-08-10 15:14:56 +0200 |
---|---|---|
committer | Martin Liska <marxin@gcc.gnu.org> | 2016-08-10 13:14:56 +0000 |
commit | a266236e856aec790b1757064eccff876fad4703 (patch) | |
tree | 4e0657ae5a14e0c48b2bae73db433a086900d985 /libgcc/Makefile.in | |
parent | 22063dbc90d0eb8a7cc7939e0941899f90b403db (diff) | |
download | gcc-a266236e856aec790b1757064eccff876fad4703.zip gcc-a266236e856aec790b1757064eccff876fad4703.tar.gz gcc-a266236e856aec790b1757064eccff876fad4703.tar.bz2 |
Add new *_atomic counter update function
PR gcov-profile/58306
* Makefile.in: New functions (modules) are added.
* libgcov-profiler.c (__gcov_interval_profiler_atomic): New
function.
(__gcov_pow2_profiler_atomic): New function.
(__gcov_one_value_profiler_body): New argument is instroduced.
(__gcov_one_value_profiler): Call with the new argument.
(__gcov_one_value_profiler_atomic): Likewise.
(__gcov_indirect_call_profiler_v2): Likewise.
(__gcov_time_profiler_atomic): New function.
(__gcov_average_profiler_atomic): Likewise.
(__gcov_ior_profiler_atomic): Likewise.
* libgcov.h: Declare the aforementioned functions.
PR gcov-profile/58306
* gcc.dg/tree-prof/val-profiler-threads-1.c: New test.
PR gcov-profile/58306
* tree-profile.c (gimple_init_edge_profiler): Create conditionally
atomic variants of profile update functions.
From-SVN: r239324
Diffstat (limited to 'libgcc/Makefile.in')
-rw-r--r-- | libgcc/Makefile.in | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/libgcc/Makefile.in b/libgcc/Makefile.in index efaf7f7..ba37c65 100644 --- a/libgcc/Makefile.in +++ b/libgcc/Makefile.in @@ -858,10 +858,18 @@ include $(iterator) LIBGCOV_MERGE = _gcov_merge_add _gcov_merge_single _gcov_merge_delta \ _gcov_merge_ior _gcov_merge_time_profile _gcov_merge_icall_topn -LIBGCOV_PROFILER = _gcov_interval_profiler _gcov_pow2_profiler \ +LIBGCOV_PROFILER = _gcov_interval_profiler \ + _gcov_interval_profiler_atomic \ + _gcov_pow2_profiler \ + _gcov_pow2_profiler_atomic \ _gcov_one_value_profiler \ - _gcov_average_profiler _gcov_ior_profiler \ - _gcov_indirect_call_profiler_v2 _gcov_time_profiler \ + _gcov_one_value_profiler_atomic \ + _gcov_average_profiler \ + _gcov_average_profiler_atomic \ + _gcov_ior_profiler \ + _gcov_ior_profiler_atomic \ + _gcov_indirect_call_profiler_v2 \ + _gcov_time_profiler \ _gcov_indirect_call_topn_profiler LIBGCOV_INTERFACE = _gcov_dump _gcov_flush _gcov_fork \ _gcov_execl _gcov_execlp \ |