@@ -12,7 +12,6 @@ int mixed() {
x=d;
}
-// expected-error@+2 {{#pragma omp nothing' cannot be an immediate
substatement}}
dreachem wrote:
@alexey-bataev That restriction shouldn't apply to the `nothing` directive.
The `nothing` directive is not execu
@@ -12,7 +12,6 @@ int mixed() {
x=d;
}
-// expected-error@+2 {{#pragma omp nothing' cannot be an immediate
substatement}}
dreachem wrote:
As I understand it, the `nothing` directive is not the equivalent of a null
statement. It is an "ignore me" direc
@@ -208,4 +209,39 @@ int main(int argc, char **argv) {
extern template int S::TS;
extern template long S::TS;
+// DUMP-LABEL: FunctionDecl {{.*}} implicit_firstprivate
+void
+implicit_firstprivate() {
+
+#pragma omp parallel num_threads(1)
+ {
+int i = 0;
+// DUMP: O
https://github.com/dreachem approved this pull request.
https://github.com/llvm/llvm-project/pull/92055
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
dreachem wrote:
@alexey-bataev For something like this:
```c++
void f()
{
#pragma omp dispatch nowait depend(inout:x)
g();
}
```
The AST dump for that function is as follows, with @SunilKuravinakop's patch:
```
`-FunctionDecl 0xed2dac8 line:7:6 f 'void ()'
`-CompoundStmt 0xed2df28
@@ -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_novariant
@@ -3691,6 +3691,7 @@ CGOpenMPRuntime::emitTaskInit(CodeGenFunction &CGF,
SourceLocation Loc,
DestructorsFlag = 0x8,
PriorityFlag = 0x20,
DetachableFlag = 0x40,
+PoolFlag = 0x80,
dreachem wrote:
For the runtime change in this PR, is it suffici
@@ -236,6 +236,8 @@ enum class OpenMPOffloadMappingFlags : uint64_t {
// dynamic.
// This is an OpenMP extension for the sake of OpenACC support.
OMP_MAP_OMPX_HOLD = 0x2000,
+ /// Self directs mapping without creating a separate device copy.
+ OMP_MAP_SELF = 0x4000,
---
@@ -9820,7 +9822,8 @@ void CGOpenMPRuntime::adjustTargetSpecificDataForLambdas(
void CGOpenMPRuntime::processRequiresDirective(const OMPRequiresDecl *D) {
for (const OMPClause *Clause : D->clauselists()) {
-if (Clause->getClauseKind() == OMPC_unified_shared_memory) {
+
@@ -4529,6 +4529,191 @@ void CodeGenFunction::EmitOMPMasterDirective(const
OMPMasterDirective &S) {
emitMaster(*this, S);
}
+static Expr *replaceWithNewTraitsOrDirectCall(CapturedDecl *CDecl,
+ Expr *NewExpr) {
+ Expr *CurrentCa
10 matches
Mail list logo