[llvm-strings] Switch command line parsing from llvm::cl to OptTable

Authored by MaskRay on Jul 5 2021, 10:46 AM.


[llvm-strings] Switch command line parsing from llvm::cl to OptTable

Some behavior changes:

  • -t=d is removed. Use -t d instead.
  • one-dash long options like -all are supported. Use --all instead.
  • --all=0 or --all=false cannot be used. (Note: --all is silently ignored anyway)
  • --help-list is removed. This is a cl:: specific option.

Nobody is likely leveraging any of the above.


  • -t diagnostic gets improved.
  • in the absence of HideUnrelatedOptions, --help will not list unrelated options if linking against libLLVM-13git.so or linker GC is not used.
  • Decrease the probability of cl::opt collision if we do decide to support multiplexing

Note: because the tool is so simple, used more for forensics instead of a building
tool, and its long options are unlikely used in one-dash form, I just drop the
one-dash form in this patch.

Reviewed By: jhenderson

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