Index: llvm/tools/llvm-bcanalyzer/llvm-bcanalyzer.cpp =================================================================== --- llvm/tools/llvm-bcanalyzer/llvm-bcanalyzer.cpp +++ llvm/tools/llvm-bcanalyzer/llvm-bcanalyzer.cpp @@ -36,33 +36,42 @@ #include using namespace llvm; -static cl::opt - InputFilename(cl::Positional, cl::desc(""), cl::init("-")); +static cl::OptionCategory ToolOptions("Tool Options"); + +static cl::opt InputFilename(cl::Positional, + cl::desc(""), + cl::init("-"), cl::cat(ToolOptions)); -static cl::opt Dump("dump", cl::desc("Dump low level bitcode trace")); +static cl::opt Dump("dump", cl::desc("Dump low level bitcode trace"), + cl::cat(ToolOptions)); //===----------------------------------------------------------------------===// // Bitcode specific analysis. //===----------------------------------------------------------------------===// static cl::opt NoHistogram("disable-histogram", - cl::desc("Do not print per-code histogram")); + cl::desc("Do not print per-code histogram"), + cl::cat(ToolOptions)); static cl::opt NonSymbolic("non-symbolic", cl::desc("Emit numeric info in dump even if" - " symbolic info is available")); + " symbolic info is available"), + cl::cat(ToolOptions)); static cl::opt BlockInfoFilename("block-info", - cl::desc("Use the BLOCK_INFO from the given file")); + cl::desc("Use the BLOCK_INFO from the given file"), + cl::cat(ToolOptions)); static cl::opt ShowBinaryBlobs("show-binary-blobs", - cl::desc("Print binary blobs using hex escapes")); + cl::desc("Print binary blobs using hex escapes"), + cl::cat(ToolOptions)); static cl::opt CheckHash( "check-hash", - cl::desc("Check module hash using the argument as a string table")); + cl::desc("Check module hash using the argument as a string table"), + cl::cat(ToolOptions)); static Error reportError(StringRef Message) { return createStringError(std::errc::illegal_byte_sequence, Message.data()); @@ -85,6 +94,7 @@ int main(int argc, char **argv) { InitLLVM X(argc, argv); + cl::HideUnrelatedOptions(&ToolOptions); cl::ParseCommandLineOptions(argc, argv, "llvm-bcanalyzer file analyzer\n"); ExitOnError ExitOnErr("llvm-bcanalyzer: "); Index: llvm/tools/llvm-cxxdump/llvm-cxxdump.cpp =================================================================== --- llvm/tools/llvm-cxxdump/llvm-cxxdump.cpp +++ llvm/tools/llvm-cxxdump/llvm-cxxdump.cpp @@ -33,9 +33,10 @@ using namespace llvm::support; namespace opts { +cl::OptionCategory ToolOptions("Tool Options"); cl::list InputFilenames(cl::Positional, cl::desc(""), - cl::ZeroOrMore); + cl::cat(ToolOptions), cl::ZeroOrMore); } // namespace opts namespace llvm { @@ -549,6 +550,7 @@ // Register the target printer for --version. cl::AddExtraVersionPrinter(TargetRegistry::printRegisteredTargetsForVersion); + cl::HideUnrelatedOptions({&opts::ToolOptions}); cl::ParseCommandLineOptions(argc, argv, "LLVM C++ ABI Data Dumper\n"); // Default to stdin if no filename is specified. Index: llvm/tools/llvm-cxxfilt/llvm-cxxfilt.cpp =================================================================== --- llvm/tools/llvm-cxxfilt/llvm-cxxfilt.cpp +++ llvm/tools/llvm-cxxfilt/llvm-cxxfilt.cpp @@ -29,34 +29,37 @@ Java, ///< Java (gcj) GNAT ///< ADA compiler (gnat) }; +static cl::OptionCategory ToolOptions("Tool Options"); static cl::opt