summaryrefslogtreecommitdiff
path: root/gcc/common.opt
diff options
context:
space:
mode:
authorMartin Liska <mliska@suse.cz>2020-02-18 14:28:22 +0100
committerMartin Liska <mliska@suse.cz>2020-02-18 14:28:22 +0100
commitea0b12523d0d9a9059b5173ce9653b92ddfb284f (patch)
tree76bb545094dd99e705bce5e82aa1456d7bcdd26e /gcc/common.opt
parent0b2b45a68f48817e2310b12db3e03e648d4d2005 (diff)
Introduce -fprofile-reproducibility and support it with TOP N.
PR ipa/92924 * common.opt: Add -fprofile-reproducibility. * doc/invoke.texi: Document it. * value-prof.c (dump_histogram_value): Document and support behavior for counters[0] being a negative value. (get_nth_most_common_value): Handle negative counters[0] in respect to flag_profile_reproducible. PR ipa/92924 * libgcov-merge.c (merge_topn_values_set): Record when a TOP N counter becomes invalid. When merging remove a smallest value if the space is needed.
Diffstat (limited to 'gcc/common.opt')
-rw-r--r--gcc/common.opt16
1 files changed, 16 insertions, 0 deletions
diff --git a/gcc/common.opt b/gcc/common.opt
index 5692cd04374..fa9da505fc2 100644
--- a/gcc/common.opt
+++ b/gcc/common.opt
@@ -2169,6 +2169,22 @@ Common Joined RejectNegative Var(flag_profile_exclude_files)
Instrument only functions from files where names do not match all the regular expressions (separated by a semi-colon).
Enum
+Name(profile_reproducibility) Type(enum profile_reproducibility) UnknownError(unknown profile reproducibility method %qs)
+
+EnumValue
+Enum(profile_reproducibility) String(serial) Value(PROFILE_REPRODUCIBILITY_SERIAL)
+
+EnumValue
+Enum(profile_reproducibility) String(parallel-runs) Value(PROFILE_REPRODUCIBILITY_PARALLEL_RUNS)
+
+EnumValue
+Enum(profile_reproducibility) String(multithreaded) Value(PROFILE_REPRODUCIBILITY_MULTITHREADED)
+
+fprofile-reproducible
+Common Joined RejectNegative Var(flag_profile_reproducible) Enum(profile_reproducibility) Init(PROFILE_REPRODUCIBILITY_SERIAL)
+-fprofile-reproducible=[serial|parallel-runs|multithreaded] Control level of reproducibility of profile gathered by -fprofile-generate.
+
+Enum
Name(profile_update) Type(enum profile_update) UnknownError(unknown profile update method %qs)
EnumValue