aboutsummaryrefslogtreecommitdiff
path: root/llvm/utils/UpdateTestChecks/common.py
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/utils/UpdateTestChecks/common.py')
-rw-r--r--llvm/utils/UpdateTestChecks/common.py17
1 files changed, 15 insertions, 2 deletions
diff --git a/llvm/utils/UpdateTestChecks/common.py b/llvm/utils/UpdateTestChecks/common.py
index 6611dc2..0700486 100644
--- a/llvm/utils/UpdateTestChecks/common.py
+++ b/llvm/utils/UpdateTestChecks/common.py
@@ -983,6 +983,7 @@ class FunctionTestBuilder:
##### Generator of LLVM IR CHECK lines
SCRUB_IR_COMMENT_RE = re.compile(r"\s*;.*")
+SCRUB_IR_FUNC_META_RE = re.compile(r"((?:\!(?!dbg\b)[a-zA-Z_]\w*(?:\s+![0-9]+)?)\s*)+")
# TODO: We should also derive check lines for global, debug, loop declarations, etc..
@@ -1087,6 +1088,7 @@ class GeneralizerInfo:
nameless_values: List[NamelessValue],
regexp_prefix,
regexp_suffix,
+ no_meta_details=False,
):
self._version = version
self._mode = mode
@@ -1094,6 +1096,7 @@ class GeneralizerInfo:
self._regexp_prefix = regexp_prefix
self._regexp_suffix = regexp_suffix
+ self._no_meta_details = no_meta_details
self._regexp, _ = self._build_regexp(False, False)
(
@@ -1147,6 +1150,9 @@ class GeneralizerInfo:
def get_unstable_globals_regexp(self):
return self._unstable_globals_regexp
+ def no_meta_details(self):
+ return self._no_meta_details
+
# The entire match is group 0, the prefix has one group (=1), the entire
# IR_VALUE_REGEXP_STRING is one group (=2), and then the nameless values start.
FIRST_NAMELESS_GROUP_IN_MATCH = 3
@@ -1175,7 +1181,7 @@ class GeneralizerInfo:
return self.get_match_info(match)[1]
-def make_ir_generalizer(version):
+def make_ir_generalizer(version, no_meta_details):
values = []
if version >= 5:
@@ -1224,7 +1230,9 @@ def make_ir_generalizer(version):
# not (unstable_ids_only and nameless_value.match_literally)
# ]
- return GeneralizerInfo(version, GeneralizerInfo.MODE_IR, values, prefix, suffix)
+ return GeneralizerInfo(
+ version, GeneralizerInfo.MODE_IR, values, prefix, suffix, no_meta_details
+ )
def make_asm_generalizer(version):
@@ -1726,6 +1734,7 @@ def generalize_check_lines(
original_check_lines=None,
*,
unstable_globals_only=False,
+ no_meta_details=False,
):
if unstable_globals_only:
regexp = ginfo.get_unstable_globals_regexp()
@@ -1755,6 +1764,9 @@ def generalize_check_lines(
break
# Ignore any comments, since the check lines will too.
scrubbed_line = SCRUB_IR_COMMENT_RE.sub(r"", line)
+ # Ignore the metadata details if check global is none
+ if no_meta_details:
+ scrubbed_line = SCRUB_IR_FUNC_META_RE.sub(r"{{.*}}", scrubbed_line)
lines[i] = scrubbed_line
if not preserve_names:
@@ -1986,6 +1998,7 @@ def add_checks(
global_vars_seen,
preserve_names,
original_check_lines=[],
+ no_meta_details=ginfo.no_meta_details(),
)[0]
func_name_separator = func_dict[checkprefix][func_name].func_name_separator
if "[[" in args_and_sig: