summaryrefslogtreecommitdiffstats
path: root/clang/tools/libclang
diff options
context:
space:
mode:
authorKelvin Li <kkwli0@gmail.com>2016-07-14 02:54:56 +0000
committerKelvin Li <kkwli0@gmail.com>2016-07-14 02:54:56 +0000
commita579b9196c6eaa1e2a52832e8d0025eaf6160efa (patch)
treeb79099a091e831e165b0e8f19dad2eb29a0fa743 /clang/tools/libclang
parent0bd882295413a2b00a5cc4db712bcf7dddf117b6 (diff)
downloadbcm5719-llvm-a579b9196c6eaa1e2a52832e8d0025eaf6160efa.tar.gz
bcm5719-llvm-a579b9196c6eaa1e2a52832e8d0025eaf6160efa.zip
[OpenMP] Sema and parsing for 'target parallel for simd' pragma
This patch is to implement sema and parsing for 'target parallel for simd' pragma. Differential Revision: http://reviews.llvm.org/D22096 llvm-svn: 275365
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 5ebc2ee9439..f4f9c16225d 100644
--- a/clang/tools/libclang/CIndex.cpp
+++ b/clang/tools/libclang/CIndex.cpp
@@ -1974,6 +1974,8 @@ public:
void VisitOMPDistributeParallelForSimdDirective(
const OMPDistributeParallelForSimdDirective *D);
void VisitOMPDistributeSimdDirective(const OMPDistributeSimdDirective *D);
+ void VisitOMPTargetParallelForSimdDirective(
+ const OMPTargetParallelForSimdDirective *D);
private:
void AddDeclarationNameInfo(const Stmt *S);
@@ -2748,6 +2750,11 @@ void EnqueueVisitor::VisitOMPDistributeSimdDirective(
VisitOMPLoopDirective(D);
}
+void EnqueueVisitor::VisitOMPTargetParallelForSimdDirective(
+ const OMPTargetParallelForSimdDirective *D) {
+ VisitOMPLoopDirective(D);
+}
+
void CursorVisitor::EnqueueWorkList(VisitorWorkList &WL, const Stmt *S) {
EnqueueVisitor(WL, MakeCXCursor(S, StmtParent, TU,RegionOfInterest)).Visit(S);
}
@@ -4868,6 +4875,8 @@ CXString clang_getCursorKindSpelling(enum CXCursorKind Kind) {
return cxstring::createRef("OMPDistributeParallelForSimdDirective");
case CXCursor_OMPDistributeSimdDirective:
return cxstring::createRef("OMPDistributeSimdDirective");
+ case CXCursor_OMPTargetParallelForSimdDirective:
+ return cxstring::createRef("OMPTargetParallelForSimdDirective");
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 4a8d9c44d9a..80bb569150e 100644
--- a/clang/tools/libclang/CXCursor.cpp
+++ b/clang/tools/libclang/CXCursor.cpp
@@ -643,6 +643,9 @@ CXCursor cxcursor::MakeCXCursor(const Stmt *S, const Decl *Parent,
case Stmt::OMPDistributeSimdDirectiveClass:
K = CXCursor_OMPDistributeSimdDirective;
break;
+ case Stmt::OMPTargetParallelForSimdDirectiveClass:
+ K = CXCursor_OMPTargetParallelForSimdDirective;
+ break;
}
CXCursor C = { K, 0, { Parent, S, TU } };
OpenPOWER on IntegriCloud