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] <input .llvm file>

    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=<layout-string> - data layout string to use
      -disable-output              - Disable output
      -f                           - Enable binary output on terminals
      -module-hash                 - Emit module hash
      -o=<filename>                - Override output filename

Differential Revision: https://reviews.llvm.org/D60603

llvm-svn: 361750
This commit is contained in:
Serge Guelton 2019-05-27 08:24:06 +00:00
parent c11de5eada
commit 6e379e2b68
3 changed files with 21 additions and 8 deletions

View File

@ -0,0 +1,3 @@
RUN: llvm-as --help 2>&1 | FileCheck --implicit-check-not="General Options:" %s
CHECK: Generic Options:
CHECK: llvm-as Options:

View File

@ -0,0 +1,4 @@
if not 'X86' in config.root.targets:
config.unsupported = True
config.suffixes = ['.ll', '.s', '.test', '.yaml']

View File

@ -30,38 +30,43 @@
#include <memory>
using namespace llvm;
cl::OptionCategory AsCat("llvm-as Options");
static cl::opt<std::string> InputFilename(cl::Positional,
cl::desc("<input .llvm file>"),
cl::init("-"));
static cl::opt<std::string> OutputFilename("o",
cl::desc("Override output filename"),
cl::value_desc("filename"));
cl::value_desc("filename"),
cl::cat(AsCat));
static cl::opt<bool> Force("f", cl::desc("Enable binary output on terminals"));
static cl::opt<bool> Force("f", cl::desc("Enable binary output on terminals"),
cl::cat(AsCat));
static cl::opt<bool> DisableOutput("disable-output", cl::desc("Disable output"),
cl::init(false));
cl::init(false), cl::cat(AsCat));
static cl::opt<bool> EmitModuleHash("module-hash", cl::desc("Emit module hash"),
cl::init(false));
cl::init(false), cl::cat(AsCat));
static cl::opt<bool> DumpAsm("d", cl::desc("Print assembly as parsed"),
cl::Hidden);
cl::Hidden, cl::cat(AsCat));
static cl::opt<bool>
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<bool> 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<std::string> 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...