Add new *_atomic counter update function
authorMartin Liska <mliska@suse.cz>
Wed, 10 Aug 2016 13:14:56 +0000 (15:14 +0200)
committerMartin Liska <marxin@gcc.gnu.org>
Wed, 10 Aug 2016 13:14:56 +0000 (13:14 +0000)
commita266236e856aec790b1757064eccff876fad4703
tree4e0657ae5a14e0c48b2bae73db433a086900d985
parent22063dbc90d0eb8a7cc7939e0941899f90b403db
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
gcc/ChangeLog
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/tree-prof/val-profiler-threads-1.c [new file with mode: 0644]
gcc/tree-profile.c
libgcc/ChangeLog
libgcc/Makefile.in
libgcc/libgcov-profiler.c
libgcc/libgcov.h