aboutsummaryrefslogtreecommitdiff
path: root/clang/tools
diff options
context:
space:
mode:
authorFazlay Rabbi <fazlay.rabbi@intel.com>2022-06-30 17:08:17 -0700
committerMike Rice <michael.p.rice@intel.com>2022-07-01 08:57:15 -0700
commit38bcd483dd461e1e00d039700d16991a166183e6 (patch)
treeffc9bf32e15a742cb2d2408f3e9bfb1317820c31 /clang/tools
parent3668d1264e2d246f7e222338b8a5cab18ce1bdab (diff)
downloadllvm-38bcd483dd461e1e00d039700d16991a166183e6.zip
llvm-38bcd483dd461e1e00d039700d16991a166183e6.tar.gz
llvm-38bcd483dd461e1e00d039700d16991a166183e6.tar.bz2
[OpenMP] Initial parsing and semantic support for 'parallel masked taskloop simd' construct
This patch gives basic parsing and semantic support for "parallel masked taskloop simd" construct introduced in OpenMP 5.1 (section 2.16.10) Differential Revision: https://reviews.llvm.org/D128946
Diffstat (limited to 'clang/tools')
-rw-r--r--clang/tools/libclang/CIndex.cpp9
-rw-r--r--clang/tools/libclang/CXCursor.cpp3
2 files changed, 12 insertions, 0 deletions
diff --git a/clang/tools/libclang/CIndex.cpp b/clang/tools/libclang/CIndex.cpp
index ee25d39..31747bb 100644
--- a/clang/tools/libclang/CIndex.cpp
+++ b/clang/tools/libclang/CIndex.cpp
@@ -2189,6 +2189,8 @@ public:
const OMPParallelMaskedTaskLoopDirective *D);
void VisitOMPParallelMasterTaskLoopSimdDirective(
const OMPParallelMasterTaskLoopSimdDirective *D);
+ void VisitOMPParallelMaskedTaskLoopSimdDirective(
+ const OMPParallelMaskedTaskLoopSimdDirective *D);
void VisitOMPDistributeDirective(const OMPDistributeDirective *D);
void VisitOMPDistributeParallelForDirective(
const OMPDistributeParallelForDirective *D);
@@ -3219,6 +3221,11 @@ void EnqueueVisitor::VisitOMPParallelMasterTaskLoopSimdDirective(
VisitOMPLoopDirective(D);
}
+void EnqueueVisitor::VisitOMPParallelMaskedTaskLoopSimdDirective(
+ const OMPParallelMaskedTaskLoopSimdDirective *D) {
+ VisitOMPLoopDirective(D);
+}
+
void EnqueueVisitor::VisitOMPDistributeDirective(
const OMPDistributeDirective *D) {
VisitOMPLoopDirective(D);
@@ -5854,6 +5861,8 @@ CXString clang_getCursorKindSpelling(enum CXCursorKind Kind) {
return cxstring::createRef("OMPParallelMaskedTaskLoopDirective");
case CXCursor_OMPParallelMasterTaskLoopSimdDirective:
return cxstring::createRef("OMPParallelMasterTaskLoopSimdDirective");
+ case CXCursor_OMPParallelMaskedTaskLoopSimdDirective:
+ return cxstring::createRef("OMPParallelMaskedTaskLoopSimdDirective");
case CXCursor_OMPDistributeDirective:
return cxstring::createRef("OMPDistributeDirective");
case CXCursor_OMPDistributeParallelForDirective:
diff --git a/clang/tools/libclang/CXCursor.cpp b/clang/tools/libclang/CXCursor.cpp
index ea1bfac..15294da 100644
--- a/clang/tools/libclang/CXCursor.cpp
+++ b/clang/tools/libclang/CXCursor.cpp
@@ -787,6 +787,9 @@ CXCursor cxcursor::MakeCXCursor(const Stmt *S, const Decl *Parent,
case Stmt::OMPParallelMasterTaskLoopSimdDirectiveClass:
K = CXCursor_OMPParallelMasterTaskLoopSimdDirective;
break;
+ case Stmt::OMPParallelMaskedTaskLoopSimdDirectiveClass:
+ K = CXCursor_OMPParallelMaskedTaskLoopSimdDirective;
+ break;
case Stmt::OMPDistributeDirectiveClass:
K = CXCursor_OMPDistributeDirective;
break;