[clang] [Clang][SVE2.1] Make a part of the name optional for `svwhileXX` builtins with predicate-as-counter (PR #75200)
Momchil Velikov via cfe-commits
cfe-commits at lists.llvm.org
Thu Dec 14 08:37:18 PST 2023
================
@@ -1,12 +1,20 @@
// NOTE: Assertions have been autogenerated by utils/update_cc_test_checks.py
// RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sve2p1 -S -O1 -Werror -Wall -emit-llvm -o - %s | FileCheck %s
// RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sve2p1 -S -O1 -Werror -Wall -emit-llvm -o - -x c++ %s | FileCheck %s -check-prefix=CPP-CHECK
+// RUN: %clang_cc1 -DSVE_OVERLOADED_FORMS -triple aarch64-none-linux-gnu -target-feature +sve2p1 -S -O1 -Werror -Wall -emit-llvm -o - %s | FileCheck %s
+// RUN: %clang_cc1 -DSVE_OVERLOADED_FORMS -triple aarch64-none-linux-gnu -target-feature +sve2p1 -S -O1 -Werror -Wall -emit-llvm -o - -x c++ %s | FileCheck %s -check-prefix=CPP-CHECK
// RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sve2p1 -S -disable-O0-optnone -Werror -Wall -o /dev/null %s
----------------
momchil-velikov wrote:
I meant something else.
Each run line tests all the functions, i.e:
* first line tests all functions, with sve2p1 attribute, compiled as C
* second line tests all functions, with sve2p1 attribute, compiled as C++
* third line tests all functions, short name versions, with sve2p1 attribute, compiled as C
* fourth line tests all functions, short name versions, with sve2p1 attribute, compiled as C++
We can surely add four more lines, with sme2 attribute.
But what if we have just:
* first line tests all functions, with **sme2** attribute, compiled as C
* second line tests all functions, with sve2p1 attribute, compiled as C++
* third line tests all functions, short name versions, with sve2p1 attribute, compiled as C
* fourth line tests all functions, short name versions, with sve2p1 attribute, compiled as C++
What are we going to lose as test coverage, compared to a variant with eight run lines?
Some odd defect where say, combination of C++ and short/overloaded names misses a check for target feature or
streaming attribute?
But that's *very very likely* not dependent on *this* set of functions, so it's sufficient to have just one function tested with all the combinations and I've already seen such test files.
https://github.com/llvm/llvm-project/pull/75200
More information about the cfe-commits
mailing list