[llvm] [clang] [clang-tools-extra] [nfc][llvm-profdata] Use cl::Subcommand to organize subcommand and options in llvm-profdata (PR #71328)
Mingming Liu via cfe-commits
cfe-commits at lists.llvm.org
Mon Nov 13 15:54:37 PST 2023
================
@@ -1362,28 +1413,55 @@ static int merge_main(int argc, const char *argv[]) {
exitWithError(
"-supplement-instr-with-sample can only work with -instr. ");
- supplementInstrProfile(WeightedInputs, SupplInstrWithSample, OutputFilename,
- OutputFormat, OutputSparse, SupplMinSizeThreshold,
- ZeroCounterThreshold, InstrProfColdThreshold);
+ supplementInstrProfile(WeightedInputs, SupplInstrWithSample, OutputSparse,
+ SupplMinSizeThreshold, ZeroCounterThreshold,
+ InstrProfColdThreshold);
return 0;
}
if (ProfileKind == instr)
- mergeInstrProfile(WeightedInputs, DebugInfoFilename, Remapper.get(),
- OutputFilename, OutputFormat,
- TemporalProfTraceReservoirSize,
- TemporalProfMaxTraceLength, MaxDbgCorrelationWarnings,
- OutputSparse, NumThreads, FailureMode, ProfiledBinary);
+ mergeInstrProfile(WeightedInputs, Remapper.get(), MaxDbgCorrelationWarnings,
+ ProfiledBinary);
else
- mergeSampleProfile(WeightedInputs, Remapper.get(), OutputFilename,
- OutputFormat, ProfileSymbolListFile, CompressAllSections,
- UseMD5, GenPartialProfile, ProfileLayout,
- SampleMergeColdContext, SampleTrimColdContext,
- SampleColdContextFrameDepth, FailureMode,
- DropProfileSymbolList, OutputSizeLimit);
+ mergeSampleProfile(WeightedInputs, Remapper.get(), ProfileSymbolListFile,
+ OutputSizeLimit);
return 0;
}
+// Overlap options.
+cl::opt<std::string> BaseFilename(cl::Positional, cl::Required,
+ cl::desc("<base profile file>"),
+ cl::sub(OverlapSubcommand));
+cl::opt<std::string> TestFilename(cl::Positional, cl::Required,
+ cl::desc("<test profile file>"),
+ cl::sub(OverlapSubcommand));
+
+cl::opt<unsigned long long> SimilarityCutoff(
+ "similarity-cutoff", cl::init(0),
+ cl::desc("For sample profiles, list function names (with calling context "
+ "for csspgo) for overlapped functions "
+ "with similarities below the cutoff (percentage times 10000)."),
+ cl::sub(OverlapSubcommand));
+
+cl::opt<bool> IsCS(
+ "cs", cl::init(false),
+ cl::desc("For context sensitive PGO counts. Does not work with CSSPGO."),
+ cl::sub(OverlapSubcommand));
+
+cl::opt<std::string> FuncNameFilter(
----------------
minglotus-6 wrote:
good catch. I moved it to the 2-common options section.
https://github.com/llvm/llvm-project/pull/71328
More information about the cfe-commits
mailing list