aboutsummaryrefslogtreecommitdiff
path: root/gcc/common.opt
diff options
context:
space:
mode:
authorMartin Liska <mliska@suse.cz>2016-08-10 15:11:42 +0200
committerMartin Liska <marxin@gcc.gnu.org>2016-08-10 13:11:42 +0000
commit22063dbc90d0eb8a7cc7939e0941899f90b403db (patch)
treebca16f60942cfafd651fca3cbf08a464365e76b9 /gcc/common.opt
parent5a39e998c8a89b26a74b9fb0b5bc17fa8b55d274 (diff)
downloadgcc-22063dbc90d0eb8a7cc7939e0941899f90b403db.zip
gcc-22063dbc90d0eb8a7cc7939e0941899f90b403db.tar.gz
gcc-22063dbc90d0eb8a7cc7939e0941899f90b403db.tar.bz2
Cherry-pick fprofile-generate-atomic from google/gcc-4_9
Cherry picked (and modified) from google-4_7 branch 2012-12-26 Rong Xu <xur@google.com> * common.opt (fprofile-update): Add new flag. * coretypes.h: Define enum profile_update. * doc/invoke.texi: Document -fprofile-update. * gcov-io.h: Declare GCOV_TYPE_ATOMIC_FETCH_ADD and GCOV_TYPE_ATOMIC_FETCH_ADD_FN. * tree-profile.c (gimple_init_edge_profiler): Generate also atomic profiler update. (gimple_gen_edge_profiler): Likewise. * g++.dg/gcov/gcov-threads-1.C: New test. From-SVN: r239323
Diffstat (limited to 'gcc/common.opt')
-rw-r--r--gcc/common.opt13
1 files changed, 13 insertions, 0 deletions
diff --git a/gcc/common.opt b/gcc/common.opt
index 8a292ed..44adae8 100644
--- a/gcc/common.opt
+++ b/gcc/common.opt
@@ -1916,6 +1916,19 @@ fprofile-correction
Common Report Var(flag_profile_correction)
Enable correction of flow inconsistent profile data input.
+fprofile-update=
+Common Joined RejectNegative Enum(profile_update) Var(flag_profile_update) Init(PROFILE_UPDATE_SINGLE)
+-fprofile-update=[single|atomic] Set the profile update method.
+
+Enum
+Name(profile_update) Type(enum profile_update) UnknownError(unknown profile update method %qs)
+
+EnumValue
+Enum(profile_update) String(single) Value(PROFILE_UPDATE_SINGLE)
+
+EnumValue
+Enum(profile_update) String(atomic) Value(PROFILE_UPDATE_ATOMIC)
+
fprofile-generate
Common
Enable common options for generating profile info for profile feedback directed optimizations.