ErnestoSu wrote:
@alexey-bataev @zahiraam Thanks so much for your review and approval! Is there
anything else I need to do before this PR can be merged by one of you?
https://github.com/llvm/llvm-project/pull/135463
___
cfe-commits mailing list
cfe-co
@@ -411,9 +411,11 @@ bool isOpenMPCapturingDirective(OpenMPDirectiveKind DKind);
/// directive that can be nested within region corresponding to construct
/// on which order clause was specified with concurrent as ordering argument.
/// \param DKind Specified directive.
+/// \p
https://github.com/ErnestoSu updated
https://github.com/llvm/llvm-project/pull/135463
>From 51a9237094437e0b9db57fd071e295939234a3ac Mon Sep 17 00:00:00 2001
From: Ernesto Su
Date: Fri, 11 Apr 2025 16:12:10 -0700
Subject: [PATCH 1/2] [clang][OpenMP] Fix/enforce order-concurrent-nestable
rules
@@ -7132,7 +7118,7 @@ ExprResult SemaOpenMP::ActOnOpenMPCall(ExprResult Call,
Scope *Scope,
if (!CalleeFnDecl)
return Call;
- if (getLangOpts().OpenMP >= 51 && getLangOpts().OpenMP < 60 &&
+ if (getLangOpts().OpenMP >= 50 && getLangOpts().OpenMP <= 60 &&
-
ErnestoSu wrote:
@zahiraam @alexey-bataev Please review
https://github.com/llvm/llvm-project/pull/135463
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -16373,21 +16359,20 @@ OMPClause *SemaOpenMP::ActOnOpenMPOrderClause(
<< getOpenMPClauseName(OMPC_order);
return nullptr;
}
- if (getLangOpts().OpenMP >= 51) {
ErnestoSu wrote:
Original implementation did not call `setRegionHasOrderConcurrent
https://github.com/ErnestoSu created
https://github.com/llvm/llvm-project/pull/135463
OpenMP has restrictions on directives allowed to be strictly nested inside a
construct with the order(concurrent) clause specified.
- OpenMP 5.0, 5.1, and 5.2 allows: 'loop', 'parallel', 'simd', and
combi
@@ -5621,6 +5623,81 @@ class OMPTileDirective final : public
OMPLoopTransformationDirective {
}
};
+class OMPStripeDirective final : public OMPLoopTransformationDirective {
+ friend class ASTStmtReader;
+ friend class OMPExecutableDirective;
+
+ /// Default list of offse