summaryrefslogtreecommitdiffstats
path: root/clang/tools/libclang
diff options
context:
space:
mode:
authorKelvin Li <kkwli0@gmail.com>2016-11-30 23:51:03 +0000
committerKelvin Li <kkwli0@gmail.com>2016-11-30 23:51:03 +0000
commit579e41ced22fe784060d07b9395f58f5c2f7ad0d (patch)
treeb9e8ddf914f542f4917133564497313cfb83ae1f /clang/tools/libclang
parented14cb060420040e712ff159058e53c62a7326a0 (diff)
downloadbcm5719-llvm-579e41ced22fe784060d07b9395f58f5c2f7ad0d.tar.gz
bcm5719-llvm-579e41ced22fe784060d07b9395f58f5c2f7ad0d.zip
[OpenMP] Sema and parsing for 'teams distribute parallel for simd' pragma
This patch is to implement sema and parsing for 'teams distribute parallel for simd' pragma. Differential Revision: https://reviews.llvm.org/D27084 llvm-svn: 288294
Diffstat (limited to 'clang/tools/libclang')
-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 9a61560ff62..4ed6b0ecea1 100644
--- a/clang/tools/libclang/CIndex.cpp
+++ b/clang/tools/libclang/CIndex.cpp
@@ -2004,6 +2004,8 @@ public:
void VisitOMPTeamsDistributeDirective(const OMPTeamsDistributeDirective *D);
void VisitOMPTeamsDistributeSimdDirective(
const OMPTeamsDistributeSimdDirective *D);
+ void VisitOMPTeamsDistributeParallelForSimdDirective(
+ const OMPTeamsDistributeParallelForSimdDirective *D);
private:
void AddDeclarationNameInfo(const Stmt *S);
@@ -2798,6 +2800,11 @@ void EnqueueVisitor::VisitOMPTeamsDistributeSimdDirective(
VisitOMPLoopDirective(D);
}
+void EnqueueVisitor::VisitOMPTeamsDistributeParallelForSimdDirective(
+ const OMPTeamsDistributeParallelForSimdDirective *D) {
+ VisitOMPLoopDirective(D);
+}
+
void CursorVisitor::EnqueueWorkList(VisitorWorkList &WL, const Stmt *S) {
EnqueueVisitor(WL, MakeCXCursor(S, StmtParent, TU,RegionOfInterest)).Visit(S);
}
@@ -4928,6 +4935,8 @@ CXString clang_getCursorKindSpelling(enum CXCursorKind Kind) {
return cxstring::createRef("OMPTeamsDistributeDirective");
case CXCursor_OMPTeamsDistributeSimdDirective:
return cxstring::createRef("OMPTeamsDistributeSimdDirective");
+ case CXCursor_OMPTeamsDistributeParallelForSimdDirective:
+ return cxstring::createRef("OMPTeamsDistributeParallelForSimdDirective");
case CXCursor_OverloadCandidate:
return cxstring::createRef("OverloadCandidate");
case CXCursor_TypeAliasTemplateDecl:
diff --git a/clang/tools/libclang/CXCursor.cpp b/clang/tools/libclang/CXCursor.cpp
index 600b19be6bb..d2bd0bcf766 100644
--- a/clang/tools/libclang/CXCursor.cpp
+++ b/clang/tools/libclang/CXCursor.cpp
@@ -659,6 +659,9 @@ CXCursor cxcursor::MakeCXCursor(const Stmt *S, const Decl *Parent,
case Stmt::OMPTeamsDistributeSimdDirectiveClass:
K = CXCursor_OMPTeamsDistributeSimdDirective;
break;
+ case Stmt::OMPTeamsDistributeParallelForSimdDirectiveClass:
+ K = CXCursor_OMPTeamsDistributeParallelForSimdDirective;
+ break;
}
CXCursor C = { K, 0, { Parent, S, TU } };
OpenPOWER on IntegriCloud