summaryrefslogtreecommitdiffstats
path: root/clang/tools
diff options
context:
space:
mode:
authorKelvin Li <kkwli0@gmail.com>2016-08-17 23:13:03 +0000
committerKelvin Li <kkwli0@gmail.com>2016-08-17 23:13:03 +0000
commit0e3bde821611bed2947beeccaaf4f5f26bcdddbf (patch)
treec9bf1abec1b523c45ab0a785a5676d8021839500 /clang/tools
parent5a5d5548f0e69b9dd70285d65c62766958b390b6 (diff)
downloadbcm5719-llvm-0e3bde821611bed2947beeccaaf4f5f26bcdddbf.tar.gz
bcm5719-llvm-0e3bde821611bed2947beeccaaf4f5f26bcdddbf.zip
[OpenMP] Sema and parsing for 'teams distribute simd’ pragma
This patch is to implement sema and parsing for 'teams distribute simd’ pragma. This patch is originated by Carlo Bertolli. Differential Revision: https://reviews.llvm.org/D23528 llvm-svn: 279003
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 4a359299bdd..ad7cdfb6a39 100644
--- a/clang/tools/libclang/CIndex.cpp
+++ b/clang/tools/libclang/CIndex.cpp
@@ -1978,6 +1978,8 @@ public:
const OMPTargetParallelForSimdDirective *D);
void VisitOMPTargetSimdDirective(const OMPTargetSimdDirective *D);
void VisitOMPTeamsDistributeDirective(const OMPTeamsDistributeDirective *D);
+ void VisitOMPTeamsDistributeSimdDirective(
+ const OMPTeamsDistributeSimdDirective *D);
private:
void AddDeclarationNameInfo(const Stmt *S);
@@ -2767,6 +2769,11 @@ void EnqueueVisitor::VisitOMPTeamsDistributeDirective(
VisitOMPLoopDirective(D);
}
+void EnqueueVisitor::VisitOMPTeamsDistributeSimdDirective(
+ const OMPTeamsDistributeSimdDirective *D) {
+ VisitOMPLoopDirective(D);
+}
+
void CursorVisitor::EnqueueWorkList(VisitorWorkList &WL, const Stmt *S) {
EnqueueVisitor(WL, MakeCXCursor(S, StmtParent, TU,RegionOfInterest)).Visit(S);
}
@@ -4895,6 +4902,8 @@ CXString clang_getCursorKindSpelling(enum CXCursorKind Kind) {
return cxstring::createRef("OMPTargetSimdDirective");
case CXCursor_OMPTeamsDistributeDirective:
return cxstring::createRef("OMPTeamsDistributeDirective");
+ case CXCursor_OMPTeamsDistributeSimdDirective:
+ return cxstring::createRef("OMPTeamsDistributeSimdDirective");
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 047f8220fe8..600b19be6bb 100644
--- a/clang/tools/libclang/CXCursor.cpp
+++ b/clang/tools/libclang/CXCursor.cpp
@@ -656,6 +656,9 @@ CXCursor cxcursor::MakeCXCursor(const Stmt *S, const Decl *Parent,
case Stmt::OMPTeamsDistributeDirectiveClass:
K = CXCursor_OMPTeamsDistributeDirective;
break;
+ case Stmt::OMPTeamsDistributeSimdDirectiveClass:
+ K = CXCursor_OMPTeamsDistributeSimdDirective;
+ break;
}
CXCursor C = { K, 0, { Parent, S, TU } };
OpenPOWER on IntegriCloud