================ @@ -319,6 +319,29 @@ static cl::opt<unsigned> PGOFunctionCriticalEdgeThreshold( cl::desc("Do not instrument functions with the number of critical edges " " greater than this threshold.")); +static cl::opt<uint64_t> ColdFuncCoverageMaxEntryCount( + "cold-function-coverage-max-entry-count", cl::init(0), cl::Hidden, + cl::desc("When enabling cold function coverage instrumentation, skip " + "instrumenting the function whose entry count is above the given " + "value")); + +static cl::opt<InstrColdFuncCovMode> InstrumentColdFunctionCoverageMode( + "instrument-cold-function-coverage-mode", + cl::init(InstrColdFuncCovMode::Conservative), cl::Hidden, + cl::desc("Control whether to instrument unprofiled functions for cold " + "function coverage."), + cl::values( + clEnumValN(InstrColdFuncCovMode::Conservative, "conservative", + "Assume unprofiled functions are not cold, skip " + "instrumenting them."), + clEnumValN(InstrColdFuncCovMode::Optimistic, "optimistic", + "Treat unprofiled functions as cold and instrument them."))); + +cl::opt<bool> InstrumentColdFunctionCoverage( + "instrument-cold-function-coverage", cl::init(false), cl::Hidden, ---------------- WenleiHe wrote:
We already have `pgo-function-entry-coverage` flag to ask for coverage. Ideally we want flags to be orthogonal and not overlap. So how about `pgo-instrument-cold-function-only` (add `pgo-` prefix to be consistent)? https://github.com/llvm/llvm-project/pull/109837 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits