[clang] [clang][SME] Emit error for OpenMP captured regions in SME functions (PR #124590)
Benjamin Maxwell via cfe-commits
cfe-commits at lists.llvm.org
Tue Jan 28 03:28:54 PST 2025
================
@@ -0,0 +1,68 @@
+// RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sme -target-feature +sme2 -fopenmp -fsyntax-only -verify %s
+// RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sme -target-feature +sme2 -fopenmp -fsyntax-only -verify=expected-cpp -x c++ %s
+
+int compute(int);
+
+void streaming_openmp_captured_region(int* out) __arm_streaming
+{
+ // expected-error at +2 {{OpenMP captured regions are not yet supported in streaming functions}}
+ // expected-cpp-error at +1 {{OpenMP captured regions are not yet supported in streaming functions}}
+ #pragma omp parallel for num_threads(32)
+ for(int ci =0;ci< 8;ci++)
+ {
+ out[ci] =compute(ci);
+ }
+}
+
+__arm_locally_streaming void locally_streaming_openmp_captured_region(int* out)
+{
+ // expected-error at +2 {{OpenMP captured regions are not yet supported in streaming functions}}
+ // expected-cpp-error at +1 {{OpenMP captured regions are not yet supported in streaming functions}}
+ #pragma omp parallel for num_threads(32)
+ for(int ci =0;ci< 8;ci++)
+ {
+ out[ci] = compute(ci);
+ }
+}
+
+void za_state_captured_region(int* out) __arm_inout("za")
+{
+ // expected-error at +2 {{OpenMP captured regions are not yet supported in functions with ZA state}}
+ // expected-cpp-error at +1 {{OpenMP captured regions are not yet supported in functions with ZA state}}
+ #pragma omp parallel for num_threads(32)
+ for(int ci =0;ci< 8;ci++)
+ {
+ out[ci] =compute(ci);
+ }
+}
+
+void zt0_state_openmp_captured_region(int* out) __arm_inout("zt0")
+{
+ // expected-error at +2 {{OpenMP captured regions are not yet supported in functions with ZT0 state}}
+ // expected-cpp-error at +1 {{OpenMP captured regions are not yet supported in functions with ZT0 state}}
+ #pragma omp parallel for num_threads(32)
+ for(int ci =0;ci< 8;ci++)
+ {
+ out[ci] = compute(ci);
+ }
+}
+
----------------
MacDue wrote:
Done :+1:
https://github.com/llvm/llvm-project/pull/124590
More information about the cfe-commits
mailing list