https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58306
--- Comment #27 from Martin Liška <marxin at gcc dot gnu.org> --- Author: marxin Date: Wed Aug 10 13:14:56 2016 New Revision: 239324 URL: https://gcc.gnu.org/viewcvs?rev=239324&root=gcc&view=rev Log: 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. Added: trunk/gcc/testsuite/gcc.dg/tree-prof/val-profiler-threads-1.c Modified: trunk/gcc/ChangeLog trunk/gcc/testsuite/ChangeLog trunk/gcc/tree-profile.c trunk/libgcc/ChangeLog trunk/libgcc/Makefile.in trunk/libgcc/libgcov-profiler.c trunk/libgcc/libgcov.h