|
@@ -8012,6 +8012,7 @@ OMPClause *Sema::ActOnOpenMPSingleExprClause(OpenMPClauseKind Kind, Expr *Expr,
|
|
|
case OMPC_is_device_ptr:
|
|
|
case OMPC_unified_address:
|
|
|
case OMPC_unified_shared_memory:
|
|
|
+ case OMPC_reverse_offload:
|
|
|
llvm_unreachable("Clause is not allowed.");
|
|
|
}
|
|
|
return Res;
|
|
@@ -8535,6 +8536,7 @@ static OpenMPDirectiveKind getOpenMPCaptureRegionForClause(
|
|
|
case OMPC_is_device_ptr:
|
|
|
case OMPC_unified_address:
|
|
|
case OMPC_unified_shared_memory:
|
|
|
+ case OMPC_reverse_offload:
|
|
|
llvm_unreachable("Unexpected OpenMP clause.");
|
|
|
}
|
|
|
return CaptureRegion;
|
|
@@ -8854,6 +8856,7 @@ OMPClause *Sema::ActOnOpenMPSimpleClause(
|
|
|
case OMPC_is_device_ptr:
|
|
|
case OMPC_unified_address:
|
|
|
case OMPC_unified_shared_memory:
|
|
|
+ case OMPC_reverse_offload:
|
|
|
llvm_unreachable("Clause is not allowed.");
|
|
|
}
|
|
|
return Res;
|
|
@@ -9012,6 +9015,7 @@ OMPClause *Sema::ActOnOpenMPSingleExprWithArgClause(
|
|
|
case OMPC_is_device_ptr:
|
|
|
case OMPC_unified_address:
|
|
|
case OMPC_unified_shared_memory:
|
|
|
+ case OMPC_reverse_offload:
|
|
|
llvm_unreachable("Clause is not allowed.");
|
|
|
}
|
|
|
return Res;
|
|
@@ -9173,6 +9177,9 @@ OMPClause *Sema::ActOnOpenMPClause(OpenMPClauseKind Kind,
|
|
|
case OMPC_unified_shared_memory:
|
|
|
Res = ActOnOpenMPUnifiedSharedMemoryClause(StartLoc, EndLoc);
|
|
|
break;
|
|
|
+ case OMPC_reverse_offload:
|
|
|
+ Res = ActOnOpenMPReverseOffloadClause(StartLoc, EndLoc);
|
|
|
+ break;
|
|
|
case OMPC_if:
|
|
|
case OMPC_final:
|
|
|
case OMPC_num_threads:
|
|
@@ -9283,6 +9290,11 @@ OMPClause *Sema::ActOnOpenMPUnifiedSharedMemoryClause(SourceLocation StartLoc,
|
|
|
return new (Context) OMPUnifiedSharedMemoryClause(StartLoc, EndLoc);
|
|
|
}
|
|
|
|
|
|
+OMPClause *Sema::ActOnOpenMPReverseOffloadClause(SourceLocation StartLoc,
|
|
|
+ SourceLocation EndLoc) {
|
|
|
+ return new (Context) OMPReverseOffloadClause(StartLoc, EndLoc);
|
|
|
+}
|
|
|
+
|
|
|
OMPClause *Sema::ActOnOpenMPVarListClause(
|
|
|
OpenMPClauseKind Kind, ArrayRef<Expr *> VarList, Expr *TailExpr,
|
|
|
SourceLocation StartLoc, SourceLocation LParenLoc, SourceLocation ColonLoc,
|
|
@@ -9392,6 +9404,7 @@ OMPClause *Sema::ActOnOpenMPVarListClause(
|
|
|
case OMPC_uniform:
|
|
|
case OMPC_unified_address:
|
|
|
case OMPC_unified_shared_memory:
|
|
|
+ case OMPC_reverse_offload:
|
|
|
llvm_unreachable("Clause is not allowed.");
|
|
|
}
|
|
|
return Res;
|