Support other llc-like tools in update_llc_test_checks.py

Summary:
If you have downstream tools that are llc-like (e.g, llc with different
defaults), it's convenient to still be able to use
`update_llc_test_checks` with them. Refactor slightly to allow such tools
to be supported by adding them to LLC_LIKE_TOOLS

Reviewers: bogner

Subscribers: llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D80960
This commit is contained in:
Daniel Sanders 2020-06-01 11:50:53 -07:00
parent e9eecd700b
commit 424a5b37ed

View File

@ -20,11 +20,13 @@ import re
from UpdateTestChecks import asm, common
ADVERT = ' NOTE: Assertions have been autogenerated by '
# llc is the only llc-like in the LLVM tree but downstream forks can add
# additional ones here if they have them.
LLC_LIKE_TOOLS = ('llc',)
def main():
parser = argparse.ArgumentParser(description=__doc__)
parser.add_argument('--llc-binary', default='llc',
parser.add_argument('--llc-binary', default=None,
help='The "llc" binary to use to generate the test case')
parser.add_argument(
'--function', help='The function in the test file to update')
@ -91,7 +93,7 @@ def main():
if len(commands) > 1:
filecheck_cmd = commands[1]
common.verify_filecheck_prefixes(filecheck_cmd)
if llc_tool != 'llc':
if llc_tool not in LLC_LIKE_TOOLS:
common.warn('Skipping non-llc RUN line: ' + l)
continue
@ -129,7 +131,8 @@ def main():
common.debug('Extracted LLC cmd:', llc_tool, llc_args)
common.debug('Extracted FileCheck prefixes:', str(prefixes))
raw_tool_output = common.invoke_tool(args.llc_binary, llc_args, test)
raw_tool_output = common.invoke_tool(args.llc_binary or llc_tool,
llc_args, test)
triple = triple_in_cmd or triple_in_ir
if not triple:
triple = asm.get_triple_from_march(march_in_cmd)