]> granicus.if.org Git - llvm/commitdiff
update_mir_test_checks: Be careful about replacing entire vregs
authorJustin Bogner <mail@justinbogner.com>
Mon, 6 Nov 2017 21:06:09 +0000 (21:06 +0000)
committerJustin Bogner <mail@justinbogner.com>
Mon, 6 Nov 2017 21:06:09 +0000 (21:06 +0000)
Previously, this could end up replacing a vreg like %14 with
[[VREG1]]4, where VREG1 was the match for %1. That's obviously not
correct, though it hasn't actually come up in any tests I've converted
so far.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@317509 91177308-0d34-0410-b5e6-96231b3b80d8

utils/update_mir_test_checks.py

index 015c4279bad731ba51764bd38316ca681bea0cf1..2934f09f6b37e43a889c57b9e09a68771d1443ef 100755 (executable)
@@ -254,7 +254,8 @@ def add_check_lines(test, output_lines, prefix, func_name, single_bb,
                 func_line = func_line.replace(
                     vreg.group(1), '[[{}:%[0-9]+]]'.format(name), 1)
         for number, name in vreg_map.items():
-            func_line = func_line.replace(number, '[[{}]]'.format(name))
+            func_line = re.sub(r'{}\b'.format(number), '[[{}]]'.format(name),
+                               func_line)
         check_line = '{}: {}'.format(check, func_line[indent:]).rstrip()
         output_lines.append(check_line)