[llvm] 6187394 - [UptestTestChecks][NFC] Share some common command line options code

Alex Richardson via llvm-commits llvm-commits at lists.llvm.org
Wed Nov 20 05:23:57 PST 2019


Author: Alex Richardson
Date: 2019-11-20T13:23:26Z
New Revision: 6187394dd05ea20db01370b1990a79d517d98f7e

URL: https://github.com/llvm/llvm-project/commit/6187394dd05ea20db01370b1990a79d517d98f7e
DIFF: https://github.com/llvm/llvm-project/commit/6187394dd05ea20db01370b1990a79d517d98f7e.diff

LOG: [UptestTestChecks][NFC] Share some common command line options code

Summary:
Add a function common.parse_commandline_args() that adds options common
to all tools (--verbose and --update-only) and returns the parsed
commandline arguments. I plan to use the shared parsing of --verbose in a
follow-up commit to remove most of the `if args.verbose:` checks in the
scripts.

Reviewers: xbolva00, MaskRay

Reviewed By: MaskRay

Subscribers: llvm-commits

Tags: #llvm

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

Added: 
    

Modified: 
    llvm/utils/UpdateTestChecks/common.py
    llvm/utils/update_analyze_test_checks.py
    llvm/utils/update_cc_test_checks.py
    llvm/utils/update_llc_test_checks.py
    llvm/utils/update_mca_test_checks.py
    llvm/utils/update_mir_test_checks.py
    llvm/utils/update_test_checks.py

Removed: 
    


################################################################################
diff  --git a/llvm/utils/UpdateTestChecks/common.py b/llvm/utils/UpdateTestChecks/common.py
index 8a864446a8a3..f06460510905 100644
--- a/llvm/utils/UpdateTestChecks/common.py
+++ b/llvm/utils/UpdateTestChecks/common.py
@@ -13,6 +13,14 @@ class string:
 
 ##### Common utilities for update_*test_checks.py
 
+
+def parse_commandline_args(parser):
+  parser.add_argument('-v', '--verbose', action='store_true',
+                      help='Show verbose output')
+  parser.add_argument('-u', '--update-only', action='store_true',
+                      help='Only update test if it was already autogened')
+  return parser.parse_args()
+
 def should_add_line_to_output(input_line, prefix_set):
   # Skip any blank comment lines in the IR.
   if input_line.strip() == ';':

diff  --git a/llvm/utils/update_analyze_test_checks.py b/llvm/utils/update_analyze_test_checks.py
index 97089129a292..37803656aa20 100755
--- a/llvm/utils/update_analyze_test_checks.py
+++ b/llvm/utils/update_analyze_test_checks.py
@@ -52,16 +52,12 @@
 def main():
   from argparse import RawTextHelpFormatter
   parser = argparse.ArgumentParser(description=__doc__, formatter_class=RawTextHelpFormatter)
-  parser.add_argument('-v', '--verbose', action='store_true',
-                      help='Show verbose output')
   parser.add_argument('--opt-binary', default='opt',
                       help='The opt binary used to generate the test case')
   parser.add_argument(
       '--function', help='The function in the test file to update')
-  parser.add_argument('-u', '--update-only', action='store_true',
-                      help='Only update test if it was already autogened')
   parser.add_argument('tests', nargs='+')
-  args = parser.parse_args()
+  args = common.parse_commandline_args(parser)
 
   script_name = os.path.basename(__file__)
   autogenerated_note = (ADVERT + 'utils/' + script_name)

diff  --git a/llvm/utils/update_cc_test_checks.py b/llvm/utils/update_cc_test_checks.py
index 79753acaa87d..4358acce016e 100755
--- a/llvm/utils/update_cc_test_checks.py
+++ b/llvm/utils/update_cc_test_checks.py
@@ -90,7 +90,6 @@ def config():
   parser = argparse.ArgumentParser(
       description=__doc__,
       formatter_class=argparse.RawTextHelpFormatter)
-  parser.add_argument('-v', '--verbose', action='store_true')
   parser.add_argument('--llvm-bin', help='llvm $prefix/bin path')
   parser.add_argument('--clang',
                       help='"clang" executable, defaults to $llvm_bin/clang')
@@ -104,10 +103,8 @@ def config():
   parser.add_argument(
       '--x86_extra_scrub', action='store_true',
       help='Use more regex for x86 matching to reduce 
diff s between various subtargets')
-  parser.add_argument('-u', '--update-only', action='store_true',
-                      help='Only update test if it was already autogened')
   parser.add_argument('tests', nargs='+')
-  args = parser.parse_args()
+  args = common.parse_commandline_args(parser)
   args.clang_args = shlex.split(args.clang_args or '')
 
   if args.clang is None:

diff  --git a/llvm/utils/update_llc_test_checks.py b/llvm/utils/update_llc_test_checks.py
index 6fbab0b6a898..1168eec9a33c 100755
--- a/llvm/utils/update_llc_test_checks.py
+++ b/llvm/utils/update_llc_test_checks.py
@@ -24,8 +24,6 @@
 
 def main():
   parser = argparse.ArgumentParser(description=__doc__)
-  parser.add_argument('-v', '--verbose', action='store_true',
-                      help='Show verbose output')
   parser.add_argument('--llc-binary', default='llc',
                       help='The "llc" binary to use to generate the test case')
   parser.add_argument(
@@ -38,10 +36,8 @@ def main():
       help='Use more regex for x86 matching to reduce 
diff s between various subtargets')
   parser.add_argument(
       '--no_x86_scrub_rip', action='store_false', dest='x86_scrub_rip')
-  parser.add_argument('-u', '--update-only', action='store_true',
-                      help='Only update test if it was already autogened')
   parser.add_argument('tests', nargs='+')
-  args = parser.parse_args()
+  args = common.parse_commandline_args(parser)
 
   script_name = os.path.basename(__file__)
 

diff  --git a/llvm/utils/update_mca_test_checks.py b/llvm/utils/update_mca_test_checks.py
index bbeca1d557b7..ba0a99392e02 100755
--- a/llvm/utils/update_mca_test_checks.py
+++ b/llvm/utils/update_mca_test_checks.py
@@ -56,9 +56,6 @@ def _showwarning(message, category, filename, lineno, file=None, line=None):
 
 def _parse_args():
   parser = argparse.ArgumentParser(description=__doc__)
-  parser.add_argument('-v', '--verbose',
-                      action='store_true',
-                      help='show verbose output')
   parser.add_argument('-w',
                       action='store_true',
                       help='suppress warnings')
@@ -73,7 +70,7 @@ def _parse_args():
   parser.add_argument('tests',
                       metavar='<test-path>',
                       nargs='+')
-  args = parser.parse_args()
+  args = common.parse_commandline_args(parser)
 
   _configure_warnings(args)
 

diff  --git a/llvm/utils/update_mir_test_checks.py b/llvm/utils/update_mir_test_checks.py
index e6c16718059d..6e9061309585 100755
--- a/llvm/utils/update_mir_test_checks.py
+++ b/llvm/utils/update_mir_test_checks.py
@@ -430,17 +430,13 @@ def update_test_file(args, test):
 def main():
     parser = argparse.ArgumentParser(
         description=__doc__, formatter_class=argparse.RawTextHelpFormatter)
-    parser.add_argument('-v', '--verbose', action='store_true',
-                        help='Show verbose output')
     parser.add_argument('--llc-binary', dest='llc', default='llc', type=LLC,
                         help='The "llc" binary to generate the test case with')
     parser.add_argument('--remove-common-prefixes', action='store_true',
                         help='Remove existing check lines whose prefixes are '
                              'shared between multiple commands')
-    parser.add_argument('-u', '--update-only', action='store_true',
-                        help='Only update test if it was already autogened')
     parser.add_argument('tests', nargs='+')
-    args = parser.parse_args()
+    args = common.parse_commandline_args(parser)
 
     test_paths = [test for pattern in args.tests for test in glob.glob(pattern)]
     for test in test_paths:

diff  --git a/llvm/utils/update_test_checks.py b/llvm/utils/update_test_checks.py
index 97bf6e985972..31122b2f7b75 100755
--- a/llvm/utils/update_test_checks.py
+++ b/llvm/utils/update_test_checks.py
@@ -56,20 +56,16 @@
 def main():
   from argparse import RawTextHelpFormatter
   parser = argparse.ArgumentParser(description=__doc__, formatter_class=RawTextHelpFormatter)
-  parser.add_argument('-v', '--verbose', action='store_true',
-                      help='Show verbose output')
   parser.add_argument('--opt-binary', default='opt',
                       help='The opt binary used to generate the test case')
   parser.add_argument(
       '--function', help='The function in the test file to update')
-  parser.add_argument('-u', '--update-only', action='store_true',
-                      help='Only update test if it was already autogened')
   parser.add_argument('-p', '--preserve-names', action='store_true',
                       help='Do not scrub IR names')
   parser.add_argument('--function-signature', action='store_true',
                       help='Keep function signature information around for the check line')
   parser.add_argument('tests', nargs='+')
-  args = parser.parse_args()
+  args = common.parse_commandline_args(parser)
 
   script_name = os.path.basename(__file__)
   autogenerated_note = (ADVERT + 'utils/' + script_name)


        


More information about the llvm-commits mailing list