https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97065
Bug ID: 97065 Summary: Support -fprofile-update=set (boolean counters) Product: gcc Version: unknown Status: UNCONFIRMED Severity: normal Priority: P3 Component: gcov-profile Assignee: unassigned at gcc dot gnu.org Reporter: i at maskray dot me CC: marxin at gcc dot gnu.org Target Milestone: --- I can understand that defaulting -fprofile-update=prefer-atomic in GCC 7 and using atomic counters when -pthread is specified is for very good reasons that imprecise line execution counts can be very confusing. However, atomic counters can lead to very drastic performance degradation when the contention is large (e.g. bug 80952) Sometimes users just need to know whether a statement is executed or not. For example lcov does not really need to know the number. A boolean mode -fprofile-update=set may be useful. 'set' is the name used by Go -covermode=set