[OpenMP] Sema and parsing for 'target teams distribute parallel for simd’ pragma
This patch is to implement sema and parsing for 'target teams distribute parallel for simd’ pragma.
Differential Revision: https://reviews.llvm.org/D28202
llvm-svn: 290862
diff --git a/clang/tools/libclang/CIndex.cpp b/clang/tools/libclang/CIndex.cpp
index b26cd75..40eea39 100644
--- a/clang/tools/libclang/CIndex.cpp
+++ b/clang/tools/libclang/CIndex.cpp
@@ -2013,6 +2013,8 @@
const OMPTargetTeamsDistributeDirective *D);
void VisitOMPTargetTeamsDistributeParallelForDirective(
const OMPTargetTeamsDistributeParallelForDirective *D);
+ void VisitOMPTargetTeamsDistributeParallelForSimdDirective(
+ const OMPTargetTeamsDistributeParallelForSimdDirective *D);
private:
void AddDeclarationNameInfo(const Stmt *S);
@@ -2832,6 +2834,11 @@
VisitOMPLoopDirective(D);
}
+void EnqueueVisitor::VisitOMPTargetTeamsDistributeParallelForSimdDirective(
+ const OMPTargetTeamsDistributeParallelForSimdDirective *D) {
+ VisitOMPLoopDirective(D);
+}
+
void CursorVisitor::EnqueueWorkList(VisitorWorkList &WL, const Stmt *S) {
EnqueueVisitor(WL, MakeCXCursor(S, StmtParent, TU,RegionOfInterest)).Visit(S);
}
@@ -5000,6 +5007,9 @@
return cxstring::createRef("OMPTargetTeamsDistributeDirective");
case CXCursor_OMPTargetTeamsDistributeParallelForDirective:
return cxstring::createRef("OMPTargetTeamsDistributeParallelForDirective");
+ case CXCursor_OMPTargetTeamsDistributeParallelForSimdDirective:
+ return cxstring::createRef(
+ "OMPTargetTeamsDistributeParallelForSimdDirective");
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 9344bfa..e69835a 100644
--- a/clang/tools/libclang/CXCursor.cpp
+++ b/clang/tools/libclang/CXCursor.cpp
@@ -676,6 +676,9 @@
case Stmt::OMPTargetTeamsDistributeParallelForDirectiveClass:
K = CXCursor_OMPTargetTeamsDistributeParallelForDirective;
break;
+ case Stmt::OMPTargetTeamsDistributeParallelForSimdDirectiveClass:
+ K = CXCursor_OMPTargetTeamsDistributeParallelForSimdDirective;
+ break;
}
CXCursor C = { K, 0, { Parent, S, TU } };