================
@@ -1,3 +1,6 @@
-__kernel void foo(int *i) {
+// RUN: %clang -emit-llvm -S -o - %s | FileCheck %s
----------------
frasercrmck wrote:

I wasn't so much thinking that it would pretend to be generic, but rather that 
it'd use a custom test format (something like 
[analyzer_test.py](https://github.com/llvm/llvm-project/blob/main/clang/test/Analysis/analyzer_test.py))
 to run the test once for each target we build/test, substituting in the target 
triple and target-specific check prefix each time.

That way we could test all or a subset of all targets without worrying about 
the test failing on a target we haven't built.

In that sense these are a little different to clang codegen tests - aren't 
they? clang can always compile for any of its supported targets. With libclc, 
however, the user is allowed to build only a handful of the targets, and each 
of those targets can have drastically different builtin implementations through 
specialization.

We don't want the tests to fail if the user hasn't built certain targets, so I 
think we need some kind of configuration that allows tests to be skipped. But 
`update_cc_test_checks` doesn't handle features or `%if` or anything dynamic 
like that. It's really only suitable for the simplest of clang tests. So if we 
wanted to have each test file run on multiple targets, I think 
`update_cc_test_checks` could only be used if the user built all libclc 
targets, and each test had one `RUN` line for each target. I think we have ten 
targets so it might get a bit unwieldy, is all I'm saying. I do want us to be 
able to use that script as it's by far the best way of maintaining tests that 
we've got.

https://github.com/llvm/llvm-project/pull/87989
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to