[clang] [llvm] [Clang][OpenMP] Support for dispatch construct (Sema & Codegen) support (PR #131838)
via llvm-commits
llvm-commits at lists.llvm.org
Thu Apr 10 10:26:19 PDT 2025
================
@@ -11899,6 +11899,9 @@ def err_omp_clause_requires_dispatch_construct : Error<
"'%0' clause requires 'dispatch' context selector">;
def err_omp_append_args_with_varargs : Error<
"'append_args' is not allowed with varargs functions">;
+def warn_omp_dispatch_clause_novariants_nocontext : Warning<
----------------
SunilKuravinakop wrote:
In case of :
```
#pragma omp declare variant(foo_variant2) match(user={condition(1)})
#pragma omp declare variant(foo_variant) match(construct={dispatch})
void foo(int x) {
}
#pragma omp dispatch nocontext(c1)
```
the code generated in the if-else is:
```
if(c1) {
foo_variant2(x)
} else {
foo_variant(x)
}
```
whereas for `#pragma omp dispatch novariantc2)` it is
```
if(c2) {
foo(x)
} else {
foo_variant(x)
}
```
There is a difference in the code generate at `if` . Hence I cannot use `c1 || c2`.
https://github.com/llvm/llvm-project/pull/131838
More information about the llvm-commits
mailing list