[PATCH] D60603: Make llvm-as --help great again

serge via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Apr 12 02:46:06 PDT 2019


serge-sans-paille created this revision.
serge-sans-paille added a reviewer: jhenderson.
Herald added a project: LLVM.
Herald added a subscriber: llvm-commits.
serge-sans-paille added a comment.

Without category filtered:

  OVERVIEW: llvm .ll -> .bc assembler
  
  USAGE: llvm-as [options] <input .llvm file>
  
  OPTIONS:
  
  Color Options:
  
    -color                            - Use colors in output (default=autodetect)
  
  General options:
  
    -cost-kind=<value>                - Target cost kind
      =throughput                     -   Reciprocal throughput
      =latency                        -   Instruction latency
      =code-size                      -   Code size
    -safepoint-ir-verifier-print-only - 
    -verify-region-info               - Verify region info (time consuming)
  
  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


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


Repository:
  rL LLVM

https://reviews.llvm.org/D60603

Files:
  tools/llvm-as/llvm-as.cpp


Index: tools/llvm-as/llvm-as.cpp
===================================================================
--- tools/llvm-as/llvm-as.cpp
+++ tools/llvm-as/llvm-as.cpp
@@ -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 @@
 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...


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D60603.194823.patch
Type: text/x-patch
Size: 2833 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190412/d9182854/attachment.bin>


More information about the llvm-commits mailing list