diff options
author | Alexey Bataev <a.bataev@hotmail.com> | 2017-07-21 18:48:21 +0000 |
---|---|---|
committer | Alexey Bataev <a.bataev@hotmail.com> | 2017-07-21 18:48:21 +0000 |
commit | fa312f33f8409f43fab488ec983546b275199ab7 (patch) | |
tree | f2710f90420f0587cc1a681142001d6942d29999 /clang/lib/AST/StmtProfile.cpp | |
parent | 6ab9ea961435aa5341460f120b2c40abbf8528f7 (diff) |
[OPENMP] Initial support for 'in_reduction' clause.
Parsing/sema analysis for 'in_reduction' clause for task-based
directives.
llvm-svn: 308768
Diffstat (limited to 'clang/lib/AST/StmtProfile.cpp')
-rw-r--r-- | clang/lib/AST/StmtProfile.cpp | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/clang/lib/AST/StmtProfile.cpp b/clang/lib/AST/StmtProfile.cpp index e06386018d68..a86fded2a2c4 100644 --- a/clang/lib/AST/StmtProfile.cpp +++ b/clang/lib/AST/StmtProfile.cpp @@ -573,6 +573,30 @@ void OMPClauseProfiler::VisitOMPTaskReductionClause( Profiler->VisitStmt(E); } } +void OMPClauseProfiler::VisitOMPInReductionClause( + const OMPInReductionClause *C) { + Profiler->VisitNestedNameSpecifier( + C->getQualifierLoc().getNestedNameSpecifier()); + Profiler->VisitName(C->getNameInfo().getName()); + VisitOMPClauseList(C); + VistOMPClauseWithPostUpdate(C); + for (auto *E : C->privates()) { + if (E) + Profiler->VisitStmt(E); + } + for (auto *E : C->lhs_exprs()) { + if (E) + Profiler->VisitStmt(E); + } + for (auto *E : C->rhs_exprs()) { + if (E) + Profiler->VisitStmt(E); + } + for (auto *E : C->reduction_ops()) { + if (E) + Profiler->VisitStmt(E); + } +} void OMPClauseProfiler::VisitOMPLinearClause(const OMPLinearClause *C) { VisitOMPClauseList(C); VistOMPClauseWithPostUpdate(C); |