diff options
author | Simon Atanasyan <simon@atanasyan.com> | 2019-10-30 19:52:16 +0300 |
---|---|---|
committer | Simon Atanasyan <simon@atanasyan.com> | 2019-11-01 09:42:48 +0300 |
commit | a8a89c77ea3c16b45763fca6940bbfd3bef7884f (patch) | |
tree | cae4f9d2687502e387ff47f54fbceb4db1d92b20 /llvm/utils/UpdateTestChecks | |
parent | 622176705550d5af5e2837f4b2188ce9f7590887 (diff) | |
download | bcm5719-llvm-a8a89c77ea3c16b45763fca6940bbfd3bef7884f.tar.gz bcm5719-llvm-a8a89c77ea3c16b45763fca6940bbfd3bef7884f.zip |
[utils] Reflow asm check generation to tolerate blank lines
This change introduces two fixes. The second fix allows to generate
a test to check the first fix.
- Output `CHECK-EMPTY` prefix for an empty line in ASM output. Before that
fix `update_llc_test_checks.py` incorrectly emits `CHECK-NEXT: <space>`
prefix.
- Fix the `ASM_FUNCTION_MIPS_RE` regex to stop on a real function
epilogue not on an inline assembler prologue and include inline
assembler code into a test.
Differential Revision: https://reviews.llvm.org/D47192
Diffstat (limited to 'llvm/utils/UpdateTestChecks')
-rw-r--r-- | llvm/utils/UpdateTestChecks/asm.py | 3 | ||||
-rw-r--r-- | llvm/utils/UpdateTestChecks/common.py | 5 |
2 files changed, 6 insertions, 2 deletions
diff --git a/llvm/utils/UpdateTestChecks/asm.py b/llvm/utils/UpdateTestChecks/asm.py index 2c9f4d9c506..06f8a22ad45 100644 --- a/llvm/utils/UpdateTestChecks/asm.py +++ b/llvm/utils/UpdateTestChecks/asm.py @@ -53,7 +53,8 @@ ASM_FUNCTION_MIPS_RE = re.compile( r'^_?(?P<func>[^:]+):[ \t]*#+[ \t]*@(?P=func)\n[^:]*?' # f: (name of func) r'(?:^[ \t]+\.(frame|f?mask|set).*?\n)+' # Mips+LLVM standard asm prologue r'(?P<body>.*?)\n' # (body of the function) - r'(?:^[ \t]+\.(set|end).*?\n)+' # Mips+LLVM standard asm epilogue + # Mips+LLVM standard asm epilogue + r'(?:(^[ \t]+\.set[^\n]*?\n)*^[ \t]+\.end.*?\n)' r'(\$|\.L)func_end[0-9]+:\n', # $func_end0: (mips32 - O32) or # .Lfunc_end0: (mips64 - NewABI) flags=(re.M | re.S)) diff --git a/llvm/utils/UpdateTestChecks/common.py b/llvm/utils/UpdateTestChecks/common.py index 76b9d4e80c9..9da8619915b 100644 --- a/llvm/utils/UpdateTestChecks/common.py +++ b/llvm/utils/UpdateTestChecks/common.py @@ -260,7 +260,10 @@ def add_checks(output_lines, comment_marker, prefix_list, func_dict, func_name, if is_asm: output_lines.append('%s %s: %s' % (comment_marker, checkprefix, func_body[0])) for func_line in func_body[1:]: - output_lines.append('%s %s-NEXT: %s' % (comment_marker, checkprefix, func_line)) + if func_line.strip() == '': + output_lines.append('%s %s-EMPTY:' % (comment_marker, checkprefix)) + else: + output_lines.append('%s %s-NEXT: %s' % (comment_marker, checkprefix, func_line)) break # For IR output, change all defs to FileCheck variables, so we're immune |