]> granicus.if.org Git - llvm/commitdiff
update_mir_test_checks: Do a better job of disambiguating names
authorJustin Bogner <mail@justinbogner.com>
Wed, 18 Oct 2017 15:37:09 +0000 (15:37 +0000)
committerJustin Bogner <mail@justinbogner.com>
Wed, 18 Oct 2017 15:37:09 +0000 (15:37 +0000)
Matching prefixes isn't good enough, because it leads to things like
calling the first constant C3 just because there were two copies
before it. Tighten up the check to match more precisely, but also be
careful about ambiguity when dealing with target opcodes that end in a
number.

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

utils/update_mir_test_checks.py

index 48f3eead3e5ed225dfcee3f3668628a7c03d25ab..7b9197474f6bee5024276364d9009d3d17a713e0 100755 (executable)
@@ -266,10 +266,13 @@ def mangle_vreg(opcode, current_names):
                 INSERT_VECTOR_ELT='IVEC',
                 EXTRACT_VECTOR_ELT='EVEC',
                 SHUFFLE_VECTOR='SHUF').get(base, base)
+    # Avoid ambiguity when opcodes end in numbers
+    if len(base.rstrip('0123456789')) < len(base):
+        base += '_'
 
     i = 0
     for name in current_names:
-        if name.startswith(base):
+        if name.rstrip('0123456789') == base:
             i += 1
     if i:
         return '{}{}'.format(base, i)