diff options
Diffstat (limited to 'clang')
-rw-r--r-- | clang/include/clang/AST/OpenMPClause.h | 8 | ||||
-rw-r--r-- | clang/include/clang/AST/StmtOpenMP.h | 474 | ||||
-rw-r--r-- | clang/include/clang/Basic/OpenMPKinds.def | 71 | ||||
-rw-r--r-- | clang/include/clang/Basic/OpenMPKinds.h | 13 | ||||
-rw-r--r-- | clang/lib/AST/CMakeLists.txt | 1 | ||||
-rw-r--r-- | clang/lib/AST/OpenMPClause.cpp | 2 | ||||
-rw-r--r-- | clang/lib/AST/StmtOpenMP.cpp | 1 | ||||
-rw-r--r-- | clang/lib/Basic/OpenMPKinds.cpp | 28 | ||||
-rw-r--r-- | clang/lib/CodeGen/CGOpenMPRuntime.cpp | 1 | ||||
-rw-r--r-- | clang/lib/CodeGen/CGOpenMPRuntimeNVPTX.cpp | 1 | ||||
-rw-r--r-- | clang/lib/CodeGen/CGStmtOpenMP.cpp | 1 | ||||
-rw-r--r-- | clang/lib/CodeGen/CodeGenFunction.h | 2 | ||||
-rw-r--r-- | clang/lib/Parse/CMakeLists.txt | 1 | ||||
-rw-r--r-- | clang/lib/Parse/ParseOpenMP.cpp | 45 | ||||
-rw-r--r-- | clang/lib/Sema/CMakeLists.txt | 1 | ||||
-rw-r--r-- | clang/lib/Sema/SemaOpenMP.cpp | 11 | ||||
-rw-r--r-- | clang/lib/Sema/SemaTemplateInstantiateDecl.cpp | 3 | ||||
-rw-r--r-- | clang/lib/Sema/TreeTransform.h | 2 | ||||
-rw-r--r-- | clang/lib/Serialization/ASTWriter.cpp | 4 | ||||
-rw-r--r-- | clang/lib/Serialization/ASTWriterStmt.cpp | 4 |
20 files changed, 322 insertions, 352 deletions
diff --git a/clang/include/clang/AST/OpenMPClause.h b/clang/include/clang/AST/OpenMPClause.h index b2a2035dcb3..72c638bf646 100644 --- a/clang/include/clang/AST/OpenMPClause.h +++ b/clang/include/clang/AST/OpenMPClause.h @@ -111,7 +111,7 @@ class OMPClauseWithPreInit { Stmt *PreInit = nullptr; /// Region that captures the associated stmt. - OpenMPDirectiveKind CaptureRegion = OMPD_unknown; + OpenMPDirectiveKind CaptureRegion = llvm::omp::OMPD_unknown; protected: OMPClauseWithPreInit(const OMPClause *This) { @@ -119,7 +119,9 @@ protected: } /// Set pre-initialization statement for the clause. - void setPreInitStmt(Stmt *S, OpenMPDirectiveKind ThisRegion = OMPD_unknown) { + void + setPreInitStmt(Stmt *S, + OpenMPDirectiveKind ThisRegion = llvm::omp::OMPD_unknown) { PreInit = S; CaptureRegion = ThisRegion; } @@ -432,7 +434,7 @@ class OMPIfClause : public OMPClause, public OMPClauseWithPreInit { SourceLocation ColonLoc; /// Directive name modifier for the clause. - OpenMPDirectiveKind NameModifier = OMPD_unknown; + OpenMPDirectiveKind NameModifier = llvm::omp::OMPD_unknown; /// Name modifier location. SourceLocation NameModifierLoc; diff --git a/clang/include/clang/AST/StmtOpenMP.h b/clang/include/clang/AST/StmtOpenMP.h index cc10f9e4c48..65f0afece22 100644 --- a/clang/include/clang/AST/StmtOpenMP.h +++ b/clang/include/clang/AST/StmtOpenMP.h @@ -366,8 +366,9 @@ class OMPParallelDirective : public OMPExecutableDirective { /// OMPParallelDirective(SourceLocation StartLoc, SourceLocation EndLoc, unsigned NumClauses) - : OMPExecutableDirective(this, OMPParallelDirectiveClass, OMPD_parallel, - StartLoc, EndLoc, NumClauses, 1), + : OMPExecutableDirective(this, OMPParallelDirectiveClass, + llvm::omp::OMPD_parallel, StartLoc, EndLoc, + NumClauses, 1), HasCancel(false) {} /// Build an empty directive. @@ -375,9 +376,9 @@ class OMPParallelDirective : public OMPExecutableDirective { /// \param NumClauses Number of clauses. /// explicit OMPParallelDirective(unsigned NumClauses) - : OMPExecutableDirective(this, OMPParallelDirectiveClass, OMPD_parallel, - SourceLocation(), SourceLocation(), NumClauses, - 1), + : OMPExecutableDirective(this, OMPParallelDirectiveClass, + llvm::omp::OMPD_parallel, SourceLocation(), + SourceLocation(), NumClauses, 1), HasCancel(false) {} /// Set cancel state. @@ -1201,8 +1202,8 @@ class OMPSimdDirective : public OMPLoopDirective { /// OMPSimdDirective(SourceLocation StartLoc, SourceLocation EndLoc, unsigned CollapsedNum, unsigned NumClauses) - : OMPLoopDirective(this, OMPSimdDirectiveClass, OMPD_simd, StartLoc, - EndLoc, CollapsedNum, NumClauses) {} + : OMPLoopDirective(this, OMPSimdDirectiveClass, llvm::omp::OMPD_simd, + StartLoc, EndLoc, CollapsedNum, NumClauses) {} /// Build an empty directive. /// @@ -1210,7 +1211,7 @@ class OMPSimdDirective : public OMPLoopDirective { /// \param NumClauses Number of clauses. /// explicit OMPSimdDirective(unsigned CollapsedNum, unsigned NumClauses) - : OMPLoopDirective(this, OMPSimdDirectiveClass, OMPD_simd, + : OMPLoopDirective(this, OMPSimdDirectiveClass, llvm::omp::OMPD_simd, SourceLocation(), SourceLocation(), CollapsedNum, NumClauses) {} @@ -1270,8 +1271,8 @@ class OMPForDirective : public OMPLoopDirective { /// OMPForDirective(SourceLocation StartLoc, SourceLocation EndLoc, unsigned CollapsedNum, unsigned NumClauses) - : OMPLoopDirective(this, OMPForDirectiveClass, OMPD_for, StartLoc, EndLoc, - CollapsedNum, NumClauses), + : OMPLoopDirective(this, OMPForDirectiveClass, llvm::omp::OMPD_for, + StartLoc, EndLoc, CollapsedNum, NumClauses), HasCancel(false) {} /// Build an empty directive. @@ -1280,8 +1281,9 @@ class OMPForDirective : public OMPLoopDirective { /// \param NumClauses Number of clauses. /// explicit OMPForDirective(unsigned CollapsedNum, unsigned NumClauses) - : OMPLoopDirective(this, OMPForDirectiveClass, OMPD_for, SourceLocation(), - SourceLocation(), CollapsedNum, NumClauses), + : OMPLoopDirective(this, OMPForDirectiveClass, llvm::omp::OMPD_for, + SourceLocation(), SourceLocation(), CollapsedNum, + NumClauses), HasCancel(false) {} /// Set cancel state. @@ -1343,8 +1345,9 @@ class OMPForSimdDirective : public OMPLoopDirective { /// OMPForSimdDirective(SourceLocation StartLoc, SourceLocation EndLoc, unsigned CollapsedNum, unsigned NumClauses) - : OMPLoopDirective(this, OMPForSimdDirectiveClass, OMPD_for_simd, - StartLoc, EndLoc, CollapsedNum, NumClauses) {} + : OMPLoopDirective(this, OMPForSimdDirectiveClass, + llvm::omp::OMPD_for_simd, StartLoc, EndLoc, + CollapsedNum, NumClauses) {} /// Build an empty directive. /// @@ -1352,9 +1355,9 @@ class OMPForSimdDirective : public OMPLoopDirective { /// \param NumClauses Number of clauses. /// explicit OMPForSimdDirective(unsigned CollapsedNum, unsigned NumClauses) - : OMPLoopDirective(this, OMPForSimdDirectiveClass, OMPD_for_simd, - SourceLocation(), SourceLocation(), CollapsedNum, - NumClauses) {} + : OMPLoopDirective(this, OMPForSimdDirectiveClass, + llvm::omp::OMPD_for_simd, SourceLocation(), + SourceLocation(), CollapsedNum, NumClauses) {} public: /// Creates directive with a list of \a Clauses. @@ -1411,8 +1414,9 @@ class OMPSectionsDirective : public OMPExecutableDirective { /// OMPSectionsDirective(SourceLocation StartLoc, SourceLocation EndLoc, unsigned NumClauses) - : OMPExecutableDirective(this, OMPSectionsDirectiveClass, OMPD_sections, - StartLoc, EndLoc, NumClauses, 1), + : OMPExecutableDirective(this, OMPSectionsDirectiveClass, + llvm::omp::OMPD_sections, StartLoc, EndLoc, + NumClauses, 1), HasCancel(false) {} /// Build an empty directive. @@ -1420,9 +1424,9 @@ class OMPSectionsDirective : public OMPExecutableDirective { /// \param NumClauses Number of clauses. /// explicit OMPSectionsDirective(unsigned NumClauses) - : OMPExecutableDirective(this, OMPSectionsDirectiveClass, OMPD_sections, - SourceLocation(), SourceLocation(), NumClauses, - 1), + : OMPExecutableDirective(this, OMPSectionsDirectiveClass, + llvm::omp::OMPD_sections, SourceLocation(), + SourceLocation(), NumClauses, 1), HasCancel(false) {} /// Set cancel state. @@ -1477,15 +1481,16 @@ class OMPSectionDirective : public OMPExecutableDirective { /// \param EndLoc Ending location of the directive. /// OMPSectionDirective(SourceLocation StartLoc, SourceLocation EndLoc) - : OMPExecutableDirective(this, OMPSectionDirectiveClass, OMPD_section, - StartLoc, EndLoc, 0, 1), + : OMPExecutableDirective(this, OMPSectionDirectiveClass, + llvm::omp::OMPD_section, StartLoc, EndLoc, 0, 1), HasCancel(false) {} /// Build an empty directive. /// explicit OMPSectionDirective() - : OMPExecutableDirective(this, OMPSectionDirectiveClass, OMPD_section, - SourceLocation(), SourceLocation(), 0, 1), + : OMPExecutableDirective(this, OMPSectionDirectiveClass, + llvm::omp::OMPD_section, SourceLocation(), + SourceLocation(), 0, 1), HasCancel(false) {} public: @@ -1537,17 +1542,18 @@ class OMPSingleDirective : public OMPExecutableDirective { /// OMPSingleDirective(SourceLocation StartLoc, SourceLocation EndLoc, unsigned NumClauses) - : OMPExecutableDirective(this, OMPSingleDirectiveClass, OMPD_single, - StartLoc, EndLoc, NumClauses, 1) {} + : OMPExecutableDirective(this, OMPSingleDirectiveClass, + llvm::omp::OMPD_single, StartLoc, EndLoc, + NumClauses, 1) {} /// Build an empty directive. /// /// \param NumClauses Number of clauses. /// explicit OMPSingleDirective(unsigned NumClauses) - : OMPExecutableDirective(this, OMPSingleDirectiveClass, OMPD_single, - SourceLocation(), SourceLocation(), NumClauses, - 1) {} + : OMPExecutableDirective(this, OMPSingleDirectiveClass, + llvm::omp::OMPD_single, SourceLocation(), + SourceLocation(), NumClauses, 1) {} public: /// Creates directive with a list of \a Clauses. @@ -1590,14 +1596,16 @@ class OMPMasterDirective : public OMPExecutableDirective { /// \param EndLoc Ending location of the directive. /// OMPMasterDirective(SourceLocation StartLoc, SourceLocation EndLoc) - : OMPExecutableDirective(this, OMPMasterDirectiveClass, OMPD_master, - StartLoc, EndLoc, 0, 1) {} + : OMPExecutableDirective(this, OMPMasterDirectiveClass, + llvm::omp::OMPD_master, StartLoc, EndLoc, 0, 1) { + } /// Build an empty directive. /// explicit OMPMasterDirective() - : OMPExecutableDirective(this, OMPMasterDirectiveClass, OMPD_master, - SourceLocation(), SourceLocation(), 0, 1) {} + : OMPExecutableDirective(this, OMPMasterDirectiveClass, + llvm::omp::OMPD_master, SourceLocation(), + SourceLocation(), 0, 1) {} public: /// Creates directive. @@ -1642,8 +1650,9 @@ class OMPCriticalDirective : public OMPExecutableDirective { /// OMPCriticalDirective(const DeclarationNameInfo &Name, SourceLocation StartLoc, SourceLocation EndLoc, unsigned NumClauses) - : OMPExecutableDirective(this, OMPCriticalDirectiveClass, OMPD_critical, - StartLoc, EndLoc, NumClauses, 1), + : OMPExecutableDirective(this, OMPCriticalDirectiveClass, + llvm::omp::OMPD_critical, StartLoc, EndLoc, + NumClauses, 1), DirName(Name) {} /// Build an empty directive. @@ -1651,9 +1660,9 @@ class OMPCriticalDirective : public OMPExecutableDirective { /// \param NumClauses Number of clauses. /// explicit OMPCriticalDirective(unsigned NumClauses) - : OMPExecutableDirective(this, OMPCriticalDirectiveClass, OMPD_critical, - SourceLocation(), SourceLocation(), NumClauses, - 1), + : OMPExecutableDirective(this, OMPCriticalDirectiveClass, + llvm::omp::OMPD_critical, SourceLocation(), + SourceLocation(), NumClauses, 1), DirName() {} /// Set name of the directive. @@ -1718,8 +1727,9 @@ class OMPParallelForDirective : public OMPLoopDirective { /// OMPParallelForDirective(SourceLocation StartLoc, SourceLocation EndLoc, unsigned CollapsedNum, unsigned NumClauses) - : OMPLoopDirective(this, OMPParallelForDirectiveClass, OMPD_parallel_for, - StartLoc, EndLoc, CollapsedNum, NumClauses), + : OMPLoopDirective(this, OMPParallelForDirectiveClass, + llvm::omp::OMPD_parallel_for, StartLoc, EndLoc, + CollapsedNum, NumClauses), HasCancel(false) {} /// Build an empty directive. @@ -1728,9 +1738,9 @@ class OMPParallelForDirective : public OMPLoopDirective { /// \param NumClauses Number of clauses. /// explicit OMPParallelForDirective(unsigned CollapsedNum, unsigned NumClauses) - : OMPLoopDirective(this, OMPParallelForDirectiveClass, OMPD_parallel_for, - SourceLocation(), SourceLocation(), CollapsedNum, - NumClauses), + : OMPLoopDirective(this, OMPParallelForDirectiveClass, + llvm::omp::OMPD_parallel_for, SourceLocation(), + SourceLocation(), CollapsedNum, NumClauses), HasCancel(false) {} /// Set cancel state. @@ -1795,8 +1805,8 @@ class OMPParallelForSimdDirective : public OMPLoopDirective { OMPParallelForSimdDirective(SourceLocation StartLoc, SourceLocation EndLoc, unsigned CollapsedNum, unsigned NumClauses) : OMPLoopDirective(this, OMPParallelForSimdDirectiveClass, - OMPD_parallel_for_simd, StartLoc, EndLoc, CollapsedNum, - NumClauses) {} + llvm::omp::OMPD_parallel_for_simd, StartLoc, EndLoc, + CollapsedNum, NumClauses) {} /// Build an empty directive. /// @@ -1806,7 +1816,7 @@ class OMPParallelForSimdDirective : public OMPLoopDirective { explicit OMPParallelForSimdDirective(unsigned CollapsedNum, unsigned NumClauses) : OMPLoopDirective(this, OMPParallelForSimdDirectiveClass, - OMPD_parallel_for_simd, SourceLocation(), + llvm::omp::OMPD_parallel_for_simd, SourceLocation(), SourceLocation(), CollapsedNum, NumClauses) {} public: @@ -1856,13 +1866,14 @@ class OMPParallelMasterDirective : public OMPExecutableDirective { OMPParallelMasterDirective(SourceLocation StartLoc, SourceLocation EndLoc, unsigned NumClauses) : OMPExecutableDirective(this, OMPParallelMasterDirectiveClass, - OMPD_parallel_master, StartLoc, EndLoc, - NumClauses, 1) {} + llvm::omp::OMPD_parallel_master, StartLoc, + EndLoc, NumClauses, 1) {} explicit OMPParallelMasterDirective(unsigned NumClauses) : OMPExecutableDirective(this, OMPParallelMasterDirectiveClass, - OMPD_parallel_master, SourceLocation(), - SourceLocation(), NumClauses, 1) {} + llvm::omp::OMPD_parallel_master, + SourceLocation(), SourceLocation(), NumClauses, + 1) {} public: /// Creates directive with a list of \a Clauses. @@ -1915,8 +1926,8 @@ class OMPParallelSectionsDirective : public OMPExecutableDirective { OMPParallelSectionsDirective(SourceLocation StartLoc, SourceLocation EndLoc, unsigned NumClauses) : OMPExecutableDirective(this, OMPParallelSectionsDirectiveClass, - OMPD_parallel_sections, StartLoc, EndLoc, - NumClauses, 1), + llvm::omp::OMPD_parallel_sections, StartLoc, + EndLoc, NumClauses, 1), HasCancel(false) {} /// Build an empty directive. @@ -1925,8 +1936,9 @@ class OMPParallelSectionsDirective : public OMPExecutableDirective { /// explicit OMPParallelSectionsDirective(unsigned NumClauses) : OMPExecutableDirective(this, OMPParallelSectionsDirectiveClass, - OMPD_parallel_sections, SourceLocation(), - SourceLocation(), NumClauses, 1), + llvm::omp::OMPD_parallel_sections, + SourceLocation(), SourceLocation(), NumClauses, + 1), HasCancel(false) {} /// Set cancel state. @@ -1984,8 +1996,9 @@ class OMPTaskDirective : public OMPExecutableDirective { /// OMPTaskDirective(SourceLocation StartLoc, SourceLocation EndLoc, unsigned NumClauses) - : OMPExecutableDirective(this, OMPTaskDirectiveClass, OMPD_task, StartLoc, - EndLoc, NumClauses, 1), + : OMPExecutableDirective(this, OMPTaskDirectiveClass, + llvm::omp::OMPD_task, StartLoc, EndLoc, + NumClauses, 1), HasCancel(false) {} /// Build an empty directive. @@ -1993,9 +2006,9 @@ class OMPTaskDirective : public OMPExecutableDirective { /// \param NumClauses Number of clauses. /// explicit OMPTaskDirective(unsigned NumClauses) - : OMPExecutableDirective(this, OMPTaskDirectiveClass, OMPD_task, - SourceLocation(), SourceLocation(), NumClauses, - 1), + : OMPExecutableDirective(this, OMPTaskDirectiveClass, + llvm::omp::OMPD_task, SourceLocation(), + SourceLocation(), NumClauses, 1), HasCancel(false) {} /// Set cancel state. @@ -2047,14 +2060,16 @@ class OMPTaskyieldDirective : public OMPExecutableDirective { /// \param EndLoc Ending location of the directive. /// OMPTaskyieldDirective(SourceLocation StartLoc, SourceLocation EndLoc) - : OMPExecutableDirective(this, OMPTaskyieldDirectiveClass, OMPD_taskyield, - StartLoc, EndLoc, 0, 0) {} + : OMPExecutableDirective(this, OMPTaskyieldDirectiveClass, + llvm::omp::OMPD_taskyield, StartLoc, EndLoc, 0, + 0) {} /// Build an empty directive. /// explicit OMPTaskyieldDirective() - : OMPExecutableDirective(this, OMPTaskyieldDirectiveClass, OMPD_taskyield, - SourceLocation(), SourceLocation(), 0, 0) {} + : OMPExecutableDirective(this, OMPTaskyieldDirectiveClass, + llvm::omp::OMPD_taskyield, SourceLocation(), + SourceLocation(), 0, 0) {} public: /// Creates directive. @@ -2091,14 +2106,16 @@ class OMPBarrierDirective : public OMPExecutableDirective { /// \param EndLoc Ending location of the directive. /// OMPBarrierDirective(SourceLocation StartLoc, SourceLocation EndLoc) - : OMPExecutableDirective(this, OMPBarrierDirectiveClass, OMPD_barrier, - StartLoc, EndLoc, 0, 0) {} + : OMPExecutableDirective(this, OMPBarrierDirectiveClass, + llvm::omp::OMPD_barrier, StartLoc, EndLoc, 0, + 0) {} /// Build an empty directive. /// explicit OMPBarrierDirective() - : OMPExecutableDirective(this, OMPBarrierDirectiveClass, OMPD_barrier, - SourceLocation(), SourceLocation(), 0, 0) {} + : OMPExecutableDirective(this, OMPBarrierDirectiveClass, + llvm::omp::OMPD_barrier, SourceLocation(), + SourceLocation(), 0, 0) {} public: /// Creates directive. @@ -2135,14 +2152,16 @@ class OMPTaskwaitDirective : public OMPExecutableDirective { /// \param EndLoc Ending location of the directive. /// OMPTaskwaitDirective(SourceLocation StartLoc, SourceLocation EndLoc) - : OMPExecutableDirective(this, OMPTaskwaitDirectiveClass, OMPD_taskwait, - StartLoc, EndLoc, 0, 0) {} + : OMPExecutableDirective(this, OMPTaskwaitDirectiveClass, + llvm::omp::OMPD_taskwait, StartLoc, EndLoc, 0, + 0) {} /// Build an empty directive. /// explicit OMPTaskwaitDirective() - : OMPExecutableDirective(this, OMPTaskwaitDirectiveClass, OMPD_taskwait, - SourceLocation(), SourceLocation(), 0, 0) {} + : OMPExecutableDirective(this, OMPTaskwaitDirectiveClass, + llvm::omp::OMPD_taskwait, SourceLocation(), + SourceLocation(), 0, 0) {} public: /// Creates directive. @@ -2181,16 +2200,17 @@ class OMPTaskgroupDirective : public OMPExecutableDirective { /// OMPTaskgroupDirective(SourceLocation StartLoc, SourceLocation EndLoc, unsigned NumClauses) - : OMPExecutableDirective(this, OMPTaskgroupDirectiveClass, OMPD_taskgroup, - StartLoc, EndLoc, NumClauses, 2) {} + : OMPExecutableDirective(this, OMPTaskgroupDirectiveClass, + llvm::omp::OMPD_taskgroup, StartLoc, EndLoc, + NumClauses, 2) {} /// Build an empty directive. /// \param NumClauses Number of clauses. /// explicit OMPTaskgroupDirective(unsigned NumClauses) - : OMPExecutableDirective(this, OMPTaskgroupDirectiveClass, OMPD_taskgroup, - SourceLocation(), SourceLocation(), NumClauses, - 2) {} + : OMPExecutableDirective(this, OMPTaskgroupDirectiveClass, + llvm::omp::OMPD_taskgroup, SourceLocation(), + SourceLocation(), NumClauses, 2) {} /// Sets the task_reduction return variable. void setReductionRef(Expr *RR) { @@ -2254,17 +2274,18 @@ class OMPFlushDirective : public OMPExecutableDirective { /// OMPFlushDirective(SourceLocation StartLoc, SourceLocation EndLoc, unsigned NumClauses) - : OMPExecutableDirective(this, OMPFlushDirectiveClass, OMPD_flush, - StartLoc, EndLoc, NumClauses, 0) {} + : OMPExecutableDirective(this, OMPFlushDirectiveClass, + llvm::omp::OMPD_flush, StartLoc, EndLoc, + NumClauses, 0) {} /// Build an empty directive. /// /// \param NumClauses Number of clauses. /// explicit OMPFlushDirective(unsigned NumClauses) - : OMPExecutableDirective(this, OMPFlushDirectiveClass, OMPD_flush, - SourceLocation(), SourceLocation(), NumClauses, - 0) {} + : OMPExecutableDirective(this, OMPFlushDirectiveClass, + llvm::omp::OMPD_flush, SourceLocation(), + SourceLocation(), NumClauses, 0) {} public: /// Creates directive with a list of \a Clauses. @@ -2309,17 +2330,18 @@ class OMPOrderedDirective : public OMPExecutableDirective { /// OMPOrderedDirective(SourceLocation StartLoc, SourceLocation EndLoc, unsigned NumClauses) - : OMPExecutableDirective(this, OMPOrderedDirectiveClass, OMPD_ordered, - StartLoc, EndLoc, NumClauses, 1) {} + : OMPExecutableDirective(this, OMPOrderedDirectiveClass, + llvm::omp::OMPD_ordered, StartLoc, EndLoc, + NumClauses, 1) {} /// Build an empty directive. /// /// \param NumClauses Number of clauses. /// explicit OMPOrderedDirective(unsigned NumClauses) - : OMPExecutableDirective(this, OMPOrderedDirectiveClass, OMPD_ordered, - SourceLocation(), SourceLocation(), NumClauses, - 1) {} + : OMPExecutableDirective(this, OMPOrderedDirectiveClass, + llvm::omp::OMPD_ordered, SourceLocation(), + SourceLocation(), NumClauses, 1) {} public: /// Creates directive. @@ -2384,8 +2406,9 @@ class OMPAtomicDirective : public OMPExecutableDirective { /// OMPAtomicDirective(SourceLocation StartLoc, SourceLocation EndLoc, unsigned NumClauses) - : OMPExecutableDirective(this, OMPAtomicDirectiveClass, OMPD_atomic, - StartLoc, EndLoc, NumClauses, 5), + : OMPExecutableDirective(this, OMPAtomicDirectiveClass, + llvm::omp::OMPD_atomic, StartLoc, EndLoc, + NumClauses, 5), IsXLHSInRHSPart(false), IsPostfixUpdate(false) {} /// Build an empty directive. @@ -2393,9 +2416,9 @@ class OMPAtomicDirective : public OMPExecutableDirective { /// \param NumClauses Number of clauses. /// explicit OMPAtomicDirective(unsigned NumClauses) - : OMPExecutableDirective(this, OMPAtomicDirectiveClass, OMPD_atomic, - SourceLocation(), SourceLocation(), NumClauses, - 5), + : OMPExecutableDirective(this, OMPAtomicDirectiveClass, + llvm::omp::OMPD_atomic, SourceLocation(), + SourceLocation(), NumClauses, 5), IsXLHSInRHSPart(false), IsPostfixUpdate(false) {} /// Set 'x' part of the associated expression/statement. @@ -2498,17 +2521,18 @@ class OMPTargetDirective : public OMPExecutableDirective { /// OMPTargetDirective(SourceLocation StartLoc, SourceLocation EndLoc, unsigned NumClauses) - : OMPExecutableDirective(this, OMPTargetDirectiveClass, OMPD_target, - StartLoc, EndLoc, NumClauses, 1) {} + : OMPExecutableDirective(this, OMPTargetDirectiveClass, + llvm::omp::OMPD_target, StartLoc, EndLoc, + NumClauses, 1) {} /// Build an empty directive. /// /// \param NumClauses Number of clauses. /// explicit OMPTargetDirective(unsigned NumClauses) - : OMPExecutableDirective(this, OMPTargetDirectiveClass, OMPD_target, - SourceLocation(), SourceLocation(), NumClauses, - 1) {} + : OMPExecutableDirective(this, OMPTargetDirectiveClass, + llvm::omp::OMPD_target, SourceLocation(), + SourceLocation(), NumClauses, 1) {} public: /// Creates directive with a list of \a Clauses. @@ -2557,8 +2581,8 @@ class OMPTargetDataDirective : public OMPExecutableDirective { OMPTargetDataDirective(SourceLocation StartLoc, SourceLocation EndLoc, unsigned NumClauses) : OMPExecutableDirective(this, OMPTargetDataDirectiveClass, - OMPD_target_data, StartLoc, EndLoc, NumClauses, - 1) {} + llvm::omp::OMPD_target_data, StartLoc, EndLoc, + NumClauses, 1) {} /// Build an empty directive. /// @@ -2566,7 +2590,7 @@ class OMPTargetDataDirective : public OMPExecutableDirective { /// explicit OMPTargetDataDirective(unsigned NumClauses) : OMPExecutableDirective(this, OMPTargetDataDirectiveClass, - OMPD_target_data, SourceLocation(), + llvm::omp::OMPD_target_data, SourceLocation(), SourceLocation(), NumClauses, 1) {} public: @@ -2615,8 +2639,8 @@ class OMPTargetEnterDataDirective : public OMPExecutableDirective { OMPTargetEnterDataDirective(SourceLocation StartLoc, SourceLocation EndLoc, unsigned NumClauses) : OMPExecutableDirective(this, OMPTargetEnterDataDirectiveClass, - OMPD_target_enter_data, StartLoc, EndLoc, - NumClauses, /*NumChildren=*/1) {} + llvm::omp::OMPD_target_enter_data, StartLoc, + EndLoc, NumClauses, /*NumChildren=*/1) {} /// Build an empty directive. /// @@ -2624,8 +2648,8 @@ class OMPTargetEnterDataDirective : public OMPExecutableDirective { /// explicit OMPTargetEnterDataDirective(unsigned NumClauses) : OMPExecutableDirective(this, OMPTargetEnterDataDirectiveClass, - OMPD_target_enter_data, SourceLocation(), - SourceLocation(), NumClauses, + llvm::omp::OMPD_target_enter_data, + SourceLocation(), SourceLocation(), NumClauses, /*NumChildren=*/1) {} public: @@ -2674,8 +2698,8 @@ class OMPTargetExitDataDirective : public OMPExecutableDirective { OMPTargetExitDataDirective(SourceLocation StartLoc, SourceLocation EndLoc, unsigned NumClauses) : OMPExecutableDirective(this, OMPTargetExitDataDirectiveClass, - OMPD_target_exit_data, StartLoc, EndLoc, - NumClauses, /*NumChildren=*/1) {} + llvm::omp::OMPD_target_exit_data, StartLoc, + EndLoc, NumClauses, /*NumChildren=*/1) {} /// Build an empty directive. /// @@ -2683,8 +2707,8 @@ class OMPTargetExitDataDirective : public OMPExecutableDirective { /// explicit OMPTargetExitDataDirective(unsigned NumClauses) : OMPExecutableDirective(this, OMPTargetExitDataDirectiveClass, - OMPD_target_exit_data, SourceLocation(), - SourceLocation(), NumClauses, + llvm::omp::OMPD_target_exit_data, + SourceLocation(), SourceLocation(), NumClauses, /*NumChildren=*/1) {} public: @@ -2732,8 +2756,8 @@ class OMPTargetParallelDirective : public OMPExecutableDirective { OMPTargetParallelDirective(SourceLocation StartLoc, SourceLocation EndLoc, unsigned NumClauses) : OMPExecutableDirective(this, OMPTargetParallelDirectiveClass, - OMPD_target_parallel, StartLoc, EndLoc, - NumClauses, /*NumChildren=*/1) {} + llvm::omp::OMPD_target_parallel, StartLoc, + EndLoc, NumClauses, /*NumChildren=*/1) {} /// Build an empty directive. /// @@ -2741,8 +2765,8 @@ class OMPTargetParallelDirective : public OMPExecutableDirective { /// explicit OMPTargetParallelDirective(unsigned NumClauses) : OMPExecutableDirective(this, OMPTargetParallelDirectiveClass, - OMPD_target_parallel, SourceLocation(), - SourceLocation(), NumClauses, + llvm::omp::OMPD_target_parallel, + SourceLocation(), SourceLocation(), NumClauses, /*NumChildren=*/1) {} public: @@ -2797,7 +2821,7 @@ class OMPTargetParallelForDirective : public OMPLoopDirective { OMPTargetParallelForDirective(SourceLocation StartLoc, SourceLocation EndLoc, unsigned CollapsedNum, unsigned NumClauses) : OMPLoopDirective(this, OMPTargetParallelForDirectiveClass, - OMPD_target_parallel_for, StartLoc, EndLoc, + llvm::omp::OMPD_target_parallel_for, StartLoc, EndLoc, CollapsedNum, NumClauses), HasCancel(false) {} @@ -2809,7 +2833,7 @@ class OMPTargetParallelForDirective : public OMPLoopDirective { explicit OMPTargetParallelForDirective(unsigned CollapsedNum, unsigned NumClauses) : OMPLoopDirective(this, OMPTargetParallelForDirectiveClass, - OMPD_target_parallel_for, SourceLocation(), + llvm::omp::OMPD_target_parallel_for, SourceLocation(), SourceLocation(), CollapsedNum, NumClauses), HasCancel(false) {} @@ -2871,17 +2895,18 @@ class OMPTeamsDirective : public OMPExecutableDirective { /// OMPTeamsDirective(SourceLocation StartLoc, SourceLocation EndLoc, unsigned NumClauses) - : OMPExecutableDirective(this, OMPTeamsDirectiveClass, OMPD_teams, - StartLoc, EndLoc, NumClauses, 1) {} + : OMPExecutableDirective(this, OMPTeamsDirectiveClass, + llvm::omp::OMPD_teams, StartLoc, EndLoc, + NumClauses, 1) {} /// Build an empty directive. /// /// \param NumClauses Number of clauses. /// explicit OMPTeamsDirective(unsigned NumClauses) - : OMPExecutableDirective(this, OMPTeamsDirectiveClass, OMPD_teams, - SourceLocation(), SourceLocation(), NumClauses, - 1) {} + : OMPExecutableDirective(this, OMPTeamsDirectiveClass, + llvm::omp::OMPD_teams, SourceLocation(), + SourceLocation(), NumClauses, 1) {} public: /// Creates directive with a list of \a Clauses. @@ -2928,16 +2953,17 @@ class OMPCancellationPointDirective : public OMPExecutableDirective { /// OMPCancellationPointDirective(SourceLocation StartLoc, SourceLocation EndLoc) : OMPExecutableDirective(this, OMPCancellationPointDirectiveClass, - OMPD_cancellation_point, StartLoc, EndLoc, 0, 0), - CancelRegion(OMPD_unknown) {} + llvm::omp::OMPD_cancellation_point, StartLoc, + EndLoc, 0, 0), + CancelRegion(llvm::omp::OMPD_unknown) {} /// Build an empty directive. /// explicit OMPCancellationPointDirective() : OMPExecutableDirective(this, OMPCancellationPointDirectiveClass, - OMPD_cancellation_point, SourceLocation(), - SourceLocation(), 0, 0), - CancelRegion(OMPD_unknown) {} + llvm::omp::OMPD_cancellation_point, + SourceLocation(), SourceLocation(), 0, 0), + CancelRegion(llvm::omp::OMPD_unknown) {} /// Set cancel region for current cancellation point. /// \param CR Cancellation region. @@ -2987,18 +3013,19 @@ class OMPCancelDirective : public OMPExecutableDirective { /// OMPCancelDirective(SourceLocation StartLoc, SourceLocation EndLoc, unsigned NumClauses) - : OMPExecutableDirective(this, OMPCancelDirectiveClass, OMPD_cancel, - StartLoc, EndLoc, NumClauses, 0), - CancelRegion(OMPD_unknown) {} + : OMPExecutableDirective(this, OMPCancelDirectiveClass, + llvm::omp::OMPD_cancel, StartLoc, EndLoc, + NumClauses, 0), + CancelRegion(llvm::omp::OMPD_unknown) {} /// Build an empty directive. /// /// \param NumClauses Number of clauses. explicit OMPCancelDirective(unsigned NumClauses) - : OMPExecutableDirective(this, OMPCancelDirectiveClass, OMPD_cancel, - SourceLocation(), SourceLocation(), NumClauses, - 0), - CancelRegion(OMPD_unknown) {} + : OMPExecutableDirective(this, OMPCancelDirectiveClass, + llvm::omp::OMPD_cancel, SourceLocation(), + SourceLocation(), NumClauses, 0), + CancelRegion(llvm::omp::OMPD_unknown) {} /// Set cancel region for current cancellation point. /// \param CR Cancellation region. @@ -3052,8 +3079,9 @@ class OMPTaskLoopDirective : public OMPLoopDirective { /// OMPTaskLoopDirective(SourceLocation StartLoc, SourceLocation EndLoc, unsigned CollapsedNum, unsigned NumClauses) - : OMPLoopDirective(this, OMPTaskLoopDirectiveClass, OMPD_taskloop, - StartLoc, EndLoc, CollapsedNum, NumClauses) {} + : OMPLoopDirective(this, OMPTaskLoopDirectiveClass, + llvm::omp::OMPD_taskloop, StartLoc, EndLoc, + CollapsedNum, NumClauses) {} /// Build an empty directive. /// @@ -3061,9 +3089,9 @@ class OMPTaskLoopDirective : public OMPLoopDirective { /// \param NumClauses Number of clauses. /// explicit OMPTaskLoopDirective(unsigned CollapsedNum, unsigned NumClauses) - : OMPLoopDirective(this, OMPTaskLoopDirectiveClass, OMPD_taskloop, - SourceLocation(), SourceLocation(), CollapsedNum, - NumClauses) {} + : OMPLoopDirective(this, OMPTaskLoopDirectiveClass, + llvm::omp::OMPD_taskloop, SourceLocation(), + SourceLocation(), CollapsedNum, NumClauses) {} public: /// Creates directive with a list of \a Clauses. @@ -3118,8 +3146,8 @@ class OMPTaskLoopSimdDirective : public OMPLoopDirective { OMPTaskLoopSimdDirective(SourceLocation StartLoc, SourceLocation EndLoc, unsigned CollapsedNum, unsigned NumClauses) : OMPLoopDirective(this, OMPTaskLoopSimdDirectiveClass, - OMPD_taskloop_simd, StartLoc, EndLoc, CollapsedNum, - NumClauses) {} + llvm::omp::OMPD_taskloop_simd, StartLoc, EndLoc, + CollapsedNum, NumClauses) {} /// Build an empty directive. /// @@ -3128,8 +3156,8 @@ class OMPTaskLoopSimdDirective : public OMPLoopDirective { /// explicit OMPTaskLoopSimdDirective(unsigned CollapsedNum, unsigned NumClauses) : OMPLoopDirective(this, OMPTaskLoopSimdDirectiveClass, - OMPD_taskloop_simd, SourceLocation(), SourceLocation(), - CollapsedNum, NumClauses) {} + llvm::omp::OMPD_taskloop_simd, SourceLocation(), + SourceLocation(), CollapsedNum, NumClauses) {} public: /// Creates directive with a list of \a Clauses. @@ -3185,8 +3213,8 @@ class OMPMasterTaskLoopDirective : public OMPLoopDirective { OMPMasterTaskLoopDirective(SourceLocation StartLoc, SourceLocation EndLoc, unsigned CollapsedNum, unsigned NumClauses) : OMPLoopDirective(this, OMPMasterTaskLoopDirectiveClass, - OMPD_master_taskloop, StartLoc, EndLoc, CollapsedNum, - NumClauses) {} + llvm::omp::OMPD_master_taskloop, StartLoc, EndLoc, + CollapsedNum, NumClauses) {} /// Build an empty directive. /// @@ -3196,7 +3224,7 @@ class OMPMasterTaskLoopDirective : public OMPLoopDirective { explicit OMPMasterTaskLoopDirective(unsigned CollapsedNum, unsigned NumClauses) : OMPLoopDirective(this, OMPMasterTaskLoopDirectiveClass, - OMPD_master_taskloop, SourceLocation(), + llvm::omp::OMPD_master_taskloop, SourceLocation(), SourceLocation(), CollapsedNum, NumClauses) {} public: @@ -3253,7 +3281,7 @@ class OMPMasterTaskLoopSimdDirective : public OMPLoopDirective { OMPMasterTaskLoopSimdDirective(SourceLocation StartLoc, SourceLocation EndLoc, unsigned CollapsedNum, unsigned NumClauses) : OMPLoopDirective(this, OMPMasterTaskLoopSimdDirectiveClass, - OMPD_master_taskloop_simd, StartLoc, EndLoc, + llvm::omp::OMPD_master_taskloop_simd, StartLoc, EndLoc, CollapsedNum, NumClauses) {} /// Build an empty directive. @@ -3264,7 +3292,7 @@ class OMPMasterTaskLoopSimdDirective : public OMPLoopDirective { explicit OMPMasterTaskLoopSimdDirective(unsigned CollapsedNum, unsigned NumClauses) : OMPLoopDirective(this, OMPMasterTaskLoopSimdDirectiveClass, - OMPD_master_taskloop_simd, SourceLocation(), + llvm::omp::OMPD_master_taskloop_simd, SourceLocation(), SourceLocation(), CollapsedNum, NumClauses) {} public: @@ -3322,8 +3350,8 @@ class OMPParallelMasterTaskLoopDirective : public OMPLoopDirective { SourceLocation EndLoc, unsigned CollapsedNum, unsigned NumClauses) : OMPLoopDirective(this, OMPParallelMasterTaskLoopDirectiveClass, - OMPD_parallel_master_taskloop, StartLoc, EndLoc, - CollapsedNum, NumClauses) {} + llvm::omp::OMPD_parallel_master_taskloop, StartLoc, + EndLoc, CollapsedNum, NumClauses) {} /// Build an empty directive. /// @@ -3333,8 +3361,9 @@ class OMPParallelMasterTaskLoopDirective : public OMPLoopDirective { explicit OMPParallelMasterTaskLoopDirective(unsigned CollapsedNum, unsigned NumClauses) : OMPLoopDirective(this, OMPParallelMasterTaskLoopDirectiveClass, - OMPD_parallel_master_taskloop, SourceLocation(), - SourceLocation(), CollapsedNum, NumClauses) {} + llvm::omp::OMPD_parallel_master_taskloop, + SourceLocation(), SourceLocation(), CollapsedNum, + NumClauses) {} public: /// Creates directive with a list of \a Clauses. @@ -3393,8 +3422,8 @@ class OMPParallelMasterTaskLoopSimdDirective : public OMPLoopDirective { unsigned CollapsedNum, unsigned NumClauses) : OMPLoopDirective(this, OMPParallelMasterTaskLoopSimdDirectiveClass, - OMPD_parallel_master_taskloop_simd, StartLoc, EndLoc, - CollapsedNum, NumClauses) {} + llvm::omp::OMPD_parallel_master_taskloop_simd, + StartLoc, EndLoc, CollapsedNum, NumClauses) {} /// Build an empty directive. /// @@ -3404,8 +3433,9 @@ class OMPParallelMasterTaskLoopSimdDirective : public OMPLoopDirective { explicit OMPParallelMasterTaskLoopSimdDirective(unsigned CollapsedNum, unsigned NumClauses) : OMPLoopDirective(this, OMPParallelMasterTaskLoopSimdDirectiveClass, - OMPD_parallel_master_taskloop_simd, SourceLocation(), - SourceLocation(), CollapsedNum, NumClauses) {} + llvm::omp::OMPD_parallel_master_taskloop_simd, + SourceLocation(), SourceLocation(), CollapsedNum, + NumClauses) {} public: /// Creates directive with a list of \p Clauses. @@ -3459,9 +3489,9 @@ class OMPDistributeDirective : public OMPLoopDirective { /// OMPDistributeDirective(SourceLocation StartLoc, SourceLocation EndLoc, unsigned CollapsedNum, unsigned NumClauses) - : OMPLoopDirective(this, OMPDistributeDirectiveClass, OMPD_distribute, - StartLoc, EndLoc, CollapsedNum, NumClauses) - {} + : OMPLoopDirective(this, OMPDistributeDirectiveClass, + llvm::omp::OMPD_distribute, StartLoc, EndLoc, + CollapsedNum, NumClauses) {} /// Build an empty directive. /// @@ -3469,10 +3499,9 @@ class OMPDistributeDirective : public OMPLoopDirective { /// \param NumClauses Number of clauses. /// explicit OMPDistributeDirective(unsigned CollapsedNum, unsigned NumClauses) - : OMPLoopDirective(this, OMPDistributeDirectiveClass, OMPD_distribute, - SourceLocation(), SourceLocation(), CollapsedNum, - NumClauses) - {} + : OMPLoopDirective(this, OMPDistributeDirectiveClass, + llvm::omp::OMPD_distribute, SourceLocation(), + SourceLocation(), CollapsedNum, NumClauses) {} public: /// Creates directive with a list of \a Clauses. @@ -3526,8 +3555,8 @@ class OMPTargetUpdateDirective : public OMPExecutableDirective { OMPTargetUpdateDirective(SourceLocation StartLoc, SourceLocation EndLoc, unsigned NumClauses) : OMPExecutableDirective(this, OMPTargetUpdateDirectiveClass, - OMPD_target_update, StartLoc, EndLoc, NumClauses, - 1) {} + llvm::omp::OMPD_target_update, StartLoc, EndLoc, + NumClauses, 1) {} /// Build an empty directive. /// @@ -3535,7 +3564,7 @@ class OMPTargetUpdateDirective : public OMPExecutableDirective { /// explicit OMPTargetUpdateDirective(unsigned NumClauses) : OMPExecutableDirective(this, OMPTargetUpdateDirectiveClass, - OMPD_target_update, SourceLocation(), + llvm::omp::OMPD_target_update, SourceLocation(), SourceLocation(), NumClauses, 1) {} public: @@ -3590,8 +3619,9 @@ class OMPDistributeParallelForDirective : public OMPLoopDirective { SourceLocation EndLoc, unsigned CollapsedNum, unsigned NumClauses) : OMPLoopDirective(this, OMPDistributeParallelForDirectiveClass, - OMPD_distribute_parallel_for, StartLoc, EndLoc, - CollapsedNum, NumClauses), HasCancel(false) {} + llvm::omp::OMPD_distribute_parallel_for, StartLoc, + EndLoc, CollapsedNum, NumClauses), + HasCancel(false) {} /// Build an empty directive. /// @@ -3601,8 +3631,9 @@ class OMPDistributeParallelForDirective : public OMPLoopDirective { explicit OMPDistributeParallelForDirective(unsigned CollapsedNum, unsigned NumClauses) : OMPLoopDirective(this, OMPDistributeParallelForDirectiveClass, - OMPD_distribute_parallel_for, SourceLocation(), - SourceLocation(), CollapsedNum, NumClauses), + llvm::omp::OMPD_distribute_parallel_for, + SourceLocation(), SourceLocation(), CollapsedNum, + NumClauses), HasCancel(false) {} /// Set cancel state. @@ -3669,7 +3700,7 @@ class OMPDistributeParallelForSimdDirective final : public OMPLoopDirective { unsigned CollapsedNum, unsigned NumClauses) : OMPLoopDirective(this, OMPDistributeParallelForSimdDirectiveClass, - OMPD_distribute_parallel_for_simd, StartLoc, + llvm::omp::OMPD_distribute_parallel_for_simd, StartLoc, EndLoc, CollapsedNum, NumClauses) {} /// Build an empty directive. @@ -3680,7 +3711,7 @@ class OMPDistributeParallelForSimdDirective final : public OMPLoopDirective { explicit OMPDistributeParallelForSimdDirective(unsigned CollapsedNum, unsigned NumClauses) : OMPLoopDirective(this, OMPDistributeParallelForSimdDirectiveClass, - OMPD_distribute_parallel_for_simd, + llvm::omp::OMPD_distribute_parallel_for_simd, SourceLocation(), SourceLocation(), CollapsedNum, NumClauses) {} @@ -3736,8 +3767,8 @@ class OMPDistributeSimdDirective final : public OMPLoopDirective { OMPDistributeSimdDirective(SourceLocation StartLoc, SourceLocation EndLoc, unsigned CollapsedNum, unsigned NumClauses) : OMPLoopDirective(this, OMPDistributeSimdDirectiveClass, - OMPD_distribute_simd, StartLoc, EndLoc, CollapsedNum, - NumClauses) {} + llvm::omp::OMPD_distribute_simd, StartLoc, EndLoc, + CollapsedNum, NumClauses) {} /// Build an empty directive. /// @@ -3747,7 +3778,7 @@ class OMPDistributeSimdDirective final : public OMPLoopDirective { explicit OMPDistributeSimdDirective(unsigned CollapsedNum, unsigned NumClauses) : OMPLoopDirective(this, OMPDistributeSimdDirectiveClass, - OMPD_distribute_simd, SourceLocation(), + llvm::omp::OMPD_distribute_simd, SourceLocation(), SourceLocation(), CollapsedNum, NumClauses) {} public: @@ -3801,11 +3832,12 @@ class OMPTargetParallelForSimdDirective final : public OMPLoopDirective { /// \param CollapsedNum Number of collapsed nested loops. /// \param NumClauses Number of clauses. /// - OMPTargetParallelForSimdDirective(SourceLocation StartLoc, SourceLocation EndLoc, - unsigned CollapsedNum, unsigned NumClauses) + OMPTargetParallelForSimdDirective(SourceLocation StartLoc, + SourceLocation EndLoc, + unsigned CollapsedNum, unsigned NumClauses) : OMPLoopDirective(this, OMPTargetParallelForSimdDirectiveClass, - OMPD_target_parallel_for_simd, StartLoc, EndLoc, - CollapsedNum, NumClauses) {} + llvm::omp::OMPD_target_parallel_for_simd, StartLoc, + EndLoc, CollapsedNum, NumClauses) {} /// Build an empty directive. /// @@ -3815,8 +3847,9 @@ class OMPTargetParallelForSimdDirective final : public OMPLoopDirective { explicit OMPTargetParallelForSimdDirective(unsigned CollapsedNum, unsigned NumClauses) : OMPLoopDirective(this, OMPTargetParallelForSimdDirectiveClass, - OMPD_target_parallel_for_simd, SourceLocation(), - SourceLocation(), CollapsedNum, NumClauses) {} + llvm::omp::OMPD_target_parallel_for_simd, + SourceLocation(), SourceLocation(), CollapsedNum, + NumClauses) {} public: /// Creates directive with a list of \a Clauses. @@ -3872,8 +3905,8 @@ class OMPTargetSimdDirective final : public OMPLoopDirective { OMPTargetSimdDirective(SourceLocation StartLoc, SourceLocation EndLoc, unsigned CollapsedNum, unsigned NumClauses) : OMPLoopDirective(this, OMPTargetSimdDirectiveClass, - OMPD_target_simd, StartLoc, EndLoc, CollapsedNum, - NumClauses) {} + llvm::omp::OMPD_target_simd, StartLoc, EndLoc, + CollapsedNum, NumClauses) {} /// Build an empty directive. /// @@ -3881,9 +3914,9 @@ class OMPTargetSimdDirective final : public OMPLoopDirective { /// \param NumClauses Number of clauses. /// explicit OMPTargetSimdDirective(unsigned CollapsedNum, unsigned NumClauses) - : OMPLoopDirective(this, OMPTargetSimdDirectiveClass, OMPD_target_simd, - SourceLocation(),SourceLocation(), CollapsedNum, - NumClauses) {} + : OMPLoopDirective(this, OMPTargetSimdDirectiveClass, + llvm::omp::OMPD_target_simd, SourceLocation(), + SourceLocation(), CollapsedNum, NumClauses) {} public: /// Creates directive with a list of \a Clauses. @@ -3938,7 +3971,7 @@ class OMPTeamsDistributeDirective final : public OMPLoopDirective { OMPTeamsDistributeDirective(SourceLocation StartLoc, SourceLocation EndLoc, unsigned CollapsedNum, unsigned NumClauses) : OMPLoopDirective(this, OMPTeamsDistributeDirectiveClass, - OMPD_teams_distribute, StartLoc, EndLoc, + llvm::omp::OMPD_teams_distribute, StartLoc, EndLoc, CollapsedNum, NumClauses) {} /// Build an empty directive. @@ -3949,7 +3982,7 @@ class OMPTeamsDistributeDirective final : public OMPLoopDirective { explicit OMPTeamsDistributeDirective(unsigned CollapsedNum, unsigned NumClauses) : OMPLoopDirective(this, OMPTeamsDistributeDirectiveClass, - OMPD_teams_distribute, SourceLocation(), + llvm::omp::OMPD_teams_distribute, SourceLocation(), SourceLocation(), CollapsedNum, NumClauses) {} public: @@ -4007,8 +4040,8 @@ class OMPTeamsDistributeSimdDirective final : public OMPLoopDirective { SourceLocation EndLoc, unsigned CollapsedNum, unsigned NumClauses) : OMPLoopDirective(this, OMPTeamsDistributeSimdDirectiveClass, - OMPD_teams_distribute_simd, StartLoc, EndLoc, - CollapsedNum, NumClauses) {} + llvm::omp::OMPD_teams_distribute_simd, StartLoc, + EndLoc, CollapsedNum, NumClauses) {} /// Build an empty directive. /// @@ -4018,8 +4051,9 @@ class OMPTeamsDistributeSimdDirective final : public OMPLoopDirective { explicit OMPTeamsDistributeSimdDirective(unsigned CollapsedNum, unsigned NumClauses) : OMPLoopDirective(this, OMPTeamsDistributeSimdDirectiveClass, - OMPD_teams_distribute_simd, SourceLocation(), - SourceLocation(), CollapsedNum, NumClauses) {} + llvm::omp::OMPD_teams_distribute_simd, + SourceLocation(), SourceLocation(), CollapsedNum, + NumClauses) {} public: /// Creates directive with a list of \a Clauses. @@ -4079,8 +4113,8 @@ class OMPTeamsDistributeParallelForSimdDirective final unsigned CollapsedNum, unsigned NumClauses) : OMPLoopDirective(this, OMPTeamsDistributeParallelForSimdDirectiveClass, - OMPD_teams_distribute_parallel_for_simd, StartLoc, - EndLoc, CollapsedNum, NumClauses) {} + llvm::omp::OMPD_teams_distribute_parallel_for_simd, + StartLoc, EndLoc, CollapsedNum, NumClauses) {} /// Build an empty directive. /// @@ -4090,7 +4124,7 @@ class OMPTeamsDistributeParallelForSimdDirective final explicit OMPTeamsDistributeParallelForSimdDirective(unsigned CollapsedNum, unsigned NumClauses) : OMPLoopDirective(this, OMPTeamsDistributeParallelForSimdDirectiveClass, - OMPD_teams_distribute_parallel_for_simd, + llvm::omp::OMPD_teams_distribute_parallel_for_simd, SourceLocation(), SourceLocation(), CollapsedNum, NumClauses) {} @@ -4151,8 +4185,9 @@ class OMPTeamsDistributeParallelForDirective final : public OMPLoopDirective { unsigned CollapsedNum, unsigned NumClauses) : OMPLoopDirective(this, OMPTeamsDistributeParallelForDirectiveClass, - OMPD_teams_distribute_parallel_for, StartLoc, EndLoc, - CollapsedNum, NumClauses), HasCancel(false) {} + llvm::omp::OMPD_teams_distribute_parallel_for, + StartLoc, EndLoc, CollapsedNum, NumClauses), + HasCancel(false) {} /// Build an empty directive. /// @@ -4162,8 +4197,9 @@ class OMPTeamsDistributeParallelForDirective final : public OMPLoopDirective { explicit OMPTeamsDistributeParallelForDirective(unsigned CollapsedNum, unsigned NumClauses) : OMPLoopDirective(this, OMPTeamsDistributeParallelForDirectiveClass, - OMPD_teams_distribute_parallel_for, SourceLocation(), - SourceLocation(), CollapsedNum, NumClauses), + llvm::omp::OMPD_teams_distribute_parallel_for, + SourceLocation(), SourceLocation(), CollapsedNum, + NumClauses), HasCancel(false) {} /// Set cancel state. @@ -4223,8 +4259,8 @@ class OMPTargetTeamsDirective final : public OMPExecutableDirective { OMPTargetTeamsDirective(SourceLocation StartLoc, SourceLocation EndLoc, unsigned NumClauses) : OMPExecutableDirective(this, OMPTargetTeamsDirectiveClass, - OMPD_target_teams, StartLoc, EndLoc, NumClauses, - 1) {} + llvm::omp::OMPD_target_teams, StartLoc, EndLoc, + NumClauses, 1) {} /// Build an empty directive. /// @@ -4232,7 +4268,7 @@ class OMPTargetTeamsDirective final : public OMPExecutableDirective { /// explicit OMPTargetTeamsDirective(unsigned NumClauses) : OMPExecutableDirective(this, OMPTargetTeamsDirectiveClass, - OMPD_target_teams, SourceLocation(), + llvm::omp::OMPD_target_teams, SourceLocation(), SourceLocation(), NumClauses, 1) {} public: @@ -4285,8 +4321,8 @@ class OMPTargetTeamsDistributeDirective final : public OMPLoopDirective { SourceLocation EndLoc, unsigned CollapsedNum, unsigned NumClauses) : OMPLoopDirective(this, OMPTargetTeamsDistributeDirectiveClass, - OMPD_target_teams_distribute, StartLoc, EndLoc, - CollapsedNum, NumClauses) {} + llvm::omp::OMPD_target_teams_distribute, StartLoc, + EndLoc, CollapsedNum, NumClauses) {} /// Build an empty directive. /// @@ -4296,8 +4332,9 @@ class OMPTargetTeamsDistributeDirective final : public OMPLoopDirective { explicit OMPTargetTeamsDistributeDirective(unsigned CollapsedNum, unsigned NumClauses) : OMPLoopDirective(this, OMPTargetTeamsDistributeDirectiveClass, - OMPD_target_teams_distribute, SourceLocation(), - SourceLocation(), CollapsedNum, NumClauses) {} + llvm::omp::OMPD_target_teams_distribute, + SourceLocation(), SourceLocation(), CollapsedNum, + NumClauses) {} public: /// Creates directive with a list of \a Clauses. @@ -4358,8 +4395,8 @@ class OMPTargetTeamsDistributeParallelForDirective final unsigned NumClauses) : OMPLoopDirective(this, OMPTargetTeamsDistributeParallelForDirectiveClass, - OMPD_target_teams_distribute_parallel_for, StartLoc, - EndLoc, CollapsedNum, NumClauses), + llvm::omp::OMPD_target_teams_distribute_parallel_for, + StartLoc, EndLoc, CollapsedNum, NumClauses), HasCancel(false) {} /// Build an empty directive. @@ -4371,8 +4408,8 @@ class OMPTargetTeamsDistributeParallelForDirective final unsigned NumClauses) : OMPLoopDirective( this, OMPTargetTeamsDistributeParallelForDirectiveClass, - OMPD_target_teams_distribute_parallel_for, SourceLocation(), - SourceLocation(), CollapsedNum, NumClauses), + llvm::omp::OMPD_target_teams_distribute_parallel_for, + SourceLocation(), SourceLocation(), CollapsedNum, NumClauses), HasCancel(false) {} /// Set cancel state. @@ -4438,10 +4475,10 @@ class OMPTargetTeamsDistributeParallelForSimdDirective final SourceLocation EndLoc, unsigned CollapsedNum, unsigned NumClauses) - : OMPLoopDirective(this, - OMPTargetTeamsDistributeParallelForSimdDirectiveClass, - OMPD_target_teams_distribute_parallel_for_simd, - StartLoc, EndLoc, CollapsedNum, NumClauses) {} + : OMPLoopDirective( + this, OMPTargetTeamsDistributeParallelForSimdDirectiveClass, + llvm::omp::OMPD_target_teams_distribute_parallel_for_simd, StartLoc, + EndLoc, CollapsedNum, NumClauses) {} /// Build an empty directive. /// @@ -4452,8 +4489,8 @@ class OMPTargetTeamsDistributeParallelForSimdDirective final unsigned CollapsedNum, unsigned NumClauses) : OMPLoopDirective( this, OMPTargetTeamsDistributeParallelForSimdDirectiveClass, - OMPD_target_teams_distribute_parallel_for_simd, SourceLocation(), - SourceLocation(), CollapsedNum, NumClauses) {} + llvm::omp::OMPD_target_teams_distribute_parallel_for_simd, + SourceLocation(), SourceLocation(), CollapsedNum, NumClauses) {} public: /// Creates directive with a list of \a Clauses. @@ -4511,8 +4548,8 @@ class OMPTargetTeamsDistributeSimdDirective final : public OMPLoopDirective { unsigned CollapsedNum, unsigned NumClauses) : OMPLoopDirective(this, OMPTargetTeamsDistributeSimdDirectiveClass, - OMPD_target_teams_distribute_simd, StartLoc, EndLoc, - CollapsedNum, NumClauses) {} + llvm::omp::OMPD_target_teams_distribute_simd, StartLoc, + EndLoc, CollapsedNum, NumClauses) {} /// Build an empty directive. /// @@ -4522,8 +4559,9 @@ class OMPTargetTeamsDistributeSimdDirective final : public OMPLoopDirective { explicit OMPTargetTeamsDistributeSimdDirective(unsigned CollapsedNum, unsigned NumClauses) : OMPLoopDirective(this, OMPTargetTeamsDistributeSimdDirectiveClass, - OMPD_target_teams_distribute_simd, SourceLocation(), - SourceLocation(), CollapsedNum, NumClauses) {} + llvm::omp::OMPD_target_teams_distribute_simd, + SourceLocation(), SourceLocation(), CollapsedNum, + NumClauses) {} public: /// Creates directive with a list of \a Clauses. diff --git a/clang/include/clang/Basic/OpenMPKinds.def b/clang/include/clang/Basic/OpenMPKinds.def index 6ab35cafc7e..7333d94e2cf 100644 --- a/clang/include/clang/Basic/OpenMPKinds.def +++ b/clang/include/clang/Basic/OpenMPKinds.def @@ -11,12 +11,6 @@ /// //===----------------------------------------------------------------------===// -#ifndef OPENMP_DIRECTIVE -# define OPENMP_DIRECTIVE(Name) -#endif -#ifndef OPENMP_DIRECTIVE_EXT -#define OPENMP_DIRECTIVE_EXT(Name, Str) -#endif #ifndef OPENMP_CLAUSE # define OPENMP_CLAUSE(Name, Class) #endif @@ -230,69 +224,6 @@ OPENMP_CONTEXT_SELECTOR_SET(device) OPENMP_CONTEXT_SELECTOR(vendor) OPENMP_CONTEXT_SELECTOR(kind) -// OpenMP directives. -OPENMP_DIRECTIVE(threadprivate) -OPENMP_DIRECTIVE(parallel) -OPENMP_DIRECTIVE(task) -OPENMP_DIRECTIVE(simd) -OPENMP_DIRECTIVE(for) -OPENMP_DIRECTIVE(sections) -OPENMP_DIRECTIVE(section) -OPENMP_DIRECTIVE(single) -OPENMP_DIRECTIVE(master) -OPENMP_DIRECTIVE(critical) -OPENMP_DIRECTIVE(taskyield) -OPENMP_DIRECTIVE(barrier) -OPENMP_DIRECTIVE(taskwait) -OPENMP_DIRECTIVE(taskgroup) -OPENMP_DIRECTIVE(flush) -OPENMP_DIRECTIVE(ordered) -OPENMP_DIRECTIVE(atomic) -OPENMP_DIRECTIVE(target) -OPENMP_DIRECTIVE(teams) -OPENMP_DIRECTIVE(cancel) -OPENMP_DIRECTIVE(requires) -OPENMP_DIRECTIVE_EXT(target_data, "target data") -OPENMP_DIRECTIVE_EXT(target_enter_data, "target enter data") -OPENMP_DIRECTIVE_EXT(target_exit_data, "target exit data") -OPENMP_DIRECTIVE_EXT(target_parallel, "target parallel") -OPENMP_DIRECTIVE_EXT(target_parallel_for, "target parallel for") -OPENMP_DIRECTIVE_EXT(target_update, "target update") -OPENMP_DIRECTIVE_EXT(parallel_for, "parallel for") -OPENMP_DIRECTIVE_EXT(parallel_for_simd, "parallel for simd") -OPENMP_DIRECTIVE_EXT(parallel_master, "parallel master") -OPENMP_DIRECTIVE_EXT(parallel_sections, "parallel sections") -OPENMP_DIRECTIVE_EXT(for_simd, "for simd") -OPENMP_DIRECTIVE_EXT(cancellation_point, "cancellation point") -OPENMP_DIRECTIVE_EXT(declare_reduction, "declare reduction") -OPENMP_DIRECTIVE_EXT(declare_mapper, "declare mapper") -OPENMP_DIRECTIVE_EXT(declare_simd, "declare simd") -OPENMP_DIRECTIVE(taskloop) -OPENMP_DIRECTIVE_EXT(taskloop_simd, "taskloop simd") -OPENMP_DIRECTIVE(distribute) -OPENMP_DIRECTIVE_EXT(declare_target, "declare target") -OPENMP_DIRECTIVE_EXT(end_declare_target, "end declare target") -OPENMP_DIRECTIVE_EXT(distribute_parallel_for, "distribute parallel for") -OPENMP_DIRECTIVE_EXT(distribute_parallel_for_simd, "distribute parallel for simd") -OPENMP_DIRECTIVE_EXT(distribute_simd, "distribute simd") -OPENMP_DIRECTIVE_EXT(target_parallel_for_simd, "target parallel for simd") -OPENMP_DIRECTIVE_EXT(target_simd, "target simd") -OPENMP_DIRECTIVE_EXT(teams_distribute, "teams distribute") -OPENMP_DIRECTIVE_EXT(teams_distribute_simd, "teams distribute simd") -OPENMP_DIRECTIVE_EXT(teams_distribute_parallel_for_simd, "teams distribute parallel for simd") -OPENMP_DIRECTIVE_EXT(teams_distribute_parallel_for, "teams distribute parallel for") -OPENMP_DIRECTIVE_EXT(target_teams, "target teams") -OPENMP_DIRECTIVE_EXT(target_teams_distribute, "target teams distribute") -OPENMP_DIRECTIVE_EXT(target_teams_distribute_parallel_for, "target teams distribute parallel for") -OPENMP_DIRECTIVE_EXT(target_teams_distribute_parallel_for_simd, "target teams distribute parallel for simd") -OPENMP_DIRECTIVE_EXT(target_teams_distribute_simd, "target teams distribute simd") -OPENMP_DIRECTIVE(allocate) -OPENMP_DIRECTIVE_EXT(declare_variant, "declare variant") -OPENMP_DIRECTIVE_EXT(master_taskloop, "master taskloop") -OPENMP_DIRECTIVE_EXT(parallel_master_taskloop, "parallel master taskloop") -OPENMP_DIRECTIVE_EXT(master_taskloop_simd, "master taskloop simd") -OPENMP_DIRECTIVE_EXT(parallel_master_taskloop_simd, "parallel master taskloop simd") - // OpenMP clauses. OPENMP_CLAUSE(allocator, OMPAllocatorClause) OPENMP_CLAUSE(if, OMPIfClause) @@ -1137,8 +1068,6 @@ OPENMP_MATCH_KIND(implementation) #undef OPENMP_SCHEDULE_KIND #undef OPENMP_PROC_BIND_KIND #undef OPENMP_DEFAULT_KIND -#undef OPENMP_DIRECTIVE -#undef OPENMP_DIRECTIVE_EXT #undef OPENMP_CLAUSE #undef OPENMP_CRITICAL_CLAUSE #undef OPENMP_ORDERED_CLAUSE diff --git a/clang/include/clang/Basic/OpenMPKinds.h b/clang/include/clang/Basic/OpenMPKinds.h index 2621afe7afb..543c1cd1490 100644 --- a/clang/include/clang/Basic/OpenMPKinds.h +++ b/clang/include/clang/Basic/OpenMPKinds.h @@ -15,6 +15,7 @@ #define LLVM_CLANG_BASIC_OPENMPKINDS_H #include "llvm/ADT/StringRef.h" +#include "llvm/Frontend/OpenMP/OMPConstants.h" namespace clang { @@ -58,14 +59,7 @@ template <typename VectorType, typename ScoreT> struct OpenMPCtxSelectorData { }; /// OpenMP directives. -enum OpenMPDirectiveKind { -#define OPENMP_DIRECTIVE(Name) \ - OMPD_##Name, -#define OPENMP_DIRECTIVE_EXT(Name, Str) \ - OMPD_##Name, -#include "clang/Basic/OpenMPKinds.def" - OMPD_unknown -}; +using OpenMPDirectiveKind = llvm::omp::Directive; /// OpenMP clauses. enum OpenMPClauseKind { @@ -208,9 +202,6 @@ struct OpenMPScheduleTy final { OpenMPScheduleClauseModifier M2 = OMPC_SCHEDULE_MODIFIER_unknown; }; -OpenMPDirectiveKind getOpenMPDirectiveKind(llvm::StringRef Str); -const char *getOpenMPDirectiveName(OpenMPDirectiveKind Kind); - OpenMPClauseKind getOpenMPClauseKind(llvm::StringRef Str); const char *getOpenMPClauseName(OpenMPClauseKind Kind); diff --git a/clang/lib/AST/CMakeLists.txt b/clang/lib/AST/CMakeLists.txt index 1ede58cc9ed..bd9b0934591 100644 --- a/clang/lib/AST/CMakeLists.txt +++ b/clang/lib/AST/CMakeLists.txt @@ -1,6 +1,7 @@ set(LLVM_LINK_COMPONENTS BinaryFormat Core + FrontendOpenMP Support ) diff --git a/clang/lib/AST/OpenMPClause.cpp b/clang/lib/AST/OpenMPClause.cpp index fe1334469d4..7315d7c3cdb 100644 --- a/clang/lib/AST/OpenMPClause.cpp +++ b/clang/lib/AST/OpenMPClause.cpp @@ -1161,7 +1161,7 @@ OMPIsDevicePtrClause::CreateEmpty(const ASTContext &C, void OMPClausePrinter::VisitOMPIfClause(OMPIfClause *Node) { OS << "if("; - if (Node->getNameModifier() != OMPD_unknown) + if (Node->getNameModifier() != llvm::omp::OMPD_unknown) OS << getOpenMPDirectiveName(Node->getNameModifier()) << ": "; Node->getCondition()->printPretty(OS, nullptr, Policy, 0); OS << ")"; diff --git a/clang/lib/AST/StmtOpenMP.cpp b/clang/lib/AST/StmtOpenMP.cpp index 5b61e05aae8..da6d308ad15 100644 --- a/clang/lib/AST/StmtOpenMP.cpp +++ b/clang/lib/AST/StmtOpenMP.cpp @@ -15,6 +15,7 @@ #include "clang/AST/ASTContext.h" using namespace clang; +using namespace llvm::omp; void OMPExecutableDirective::setClauses(ArrayRef<OMPClause *> Clauses) { assert(Clauses.size() == getNumClauses() && diff --git a/clang/lib/Basic/OpenMPKinds.cpp b/clang/lib/Basic/OpenMPKinds.cpp index c075deb01a1..51fe587de99 100644 --- a/clang/lib/Basic/OpenMPKinds.cpp +++ b/clang/lib/Basic/OpenMPKinds.cpp @@ -18,6 +18,7 @@ #include <cassert> using namespace clang; +using namespace llvm::omp; OpenMPContextSelectorSetKind clang::getOpenMPContextSelectorSet(llvm::StringRef Str) { @@ -62,31 +63,6 @@ clang::getOpenMPContextSelectorName(OpenMPContextSelectorKind Kind) { llvm_unreachable("Invalid OpenMP context selector kind"); } -OpenMPDirectiveKind clang::getOpenMPDirectiveKind(StringRef Str) { - return llvm::StringSwitch<OpenMPDirectiveKind>(Str) -#define OPENMP_DIRECTIVE(Name) .Case(#Name, OMPD_##Name) -#define OPENMP_DIRECTIVE_EXT(Name, Str) .Case(Str, OMPD_##Name) -#include "clang/Basic/OpenMPKinds.def" - .Default(OMPD_unknown); -} - -const char *clang::getOpenMPDirectiveName(OpenMPDirectiveKind Kind) { - assert(Kind <= OMPD_unknown); - switch (Kind) { - case OMPD_unknown: - return "unknown"; -#define OPENMP_DIRECTIVE(Name) \ - case OMPD_##Name: \ - return #Name; -#define OPENMP_DIRECTIVE_EXT(Name, Str) \ - case OMPD_##Name: \ - return Str; -#include "clang/Basic/OpenMPKinds.def" - break; - } - llvm_unreachable("Invalid OpenMP directive kind"); -} - OpenMPClauseKind clang::getOpenMPClauseKind(StringRef Str) { // 'flush' clause cannot be specified explicitly, because this is an implicit // clause for 'flush' directive. If the 'flush' clause is explicitly specified @@ -449,7 +425,7 @@ const char *clang::getOpenMPSimpleClauseTypeName(OpenMPClauseKind Kind, bool clang::isAllowedClauseForDirective(OpenMPDirectiveKind DKind, OpenMPClauseKind CKind, unsigned OpenMPVersion) { - assert(DKind <= OMPD_unknown); + assert(unsigned(DKind) <= unsigned(OMPD_unknown)); assert(CKind <= OMPC_unknown); switch (DKind) { case OMPD_parallel: diff --git a/clang/lib/CodeGen/CGOpenMPRuntime.cpp b/clang/lib/CodeGen/CGOpenMPRuntime.cpp index a5380878203..fda8dbe14db 100644 --- a/clang/lib/CodeGen/CGOpenMPRuntime.cpp +++ b/clang/lib/CodeGen/CGOpenMPRuntime.cpp @@ -32,6 +32,7 @@ using namespace clang; using namespace CodeGen; +using namespace llvm::omp; namespace { /// Base class for handling code generation inside OpenMP regions. diff --git a/clang/lib/CodeGen/CGOpenMPRuntimeNVPTX.cpp b/clang/lib/CodeGen/CGOpenMPRuntimeNVPTX.cpp index 800940b9ef3..b98e6dee5f7 100644 --- a/clang/lib/CodeGen/CGOpenMPRuntimeNVPTX.cpp +++ b/clang/lib/CodeGen/CGOpenMPRuntimeNVPTX.cpp @@ -22,6 +22,7 @@ using namespace clang; using namespace CodeGen; +using namespace llvm::omp; namespace { enum OpenMPRTLFunctionNVPTX { diff --git a/clang/lib/CodeGen/CGStmtOpenMP.cpp b/clang/lib/CodeGen/CGStmtOpenMP.cpp index 8369fc236df..e23abdd385f 100644 --- a/clang/lib/CodeGen/CGStmtOpenMP.cpp +++ b/clang/lib/CodeGen/CGStmtOpenMP.cpp @@ -23,6 +23,7 @@ #include "clang/Basic/PrettyStackTrace.h" using namespace clang; using namespace CodeGen; +using namespace llvm::omp; namespace { /// Lexical scope for OpenMP executable constructs, that handles correct codegen diff --git a/clang/lib/CodeGen/CodeGenFunction.h b/clang/lib/CodeGen/CodeGenFunction.h index a46a25248bd..0aff6667840 100644 --- a/clang/lib/CodeGen/CodeGenFunction.h +++ b/clang/lib/CodeGen/CodeGenFunction.h @@ -1276,7 +1276,7 @@ private: CancelExit(OpenMPDirectiveKind Kind, JumpDest ExitBlock, JumpDest ContBlock) : Kind(Kind), ExitBlock(ExitBlock), ContBlock(ContBlock) {} - OpenMPDirectiveKind Kind = OMPD_unknown; + OpenMPDirectiveKind Kind = llvm::omp::OMPD_unknown; /// true if the exit block has been emitted already by the special /// emitExit() call, false if the default codegen is used. bool HasBeenEmitted = false; diff --git a/clang/lib/Parse/CMakeLists.txt b/clang/lib/Parse/CMakeLists.txt index b868696eb6b..3f7ab2a74af 100644 --- a/clang/lib/Parse/CMakeLists.txt +++ b/clang/lib/Parse/CMakeLists.txt @@ -1,4 +1,5 @@ set(LLVM_LINK_COMPONENTS + FrontendOpenMP MC MCParser Support diff --git a/clang/lib/Parse/ParseOpenMP.cpp b/clang/lib/Parse/ParseOpenMP.cpp index d25058e17ff..89f7f909b37 100644 --- a/clang/lib/Parse/ParseOpenMP.cpp +++ b/clang/lib/Parse/ParseOpenMP.cpp @@ -20,6 +20,7 @@ #include "llvm/ADT/UniqueVector.h" using namespace clang; +using namespace llvm::omp; //===----------------------------------------------------------------------===// // OpenMP declarative directives. @@ -27,7 +28,7 @@ using namespace clang; namespace { enum OpenMPDirectiveKindEx { - OMPD_cancellation = OMPD_unknown + 1, + OMPD_cancellation = unsigned(OMPD_unknown) + 1, OMPD_data, OMPD_declare, OMPD_end, @@ -46,6 +47,20 @@ enum OpenMPDirectiveKindEx { OMPD_variant, }; +// Helper to unify the enum class OpenMPDirectiveKind with its extension +// the OpenMPDirectiveKindEx enum which allows to use them together as if they +// are unsigned values. +struct OpenMPDirectiveKindExWrapper { + OpenMPDirectiveKindExWrapper(unsigned Value) : Value(Value) {} + OpenMPDirectiveKindExWrapper(OpenMPDirectiveKind DK) : Value(unsigned(DK)) {} + bool operator==(OpenMPDirectiveKind V) const { return Value == unsigned(V); } + bool operator!=(OpenMPDirectiveKind V) const { return Value != unsigned(V); } + bool operator<(OpenMPDirectiveKind V) const { return Value < unsigned(V); } + operator unsigned() const { return Value; } + operator OpenMPDirectiveKind() const { return OpenMPDirectiveKind(Value); } + unsigned Value; +}; + class DeclDirectiveListParserHelper final { SmallVector<Expr *, 4> Identifiers; Parser *P; @@ -67,11 +82,11 @@ public: // Map token string to extended OMP token kind that are // OpenMPDirectiveKind + OpenMPDirectiveKindEx. static unsigned getOpenMPDirectiveKindEx(StringRef S) { - auto DKind = getOpenMPDirectiveKind(S); + OpenMPDirectiveKindExWrapper DKind = getOpenMPDirectiveKind(S); if (DKind != OMPD_unknown) return DKind; - return llvm::StringSwitch<unsigned>(S) + return llvm::StringSwitch<OpenMPDirectiveKindExWrapper>(S) .Case("cancellation", OMPD_cancellation) .Case("data", OMPD_data) .Case("declare", OMPD_declare) @@ -86,11 +101,11 @@ static unsigned getOpenMPDirectiveKindEx(StringRef S) { .Default(OMPD_unknown); } -static OpenMPDirectiveKind parseOpenMPDirectiveKind(Parser &P) { +static OpenMPDirectiveKindExWrapper parseOpenMPDirectiveKind(Parser &P) { // Array of foldings: F[i][0] F[i][1] ===> F[i][2]. // E.g.: OMPD_for OMPD_simd ===> OMPD_for_simd // TODO: add other combined directives in topological order. - static const unsigned F[][3] = { + static const OpenMPDirectiveKindExWrapper F[][3] = { {OMPD_cancellation, OMPD_point, OMPD_cancellation_point}, {OMPD_declare, OMPD_reduction, OMPD_declare_reduction}, {OMPD_declare, OMPD_mapper, OMPD_declare_mapper}, @@ -144,7 +159,7 @@ static OpenMPDirectiveKind parseOpenMPDirectiveKind(Parser &P) { OMPD_parallel_master_taskloop_simd}}; enum { CancellationPoint = 0, DeclareReduction = 1, TargetData = 2 }; Token Tok = P.getCurToken(); - unsigned DKind = + OpenMPDirectiveKindExWrapper DKind = Tok.isAnnotation() ? static_cast<unsigned>(OMPD_unknown) : getOpenMPDirectiveKindEx(P.getPreprocessor().getSpelling(Tok)); @@ -156,7 +171,7 @@ static OpenMPDirectiveKind parseOpenMPDirectiveKind(Parser &P) { continue; Tok = P.getPreprocessor().LookAhead(0); - unsigned SDKind = + OpenMPDirectiveKindExWrapper SDKind = Tok.isAnnotation() ? static_cast<unsigned>(OMPD_unknown) : getOpenMPDirectiveKindEx(P.getPreprocessor().getSpelling(Tok)); @@ -238,8 +253,9 @@ Parser::DeclGroupPtrTy Parser::ParseOpenMPDeclareReductionDirective(AccessSpecifier AS) { // Parse '('. BalancedDelimiterTracker T(*this, tok::l_paren, tok::annot_pragma_openmp_end); - if (T.expectAndConsume(diag::err_expected_lparen_after, - getOpenMPDirectiveName(OMPD_declare_reduction))) { + if (T.expectAndConsume( + diag::err_expected_lparen_after, + getOpenMPDirectiveName(OMPD_declare_reduction).data())) { SkipUntil(tok::annot_pragma_openmp_end, StopBeforeMatch); return DeclGroupPtrTy(); } @@ -491,7 +507,7 @@ Parser::ParseOpenMPDeclareMapperDirective(AccessSpecifier AS) { // Parse '(' BalancedDelimiterTracker T(*this, tok::l_paren, tok::annot_pragma_openmp_end); if (T.expectAndConsume(diag::err_expected_lparen_after, - getOpenMPDirectiveName(OMPD_declare_mapper))) { + getOpenMPDirectiveName(OMPD_declare_mapper).data())) { SkipUntil(tok::annot_pragma_openmp_end, StopBeforeMatch); return DeclGroupPtrTy(); } @@ -1956,7 +1972,7 @@ bool Parser::ParseOpenMPSimpleVarList( // Parse '('. BalancedDelimiterTracker T(*this, tok::l_paren, tok::annot_pragma_openmp_end); if (T.expectAndConsume(diag::err_expected_lparen_after, - getOpenMPDirectiveName(Kind))) + getOpenMPDirectiveName(Kind).data())) return true; bool IsCorrect = true; bool NoIdentIsFound = true; @@ -2428,15 +2444,16 @@ OMPClause *Parser::ParseOpenMPSingleExprWithArgClause(OpenMPClauseKind Kind, assert(Kind == OMPC_if); KLoc.push_back(Tok.getLocation()); TentativeParsingAction TPA(*this); - Arg.push_back(parseOpenMPDirectiveKind(*this)); - if (Arg.back() != OMPD_unknown) { + auto DK = parseOpenMPDirectiveKind(*this); + Arg.push_back(DK); + if (DK != OMPD_unknown) { ConsumeToken(); if (Tok.is(tok::colon) && getLangOpts().OpenMP > 40) { TPA.Commit(); DelimLoc = ConsumeToken(); } else { TPA.Revert(); - Arg.back() = OMPD_unknown; + Arg.back() = unsigned(OMPD_unknown); } } else { TPA.Revert(); diff --git a/clang/lib/Sema/CMakeLists.txt b/clang/lib/Sema/CMakeLists.txt index 89c3f6c47b4..844abc7ce59 100644 --- a/clang/lib/Sema/CMakeLists.txt +++ b/clang/lib/Sema/CMakeLists.txt @@ -1,4 +1,5 @@ set(LLVM_LINK_COMPONENTS + FrontendOpenMP Support ) diff --git a/clang/lib/Sema/SemaOpenMP.cpp b/clang/lib/Sema/SemaOpenMP.cpp index baf2db810dc..0783bb71359 100644 --- a/clang/lib/Sema/SemaOpenMP.cpp +++ b/clang/lib/Sema/SemaOpenMP.cpp @@ -28,8 +28,11 @@ #include "clang/Sema/Scope.h" #include "clang/Sema/ScopeInfo.h" #include "clang/Sema/SemaInternal.h" +#include "llvm/ADT/IndexedMap.h" #include "llvm/ADT/PointerEmbeddedInt.h" +#include "llvm/Frontend/OpenMP/OMPConstants.h" using namespace clang; +using namespace llvm::omp; //===----------------------------------------------------------------------===// // Stack of data-sharing attributes for variables @@ -4152,13 +4155,17 @@ static bool checkNestingOfRegions(Sema &SemaRef, const DSAStackTy *Stack, return false; } +struct Kind2Unsigned { + using argument_type = OpenMPDirectiveKind; + unsigned operator()(argument_type DK) { return unsigned(DK); } +}; static bool checkIfClauses(Sema &S, OpenMPDirectiveKind Kind, ArrayRef<OMPClause *> Clauses, ArrayRef<OpenMPDirectiveKind> AllowedNameModifiers) { bool ErrorFound = false; unsigned NamedModifiersNumber = 0; - SmallVector<const OMPIfClause *, OMPC_unknown + 1> FoundNameModifiers( - OMPD_unknown + 1); + llvm::IndexedMap<const OMPIfClause *, Kind2Unsigned> FoundNameModifiers; + FoundNameModifiers.resize(unsigned(OMPD_unknown) + 1); SmallVector<SourceLocation, 4> NameModifierLoc; for (const OMPClause *C : Clauses) { if (const auto *IC = dyn_cast_or_null<OMPIfClause>(C)) { diff --git a/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp b/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp index fb19579cca1..e9456ebda58 100644 --- a/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp +++ b/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp @@ -3188,7 +3188,8 @@ TemplateDeclInstantiator::VisitOMPDeclareMapperDecl(OMPDeclareMapperDecl *D) { } else { // Instantiate the mapper variable. DeclarationNameInfo DirName; - SemaRef.StartOpenMPDSABlock(OMPD_declare_mapper, DirName, /*S=*/nullptr, + SemaRef.StartOpenMPDSABlock(llvm::omp::OMPD_declare_mapper, DirName, + /*S=*/nullptr, (*D->clauselist_begin())->getBeginLoc()); SemaRef.ActOnOpenMPDeclareMapperDirectiveVarDecl( NewDMD, /*S=*/nullptr, SubstMapperTy, D->getLocation(), VN); diff --git a/clang/lib/Sema/TreeTransform.h b/clang/lib/Sema/TreeTransform.h index c22b44a7b91..ade0e6a0c4c 100644 --- a/clang/lib/Sema/TreeTransform.h +++ b/clang/lib/Sema/TreeTransform.h @@ -37,6 +37,8 @@ #include "llvm/Support/ErrorHandling.h" #include <algorithm> +using namespace llvm::omp; + namespace clang { using namespace sema; diff --git a/clang/lib/Serialization/ASTWriter.cpp b/clang/lib/Serialization/ASTWriter.cpp index 4c186629b59..e3458c48b14 100644 --- a/clang/lib/Serialization/ASTWriter.cpp +++ b/clang/lib/Serialization/ASTWriter.cpp @@ -6622,7 +6622,7 @@ void OMPClauseWriter::writeClause(OMPClause *C) { } void OMPClauseWriter::VisitOMPClauseWithPreInit(OMPClauseWithPreInit *C) { - Record.push_back(C->getCaptureRegion()); + Record.push_back(uint64_t(C->getCaptureRegion())); Record.AddStmt(C->getPreInitStmt()); } @@ -6633,7 +6633,7 @@ void OMPClauseWriter::VisitOMPClauseWithPostUpdate(OMPClauseWithPostUpdate *C) { void OMPClauseWriter::VisitOMPIfClause(OMPIfClause *C) { VisitOMPClauseWithPreInit(C); - Record.push_back(C->getNameModifier()); + Record.push_back(uint64_t(C->getNameModifier())); Record.AddSourceLocation(C->getNameModifierLoc()); Record.AddSourceLocation(C->getColonLoc()); Record.AddStmt(C->getCondition()); diff --git a/clang/lib/Serialization/ASTWriterStmt.cpp b/clang/lib/Serialization/ASTWriterStmt.cpp index 1e801d02afc..a5e90359103 100644 --- a/clang/lib/Serialization/ASTWriterStmt.cpp +++ b/clang/lib/Serialization/ASTWriterStmt.cpp @@ -2255,7 +2255,7 @@ void ASTStmtWriter::VisitOMPCancellationPointDirective( OMPCancellationPointDirective *D) { VisitStmt(D); VisitOMPExecutableDirective(D); - Record.push_back(D->getCancelRegion()); + Record.push_back(uint64_t(D->getCancelRegion())); Code = serialization::STMT_OMP_CANCELLATION_POINT_DIRECTIVE; } @@ -2263,7 +2263,7 @@ void ASTStmtWriter::VisitOMPCancelDirective(OMPCancelDirective *D) { VisitStmt(D); Record.push_back(D->getNumClauses()); VisitOMPExecutableDirective(D); - Record.push_back(D->getCancelRegion()); + Record.push_back(uint64_t(D->getCancelRegion())); Code = serialization::STMT_OMP_CANCEL_DIRECTIVE; } |