[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