1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-25 04:02:41 +01:00

[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
This commit is contained in:
Mircea Trofin 2021-02-01 15:21:55 -08:00
parent 29acfb48a9
commit ea66bf2f6b
2 changed files with 19 additions and 5 deletions

View File

@ -3,7 +3,9 @@
# RUN: cp -f %S/Inputs/common-label-different-bodies-1.ll %t-1.ll
# RUN: cp -f %S/Inputs/common-label-different-bodies-2.ll %t-2.ll
# RUN: cp -f %S/Inputs/common-label-different-bodies-3.ll %t-3.ll
# RUN: %update_llc_test_checks %t-1.ll
# RUN: cp -f %S/Inputs/common-label-different-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
# CHECK-NOT: A-LABEL: fold_v2i64
# WARNINGS: WARNING: Function fold_v2i64 had conflicting output from different RUN lines for prefix A
# WARNINGS: WARNING: Prefix A had conflicting output from different RUN lines for all functions
# NOWARNINGS-NOT: WARNING

View File

@ -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 @@ class FunctionTestBuilder:
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 different RUN lines for all functions' % (prefix,))
if _verbose_prefix_warnings:
for prefix in self._get_failed_prefixes():
warn('Prefix %s had conflicting output from different RUN lines for all functions' % (prefix,))
return self._func_dict
def func_order(self):
@ -329,6 +335,9 @@ class FunctionTestBuilder:
# 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 different RUN lines for prefix %s' % (
func, prefix))
continue
self._func_dict[prefix][func] = function_body(