[PATCH] D85099: [UpdateTestChecks] Match unnamed values like "@[0-9]+" and "![0-9]+"

Fangrui Song via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Mon Aug 10 17:52:46 PDT 2020


MaskRay added a comment.

Mostly looks good.



================
Comment at: llvm/utils/UpdateTestChecks/common.py:309
+
+nameless_values = []
+# Description of the different "unnamed" values we match in the IR, e.g.,
----------------
```lang=python
nameless_values = [
    NamelessValue(r'TMP',  r'%',            r'[\w.-]+?'),
    NamelessValue(r'TMP',  r'%',            r'[\w.-]+?'),
    ...
]
```


================
Comment at: llvm/utils/UpdateTestChecks/common.py:330
+    IR_VALUE_REGEXP_STRING += nameless_value.ir_prefix + r'(' + nameless_value.ir_regexp + r')'
+IR_VALUE_REGEXP_SUFFIX = r'([,\s\(\)]|\Z)'
+IR_VALUE_RE = re.compile(IR_VALUE_REGEXP_PREFIX + r'(' + IR_VALUE_REGEXP_STRING + r')' + IR_VALUE_REGEXP_SUFFIX)
----------------
Can the suffix use `(?:...)`?


================
Comment at: llvm/utils/UpdateTestChecks/common.py:402
+      while changed:
+          (lines[i], changed) = IR_VALUE_RE.subn(transform_line_vars, lines[i])
   return lines
----------------
jdoerfert wrote:
> MaskRay wrote:
> > Do you have an example that not substituting repeatedly can fail?
> Line 8 in `llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/various_ir_values.ll.funcsig.expected` :)
This is indeed strange. If we don't have a good explanation, probably worth adding `count=1`


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D85099/new/

https://reviews.llvm.org/D85099



More information about the cfe-commits mailing list