Index: test/tools/llvm-as/help.test =================================================================== --- test/tools/llvm-as/help.test +++ test/tools/llvm-as/help.test @@ -0,0 +1,3 @@ +RUN: llvm-as --help 2>&1 | FileCheck --implicit-check-not="General Options:" %s +CHECK: Generic Options: +CHECK: llvm-as Options: Index: test/tools/llvm-as/lit.local.cfg =================================================================== --- test/tools/llvm-as/lit.local.cfg +++ test/tools/llvm-as/lit.local.cfg @@ -0,0 +1,4 @@ +if not 'X86' in config.root.targets: + config.unsupported = True + +config.suffixes = ['.ll', '.s', '.test', '.yaml'] Index: tools/llvm-as/llvm-as.cpp =================================================================== --- tools/llvm-as/llvm-as.cpp +++ tools/llvm-as/llvm-as.cpp @@ -30,38 +30,43 @@ #include using namespace llvm; +cl::OptionCategory AsCat("llvm-as Options"); + static cl::opt InputFilename(cl::Positional, cl::desc(""), cl::init("-")); static cl::opt OutputFilename("o", cl::desc("Override output filename"), - cl::value_desc("filename")); + cl::value_desc("filename"), + cl::cat(AsCat)); -static cl::opt Force("f", cl::desc("Enable binary output on terminals")); +static cl::opt Force("f", cl::desc("Enable binary output on terminals"), + cl::cat(AsCat)); static cl::opt DisableOutput("disable-output", cl::desc("Disable output"), - cl::init(false)); + cl::init(false), cl::cat(AsCat)); static cl::opt EmitModuleHash("module-hash", cl::desc("Emit module hash"), - cl::init(false)); + cl::init(false), cl::cat(AsCat)); static cl::opt DumpAsm("d", cl::desc("Print assembly as parsed"), - cl::Hidden); + cl::Hidden, cl::cat(AsCat)); static cl::opt DisableVerify("disable-verify", cl::Hidden, - cl::desc("Do not run verifier on input LLVM (dangerous!)")); + cl::desc("Do not run verifier on input LLVM (dangerous!)"), + cl::cat(AsCat)); static cl::opt PreserveBitcodeUseListOrder( "preserve-bc-uselistorder", cl::desc("Preserve use-list order when writing LLVM bitcode."), - cl::init(true), cl::Hidden); + cl::init(true), cl::Hidden, cl::cat(AsCat)); static cl::opt ClDataLayout("data-layout", cl::desc("data layout string to use"), cl::value_desc("layout-string"), - cl::init("")); + cl::init(""), cl::cat(AsCat)); static void WriteOutputFile(const Module *M, const ModuleSummaryIndex *Index) { // Infer the output filename if needed. @@ -109,6 +114,7 @@ int main(int argc, char **argv) { InitLLVM X(argc, argv); LLVMContext Context; + cl::HideUnrelatedOptions(AsCat); cl::ParseCommandLineOptions(argc, argv, "llvm .ll -> .bc assembler\n"); // Parse the file now...