================
@@ -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

Reply via email to