|
clang
3.8.0
|
This is a basic class for representing single OpenMP executable directive. More...
#include <StmtOpenMP.h>
Classes | |
| class | specific_clause_iterator |
| Iterates over a filtered subrange of clauses applied to a directive. More... | |
Public Member Functions | |
| template<typename SpecificClause > | |
| llvm::iterator_range < specific_clause_iterator < SpecificClause > > | getClausesOfKind () const |
| template<typename SpecificClause > | |
| const SpecificClause * | getSingleClause () const |
| Gets a single clause of the specified kind associated with the current directive iff there is only one clause of this kind (and assertion is fired if there is more than one clause is associated with the directive). More... | |
| template<typename SpecificClause > | |
| bool | hasClausesOfKind () const |
| Returns true if the current directive has one or more clauses of a specific kind. More... | |
| SourceLocation | getLocStart () const |
| Returns starting location of directive kind. More... | |
| SourceLocation | getLocEnd () const |
| Returns ending location of directive. More... | |
| void | setLocStart (SourceLocation Loc) |
| Set starting location of directive kind. More... | |
| void | setLocEnd (SourceLocation Loc) |
| Set ending location of directive. More... | |
| unsigned | getNumClauses () const |
| Get number of clauses. More... | |
| OMPClause * | getClause (unsigned i) const |
| Returns specified clause. More... | |
| bool | hasAssociatedStmt () const |
| Returns true if directive has associated statement. More... | |
| Stmt * | getAssociatedStmt () const |
| Returns statement associated with the directive. More... | |
| OpenMPDirectiveKind | getDirectiveKind () const |
| child_range | children () |
| ArrayRef< OMPClause * > | clauses () |
| ArrayRef< OMPClause * > | clauses () const |
Static Public Member Functions | |
| template<typename SpecificClause > | |
| static llvm::iterator_range < specific_clause_iterator < SpecificClause > > | getClausesOfKind (ArrayRef< OMPClause * > Clauses) |
| static bool | classof (const Stmt *S) |
Protected Member Functions | |
| template<typename T > | |
| OMPExecutableDirective (const T *, StmtClass SC, OpenMPDirectiveKind K, SourceLocation StartLoc, SourceLocation EndLoc, unsigned NumClauses, unsigned NumChildren) | |
| Build instance of directive of class K. More... | |
| void | setClauses (ArrayRef< OMPClause * > Clauses) |
| Sets the list of variables for this clause. More... | |
| void | setAssociatedStmt (Stmt *S) |
| Set the associated statement for the directive. More... | |
Friends | |
| class | ASTStmtReader |
This is a basic class for representing single OpenMP executable directive.
Definition at line 33 of file StmtOpenMP.h.
|
inlineprotected |
Build instance of directive of class K.
| SC | Statement class. |
| K | Kind of OpenMP directive. |
| StartLoc | Starting location of the directive (directive keyword). |
| EndLoc | Ending location of the directive. |
Definition at line 67 of file StmtOpenMP.h.
|
inline |
Definition at line 209 of file StmtOpenMP.h.
References hasAssociatedStmt().
Definition at line 204 of file StmtOpenMP.h.
Definition at line 216 of file StmtOpenMP.h.
Referenced by clang::CodeGen::CodeGenFunction::EmitOMPAtomicDirective(), getClause(), getClausesOfKind(), and clang::TreeTransform< Derived >::TransformOMPExecutableDirective().
Definition at line 218 of file StmtOpenMP.h.
|
inline |
Returns statement associated with the directive.
Definition at line 197 of file StmtOpenMP.h.
References hasAssociatedStmt().
Referenced by emitCommonOMPParallelDirective(), clang::CodeGen::CodeGenFunction::EmitOMPAtomicDirective(), clang::CodeGen::CodeGenFunction::EmitOMPCriticalDirective(), clang::CodeGen::CodeGenFunction::EmitOMPMasterDirective(), clang::CodeGen::CodeGenFunction::EmitOMPOrderedDirective(), clang::CodeGen::CodeGenFunction::EmitOMPParallelDirective(), clang::CodeGen::CodeGenFunction::EmitOMPSectionDirective(), clang::CodeGen::CodeGenFunction::EmitOMPSingleDirective(), clang::CodeGen::CodeGenFunction::EmitOMPTargetDataDirective(), clang::CodeGen::CodeGenFunction::EmitOMPTargetDirective(), clang::CodeGen::CodeGenFunction::EmitOMPTaskDirective(), clang::CodeGen::CodeGenFunction::EmitOMPTaskgroupDirective(), clang::CodeGen::CodeGenFunction::EmitOMPTaskLoopDirective(), clang::CodeGen::CodeGenFunction::EmitOMPTaskLoopSimdDirective(), clang::emitTargetOutlinedFunction(), clang::OMPLoopDirective::getBody(), and clang::TreeTransform< Derived >::TransformOMPExecutableDirective().
Returns specified clause.
| i | Number of clause. |
Definition at line 191 of file StmtOpenMP.h.
References clauses().
|
inlinestatic |
Definition at line 131 of file StmtOpenMP.h.
Referenced by emitAlignedClause(), emitCommonOMPParallelDirective(), emitLinearClauseFinal(), clang::CodeGen::CodeGenFunction::EmitOMPCancelDirective(), clang::CodeGen::CodeGenFunction::EmitOMPCopyinClause(), clang::CodeGen::CodeGenFunction::EmitOMPFirstprivateClause(), clang::CodeGen::CodeGenFunction::EmitOMPLastprivateClauseFinal(), clang::CodeGen::CodeGenFunction::EmitOMPLastprivateClauseInit(), clang::CodeGen::CodeGenFunction::EmitOMPLinearClauseInit(), clang::CodeGen::CodeGenFunction::EmitOMPPrivateClause(), clang::CodeGen::CodeGenFunction::EmitOMPReductionClauseFinal(), clang::CodeGen::CodeGenFunction::EmitOMPReductionClauseInit(), clang::CodeGen::CodeGenFunction::EmitOMPSingleDirective(), clang::CodeGen::CodeGenFunction::EmitOMPTaskDirective(), and emitPrivateLinearVars().
|
inline |
Definition at line 139 of file StmtOpenMP.h.
References clauses().
|
inline |
Definition at line 202 of file StmtOpenMP.h.
Referenced by clang::CodeGen::CodeGenFunction::EmitOMPReductionClauseFinal(), clang::OMPLoopDirective::getEnsureUpperBound(), clang::OMPLoopDirective::getIsLastIterVariable(), clang::OMPLoopDirective::getLowerBoundVariable(), clang::OMPLoopDirective::getNextLowerBound(), clang::OMPLoopDirective::getNextUpperBound(), clang::OMPLoopDirective::getStrideVariable(), clang::OMPLoopDirective::getUpperBoundVariable(), clang::OMPLoopDirective::setEnsureUpperBound(), clang::OMPLoopDirective::setIsLastIterVariable(), clang::OMPLoopDirective::setLowerBoundVariable(), clang::OMPLoopDirective::setNextLowerBound(), clang::OMPLoopDirective::setNextUpperBound(), clang::OMPLoopDirective::setStrideVariable(), clang::OMPLoopDirective::setUpperBoundVariable(), and clang::TreeTransform< Derived >::TransformOMPExecutableDirective().
|
inline |
Returns ending location of directive.
Definition at line 171 of file StmtOpenMP.h.
Referenced by clang::CodeGen::CodeGenFunction::EmitOMPReductionClauseFinal(), and clang::TreeTransform< Derived >::TransformOMPExecutableDirective().
|
inline |
Returns starting location of directive kind.
Definition at line 169 of file StmtOpenMP.h.
Referenced by emitCommonOMPParallelDirective(), clang::CodeGen::CodeGenFunction::EmitOMPAtomicDirective(), clang::CodeGen::CodeGenFunction::EmitOMPBarrierDirective(), clang::CodeGen::CodeGenFunction::EmitOMPCancelDirective(), clang::CodeGen::CodeGenFunction::EmitOMPCancellationPointDirective(), clang::CodeGen::CodeGenFunction::EmitOMPCriticalDirective(), clang::CodeGen::CodeGenFunction::EmitOMPForDirective(), clang::CodeGen::CodeGenFunction::EmitOMPForSimdDirective(), clang::CodeGen::CodeGenFunction::EmitOMPMasterDirective(), clang::CodeGen::CodeGenFunction::EmitOMPOrderedDirective(), clang::CodeGen::CodeGenFunction::EmitOMPParallelDirective(), clang::CodeGen::CodeGenFunction::EmitOMPSectionsDirective(), clang::CodeGen::CodeGenFunction::EmitOMPSingleDirective(), clang::CodeGen::CodeGenFunction::EmitOMPTaskgroupDirective(), clang::CodeGen::CodeGenFunction::EmitOMPTaskwaitDirective(), clang::CodeGen::CodeGenFunction::EmitOMPTaskyieldDirective(), emitScheduleClause(), clang::emitTargetOutlinedFunction(), and clang::TreeTransform< Derived >::TransformOMPExecutableDirective().
|
inline |
|
inline |
Gets a single clause of the specified kind associated with the current directive iff there is only one clause of this kind (and assertion is fired if there is more than one clause is associated with the directive).
Returns nullptr if no clause of this kind is associated with the directive.
Definition at line 149 of file StmtOpenMP.h.
Referenced by emitCommonOMPParallelDirective(), clang::CodeGen::CodeGenFunction::EmitOMPAtomicDirective(), clang::CodeGen::CodeGenFunction::EmitOMPCriticalDirective(), clang::CodeGen::CodeGenFunction::EmitOMPFlushDirective(), clang::CodeGen::CodeGenFunction::EmitOMPForDirective(), clang::CodeGen::CodeGenFunction::EmitOMPForSimdDirective(), clang::CodeGen::CodeGenFunction::EmitOMPOrderedDirective(), clang::CodeGen::CodeGenFunction::EmitOMPReductionClauseFinal(), clang::CodeGen::CodeGenFunction::EmitOMPSectionsDirective(), clang::CodeGen::CodeGenFunction::EmitOMPSingleDirective(), clang::CodeGen::CodeGenFunction::EmitOMPTargetDirective(), emitScheduleClause(), and emitSimdlenSafelenClause().
|
inline |
Returns true if directive has associated statement.
Definition at line 194 of file StmtOpenMP.h.
Referenced by children(), getAssociatedStmt(), setAssociatedStmt(), and clang::TreeTransform< Derived >::TransformOMPExecutableDirective().
|
inline |
Returns true if the current directive has one or more clauses of a specific kind.
Definition at line 163 of file StmtOpenMP.h.
|
inlineprotected |
Set the associated statement for the directive.
/param S Associated statement.
Definition at line 86 of file StmtOpenMP.h.
References hasAssociatedStmt(), and S.
Referenced by clang::OMPParallelDirective::Create(), clang::OMPSimdDirective::Create(), clang::OMPForDirective::Create(), clang::OMPForSimdDirective::Create(), clang::OMPSectionsDirective::Create(), clang::OMPSectionDirective::Create(), clang::OMPSingleDirective::Create(), clang::OMPMasterDirective::Create(), clang::OMPCriticalDirective::Create(), clang::OMPParallelForDirective::Create(), clang::OMPParallelForSimdDirective::Create(), clang::OMPParallelSectionsDirective::Create(), clang::OMPTaskDirective::Create(), clang::OMPTaskgroupDirective::Create(), clang::OMPOrderedDirective::Create(), clang::OMPAtomicDirective::Create(), clang::OMPTargetDirective::Create(), clang::OMPTargetDataDirective::Create(), clang::OMPTeamsDirective::Create(), clang::OMPTaskLoopDirective::Create(), clang::OMPTaskLoopSimdDirective::Create(), and clang::OMPDistributeDirective::Create().
Sets the list of variables for this clause.
| Clauses | The list of clauses for the directive. |
Definition at line 20 of file StmtOpenMP.cpp.
References getNumClauses().
Referenced by clang::OMPParallelDirective::Create(), clang::OMPSimdDirective::Create(), clang::OMPForDirective::Create(), clang::OMPForSimdDirective::Create(), clang::OMPSectionsDirective::Create(), clang::OMPSingleDirective::Create(), clang::OMPCriticalDirective::Create(), clang::OMPParallelForDirective::Create(), clang::OMPParallelForSimdDirective::Create(), clang::OMPParallelSectionsDirective::Create(), clang::OMPTaskDirective::Create(), clang::OMPFlushDirective::Create(), clang::OMPOrderedDirective::Create(), clang::OMPAtomicDirective::Create(), clang::OMPTargetDirective::Create(), clang::OMPTargetDataDirective::Create(), clang::OMPTeamsDirective::Create(), clang::OMPCancelDirective::Create(), clang::OMPTaskLoopDirective::Create(), clang::OMPTaskLoopSimdDirective::Create(), and clang::OMPDistributeDirective::Create().
|
inline |
Set ending location of directive.
| Loc | New ending location of directive. |
Definition at line 182 of file StmtOpenMP.h.
|
inline |
Set starting location of directive kind.
| Loc | New starting location of directive. |
Definition at line 177 of file StmtOpenMP.h.
|
friend |
Definition at line 34 of file StmtOpenMP.h.
1.8.6