[llvm] 87f8a08 - [Utils] Add a switch controlling prefix warnings in UpdateTestChecks
Mircea Trofin via llvm-commits
llvm-commits at lists.llvm.org
Mon Feb 1 18:14:56 PST 2021
Author: Mircea Trofin
Date: 2021-02-01T18:04:18-08:00
New Revision: 87f8a08ce36e5bc72f11129d2cf36b5848f86f63
URL: https://github.com/llvm/llvm-project/commit/87f8a08ce36e5bc72f11129d2cf36b5848f86f63
DIFF: https://github.com/llvm/llvm-project/commit/87f8a08ce36e5bc72f11129d2cf36b5848f86f63.diff
LOG: [Utils] Add a switch controlling prefix warnings in UpdateTestChecks
The switch controls both unused prefix warnings, and warnings about
functions which differ under different runs for a prefix, and, thus, end
up not having asserts for that prefix.
(If the latter case spans to all functions, then the former case kicks
in)
The switch is on by default, and can be disabled.
Differential Revision: https://reviews.llvm.org/D95829
Added:
Modified:
llvm/test/tools/UpdateTestChecks/update_llc_test_checks/common-label-different-bodies.test
llvm/utils/UpdateTestChecks/common.py
Removed:
################################################################################
diff --git a/llvm/test/tools/UpdateTestChecks/update_llc_test_checks/common-label-
diff erent-bodies.test b/llvm/test/tools/UpdateTestChecks/update_llc_test_checks/common-label-
diff erent-bodies.test
index 409114db02b3..4109ce9c24be 100644
--- a/llvm/test/tools/UpdateTestChecks/update_llc_test_checks/common-label-
diff erent-bodies.test
+++ b/llvm/test/tools/UpdateTestChecks/update_llc_test_checks/common-label-
diff erent-bodies.test
@@ -3,7 +3,9 @@
# RUN: cp -f %S/Inputs/common-label-
diff erent-bodies-1.ll %t-1.ll
# RUN: cp -f %S/Inputs/common-label-
diff erent-bodies-2.ll %t-2.ll
# RUN: cp -f %S/Inputs/common-label-
diff erent-bodies-3.ll %t-3.ll
-# RUN: %update_llc_test_checks %t-1.ll
+# RUN: cp -f %S/Inputs/common-label-
diff erent-bodies-3.ll %t-4.ll
+# RUN: %update_llc_test_checks %t-1.ll 2>&1 | FileCheck %s --check-prefix=WARNINGS
+# RUN: %update_llc_test_checks --disable-verbose-prefix-warnings %t-4.ll 2>&1 | FileCheck %s --check-prefix=NOWARNINGS --allow-empty
# RUN: %update_llc_test_checks %t-2.ll
# RUN: %update_llc_test_checks %t-3.ll
# RUN: FileCheck --input-file=%t-1.ll %s
@@ -11,4 +13,7 @@
# RUN: FileCheck --input-file=%t-3.ll %s
# CHECK: B-LABEL: fold_v2i64
-# CHECK-NOT: A-LABEL: fold_v2i64
\ No newline at end of file
+# CHECK-NOT: A-LABEL: fold_v2i64
+# WARNINGS: WARNING: Function fold_v2i64 had conflicting output from
diff erent RUN lines for prefix A
+# WARNINGS: WARNING: Prefix A had conflicting output from
diff erent RUN lines for all functions
+# NOWARNINGS-NOT: WARNING
\ No newline at end of file
diff --git a/llvm/utils/UpdateTestChecks/common.py b/llvm/utils/UpdateTestChecks/common.py
index 4befaec651ae..a77dc6319f0e 100644
--- a/llvm/utils/UpdateTestChecks/common.py
+++ b/llvm/utils/UpdateTestChecks/common.py
@@ -30,9 +30,14 @@ def parse_commandline_args(parser):
help='Activate CHECK line generation from this point forward')
parser.add_argument('--disable', action='store_false', dest='enabled',
help='Deactivate CHECK line generation from this point forward')
+ parser.add_argument('--disable-verbose-prefix-warnings', action='store_false',
+ default=True,
+ dest='verbose_prefix_warnings',
+ help='Disable warnings about unused prefixes.')
args = parser.parse_args()
- global _verbose
+ global _verbose, _verbose_prefix_warnings
_verbose = args.verbose
+ _verbose_prefix_warnings = args.verbose_prefix_warnings
return args
@@ -272,8 +277,9 @@ def __init__(self, run_list, flags, scrubber_args):
self._func_order.update({prefix: []})
def finish_and_get_func_dict(self):
- for prefix in self._get_failed_prefixes():
- warn('Prefix %s had conflicting output from
diff erent RUN lines for all functions' % (prefix,))
+ if _verbose_prefix_warnings:
+ for prefix in self._get_failed_prefixes():
+ warn('Prefix %s had conflicting output from
diff erent RUN lines for all functions' % (prefix,))
return self._func_dict
def func_order(self):
@@ -329,6 +335,9 @@ def process_run_line(self, function_re, scrubber, raw_tool_output, prefixes):
# so the body can't be common accross RUN lines. We use None to
# indicate that.
self._func_dict[prefix][func] = None
+ if _verbose_prefix_warnings:
+ warn('Function %s had conflicting output from
diff erent RUN lines for prefix %s' % (
+ func, prefix))
continue
self._func_dict[prefix][func] = function_body(
More information about the llvm-commits
mailing list