From 6187394dd05ea20db01370b1990a79d517d98f7e Mon Sep 17 00:00:00 2001 From: Alex Richardson Date: Wed, 20 Nov 2019 13:19:48 +0000 Subject: [PATCH] [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 --- llvm/utils/UpdateTestChecks/common.py | 8 ++++++++ llvm/utils/update_analyze_test_checks.py | 6 +----- llvm/utils/update_cc_test_checks.py | 5 +---- llvm/utils/update_llc_test_checks.py | 6 +----- llvm/utils/update_mca_test_checks.py | 5 +---- llvm/utils/update_mir_test_checks.py | 6 +----- llvm/utils/update_test_checks.py | 6 +----- 7 files changed, 14 insertions(+), 28 deletions(-) diff --git a/llvm/utils/UpdateTestChecks/common.py b/llvm/utils/UpdateTestChecks/common.py index 8a86444..f064605 100644 --- a/llvm/utils/UpdateTestChecks/common.py +++ b/llvm/utils/UpdateTestChecks/common.py @@ -13,6 +13,14 @@ else: ##### 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 9708912..3780365 100755 --- a/llvm/utils/update_analyze_test_checks.py +++ b/llvm/utils/update_analyze_test_checks.py @@ -52,16 +52,12 @@ IR_FUNCTION_RE = re.compile('^\s*define\s+(?:internal\s+)?[^@]*@([\w-]+)\s*\(') 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 79753ac..4358acc 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 diffs 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 6fbab0b..1168eec 100755 --- a/llvm/utils/update_llc_test_checks.py +++ b/llvm/utils/update_llc_test_checks.py @@ -24,8 +24,6 @@ ADVERT = ' NOTE: Assertions have been autogenerated by ' 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 diffs 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 bbeca1d..ba0a993 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='', 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 e6c1671..6e90613 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 97bf6e9..31122b2 100755 --- a/llvm/utils/update_test_checks.py +++ b/llvm/utils/update_test_checks.py @@ -56,20 +56,16 @@ IR_FUNCTION_RE = re.compile('^\s*define\s+(?:internal\s+)?[^@]*@([\w-]+)\s*\(') 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) -- 2.7.4