From: Serge Guelton Date: Mon, 27 May 2019 08:24:06 +0000 (+0000) Subject: Make llvm-as --help great again X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=b5c9d2b68d69ed4f735413bbf3268faf79353ca7;p=llvm Make llvm-as --help great again This is a follow-up to https://reviews.llvm.org/D60411, but for llvm-as. New output: OVERVIEW: llvm .ll -> .bc assembler USAGE: llvm-as [options] OPTIONS: Generic Options: -help - Display available options (-help-hidden for more) -help-list - Display list of available options (-help-list-hidden for more) -version - Display the version of this program llvm-as Options: -data-layout= - data layout string to use -disable-output - Disable output -f - Enable binary output on terminals -module-hash - Emit module hash -o= - Override output filename Differential Revision: https://reviews.llvm.org/D60603 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@361750 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/test/tools/llvm-as/help.test b/test/tools/llvm-as/help.test new file mode 100644 index 00000000000..8c65b350f36 --- /dev/null +++ b/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: diff --git a/test/tools/llvm-as/lit.local.cfg b/test/tools/llvm-as/lit.local.cfg new file mode 100644 index 00000000000..1fc0bea084c --- /dev/null +++ b/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'] diff --git a/tools/llvm-as/llvm-as.cpp b/tools/llvm-as/llvm-as.cpp index 8f8d10ff572..234fef907a3 100644 --- a/tools/llvm-as/llvm-as.cpp +++ b/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 @@ static void WriteOutputFile(const Module *M, const ModuleSummaryIndex *Index) { 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...