From f5e3a669637d98efd1f44479290dd5e7ad384b1b Mon Sep 17 00:00:00 2001 From: Andrea Di Biagio Date: Thu, 17 May 2018 15:35:14 +0000 Subject: [PATCH] [llvm-mca] Hide unrelated flags from the -help output. llvm-svn: 332615 --- tools/llvm-mca/llvm-mca.cpp | 58 ++++++++++++++++++++++--------------- 1 file changed, 35 insertions(+), 23 deletions(-) diff --git a/tools/llvm-mca/llvm-mca.cpp b/tools/llvm-mca/llvm-mca.cpp index 451ea07ceb5..1e93a7fdcdb 100644 --- a/tools/llvm-mca/llvm-mca.cpp +++ b/tools/llvm-mca/llvm-mca.cpp @@ -53,47 +53,52 @@ using namespace llvm; -static llvm::cl::OptionCategory ViewOptions("View Options"); +static cl::OptionCategory ToolOptions("Tool Options"); +static cl::OptionCategory ViewOptions("View Options"); -static cl::opt - InputFilename(cl::Positional, cl::desc(""), cl::init("-")); +static cl::opt InputFilename(cl::Positional, + cl::desc(""), + cl::cat(ToolOptions), cl::init("-")); static cl::opt OutputFilename("o", cl::desc("Output filename"), - cl::init("-"), + cl::init("-"), cl::cat(ToolOptions), cl::value_desc("filename")); static cl::opt - ArchName("march", cl::desc("Target arch to assemble for, " - "see -version for available targets")); + ArchName("march", + cl::desc("Target arch to assemble for, " + "see -version for available targets"), + cl::cat(ToolOptions)); static cl::opt - TripleName("mtriple", cl::desc("Target triple to assemble for, " - "see -version for available targets")); + TripleName("mtriple", + cl::desc("Target triple to assemble for, " + "see -version for available targets"), + cl::cat(ToolOptions)); static cl::opt MCPU("mcpu", cl::desc("Target a specific cpu type (-mcpu=help for details)"), - cl::value_desc("cpu-name"), cl::init("native")); + cl::value_desc("cpu-name"), cl::cat(ToolOptions), cl::init("native")); static cl::opt OutputAsmVariant("output-asm-variant", cl::desc("Syntax variant to use for output printing"), - cl::init(-1)); + cl::cat(ToolOptions), cl::init(-1)); static cl::opt Iterations("iterations", cl::desc("Number of iterations to run"), - cl::init(0)); + cl::cat(ToolOptions), cl::init(0)); -static cl::opt DispatchWidth( - "dispatch", - cl::desc("Dispatch Width. By default it is set equal to IssueWidth"), - cl::init(0)); +static cl::opt + DispatchWidth("dispatch", cl::desc("Override the processor dispatch width"), + cl::cat(ToolOptions), cl::init(0)); static cl::opt RegisterFileSize("register-file-size", cl::desc("Maximum number of temporary registers which can " "be used for register mappings"), - cl::init(0)); + cl::cat(ToolOptions), cl::init(0)); static cl::opt PrintRegisterFileStats("register-file-stats", @@ -133,21 +138,25 @@ static cl::opt TimelineMaxCycles( "Maximum number of cycles in the timeline view. Defaults to 80 cycles"), cl::cat(ViewOptions), cl::init(80)); -static cl::opt AssumeNoAlias( - "noalias", - cl::desc("If set, it assumes that loads and stores do not alias"), - cl::init(true)); +static cl::opt + AssumeNoAlias("noalias", + cl::desc("If set, assume that loads and stores do not alias"), + cl::cat(ToolOptions), cl::init(true)); static cl::opt - LoadQueueSize("lqueue", cl::desc("Size of the load queue"), cl::init(0)); + LoadQueueSize("lqueue", + cl::desc("Size of the load queue (unbound by default)"), + cl::cat(ToolOptions), cl::init(0)); static cl::opt - StoreQueueSize("squeue", cl::desc("Size of the store queue"), cl::init(0)); + StoreQueueSize("squeue", + cl::desc("Size of the store queue (unbound by default)"), + cl::cat(ToolOptions), cl::init(0)); static cl::opt PrintInstructionTables("instruction-tables", cl::desc("Print instruction tables"), - cl::init(false)); + cl::cat(ToolOptions), cl::init(false)); static cl::opt PrintInstructionInfoView( "instruction-info", @@ -319,9 +328,12 @@ int main(int argc, char **argv) { // Enable printing of available targets when flag --version is specified. cl::AddExtraVersionPrinter(TargetRegistry::printRegisteredTargetsForVersion); + cl::HideUnrelatedOptions({&ToolOptions, &ViewOptions}); + // Parse flags and initialize target options. cl::ParseCommandLineOptions(argc, argv, "llvm machine code performance analyzer.\n"); + MCTargetOptions MCOptions; MCOptions.PreserveAsmComments = false;