aboutsummaryrefslogtreecommitdiff
path: root/llvm/tools/llvm-profdata/llvm-profdata.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/tools/llvm-profdata/llvm-profdata.cpp')
-rw-r--r--llvm/tools/llvm-profdata/llvm-profdata.cpp12
1 files changed, 11 insertions, 1 deletions
diff --git a/llvm/tools/llvm-profdata/llvm-profdata.cpp b/llvm/tools/llvm-profdata/llvm-profdata.cpp
index 59f0f1f..f7023aa 100644
--- a/llvm/tools/llvm-profdata/llvm-profdata.cpp
+++ b/llvm/tools/llvm-profdata/llvm-profdata.cpp
@@ -342,6 +342,15 @@ cl::opt<bool> MemProfFullSchema(
"memprof-full-schema", cl::Hidden, cl::sub(MergeSubcommand),
cl::desc("Use the full schema for serialization"), cl::init(false));
+static cl::opt<bool>
+ MemprofGenerateRandomHotness("memprof-random-hotness", cl::init(false),
+ cl::Hidden, cl::sub(MergeSubcommand),
+ cl::desc("Generate random hotness values"));
+static cl::opt<unsigned> MemprofGenerateRandomHotnessSeed(
+ "memprof-random-hotness-seed", cl::init(0), cl::Hidden,
+ cl::sub(MergeSubcommand),
+ cl::desc("Random hotness seed to use (0 to generate new seed)"));
+
// Options specific to overlap subcommand.
cl::opt<std::string> BaseFilename(cl::Positional, cl::Required,
cl::desc("<base profile file>"),
@@ -641,7 +650,8 @@ struct WriterContext {
SmallSet<instrprof_error, 4> &WriterErrorCodes,
uint64_t ReservoirSize = 0, uint64_t MaxTraceLength = 0)
: Writer(IsSparse, ReservoirSize, MaxTraceLength, DoWritePrevVersion,
- MemProfVersionRequested, MemProfFullSchema),
+ MemProfVersionRequested, MemProfFullSchema,
+ MemprofGenerateRandomHotness, MemprofGenerateRandomHotnessSeed),
ErrLock(ErrLock), WriterErrorCodes(WriterErrorCodes) {}
};