diff options
author | Alexey Bataev <a.bataev@hotmail.com> | 2019-10-14 17:17:41 +0000 |
---|---|---|
committer | Alexey Bataev <a.bataev@hotmail.com> | 2019-10-14 17:17:41 +0000 |
commit | 117352af511705b4acc5e92e48e51e7bf9beb5b6 (patch) | |
tree | 7f7bcb87152d686ef8cc71f51124e578d3c4221a /tools | |
parent | a27e109d301df9275389883a9ecccd54eda18078 (diff) | |
download | clang-117352af511705b4acc5e92e48e51e7bf9beb5b6.tar.gz |
[OPENMP50]Add support for 'parallel master taskloop' construct.
Added parsing/sema/codegen support for 'parallel master taskloop'
constructs. Some of the clauses, like 'grainsize', 'num_tasks', 'final'
and 'priority' are not supported in full, only constant expressions can
be used currently in these clauses.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@374791 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'tools')
-rw-r--r-- | tools/libclang/CIndex.cpp | 9 | ||||
-rw-r--r-- | tools/libclang/CXCursor.cpp | 3 |
2 files changed, 12 insertions, 0 deletions
diff --git a/tools/libclang/CIndex.cpp b/tools/libclang/CIndex.cpp index 1aa16c28d7..da10bf1778 100644 --- a/tools/libclang/CIndex.cpp +++ b/tools/libclang/CIndex.cpp @@ -2048,6 +2048,8 @@ public: void VisitOMPTaskLoopDirective(const OMPTaskLoopDirective *D); void VisitOMPTaskLoopSimdDirective(const OMPTaskLoopSimdDirective *D); void VisitOMPMasterTaskLoopDirective(const OMPMasterTaskLoopDirective *D); + void VisitOMPParallelMasterTaskLoopDirective( + const OMPParallelMasterTaskLoopDirective *D); void VisitOMPDistributeDirective(const OMPDistributeDirective *D); void VisitOMPDistributeParallelForDirective( const OMPDistributeParallelForDirective *D); @@ -2897,6 +2899,11 @@ void EnqueueVisitor::VisitOMPMasterTaskLoopDirective( VisitOMPLoopDirective(D); } +void EnqueueVisitor::VisitOMPParallelMasterTaskLoopDirective( + const OMPParallelMasterTaskLoopDirective *D) { + VisitOMPLoopDirective(D); +} + void EnqueueVisitor::VisitOMPDistributeDirective( const OMPDistributeDirective *D) { VisitOMPLoopDirective(D); @@ -5471,6 +5478,8 @@ CXString clang_getCursorKindSpelling(enum CXCursorKind Kind) { return cxstring::createRef("OMPTaskLoopSimdDirective"); case CXCursor_OMPMasterTaskLoopDirective: return cxstring::createRef("OMPMasterTaskLoopDirective"); + case CXCursor_OMPParallelMasterTaskLoopDirective: + return cxstring::createRef("OMPParallelMasterTaskLoopDirective"); case CXCursor_OMPDistributeDirective: return cxstring::createRef("OMPDistributeDirective"); case CXCursor_OMPDistributeParallelForDirective: diff --git a/tools/libclang/CXCursor.cpp b/tools/libclang/CXCursor.cpp index ae55041b10..93e588ebaa 100644 --- a/tools/libclang/CXCursor.cpp +++ b/tools/libclang/CXCursor.cpp @@ -674,6 +674,9 @@ CXCursor cxcursor::MakeCXCursor(const Stmt *S, const Decl *Parent, case Stmt::OMPMasterTaskLoopDirectiveClass: K = CXCursor_OMPMasterTaskLoopDirective; break; + case Stmt::OMPParallelMasterTaskLoopDirectiveClass: + K = CXCursor_OMPParallelMasterTaskLoopDirective; + break; case Stmt::OMPDistributeDirectiveClass: K = CXCursor_OMPDistributeDirective; break; |