diff options
author | Martin Liska <mliska@suse.cz> | 2020-02-18 14:28:22 +0100 |
---|---|---|
committer | Martin Liska <mliska@suse.cz> | 2020-02-18 14:28:22 +0100 |
commit | ea0b12523d0d9a9059b5173ce9653b92ddfb284f (patch) | |
tree | 76bb545094dd99e705bce5e82aa1456d7bcdd26e /gcc/common.opt | |
parent | 0b2b45a68f48817e2310b12db3e03e648d4d2005 (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.opt | 16 |
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 |