clang 20.0.0git
|
This represents '#pragma omp teams loop' directive. More...
#include "clang/AST/StmtOpenMP.h"
Static Public Member Functions | |
static OMPTeamsGenericLoopDirective * | Create (const ASTContext &C, SourceLocation StartLoc, SourceLocation EndLoc, unsigned CollapsedNum, ArrayRef< OMPClause * > Clauses, Stmt *AssociatedStmt, const HelperExprs &Exprs) |
Creates directive with a list of Clauses . | |
static OMPTeamsGenericLoopDirective * | CreateEmpty (const ASTContext &C, unsigned NumClauses, unsigned CollapsedNum, EmptyShell) |
Creates an empty directive with the place for NumClauses clauses. | |
static bool | classof (const Stmt *T) |
![]() | |
static bool | classof (const Stmt *T) |
![]() | |
static Stmt * | tryToFindNextInnerLoop (Stmt *CurStmt, bool TryImperfectlyNestedLoops) |
Try to find the next loop sub-statement in the specified statement CurStmt . | |
static const Stmt * | tryToFindNextInnerLoop (const Stmt *CurStmt, bool TryImperfectlyNestedLoops) |
static bool | doForAllLoops (Stmt *CurStmt, bool TryImperfectlyNestedLoops, unsigned NumLoops, llvm::function_ref< bool(unsigned, Stmt *)> Callback, llvm::function_ref< void(OMPLoopTransformationDirective *)> OnTransformationCallback) |
Calls the specified callback function for all the loops in CurStmt , from the outermost to the innermost. | |
static bool | doForAllLoops (const Stmt *CurStmt, bool TryImperfectlyNestedLoops, unsigned NumLoops, llvm::function_ref< bool(unsigned, const Stmt *)> Callback, llvm::function_ref< void(const OMPLoopTransformationDirective *)> OnTransformationCallback) |
static bool | doForAllLoops (Stmt *CurStmt, bool TryImperfectlyNestedLoops, unsigned NumLoops, llvm::function_ref< bool(unsigned, Stmt *)> Callback) |
Calls the specified callback function for all the loops in CurStmt , from the outermost to the innermost. | |
static bool | doForAllLoops (const Stmt *CurStmt, bool TryImperfectlyNestedLoops, unsigned NumLoops, llvm::function_ref< bool(unsigned, const Stmt *)> Callback) |
static void | doForAllLoopsBodies (Stmt *CurStmt, bool TryImperfectlyNestedLoops, unsigned NumLoops, llvm::function_ref< void(unsigned, Stmt *, Stmt *)> Callback) |
Calls the specified callback function for all the loop bodies in CurStmt , from the outermost loop to the innermost. | |
static void | doForAllLoopsBodies (const Stmt *CurStmt, bool TryImperfectlyNestedLoops, unsigned NumLoops, llvm::function_ref< void(unsigned, const Stmt *, const Stmt *)> Callback) |
static bool | classof (const Stmt *T) |
![]() | |
static llvm::iterator_range< used_clauses_child_iterator > | used_clauses_children (ArrayRef< OMPClause * > Clauses) |
template<typename SpecificClause > | |
static llvm::iterator_range< specific_clause_iterator< SpecificClause > > | getClausesOfKind (ArrayRef< OMPClause * > Clauses) |
template<typename SpecificClause > | |
static const SpecificClause * | getSingleClause (ArrayRef< OMPClause * > Clauses) |
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). | |
static bool | classof (const Stmt *S) |
![]() | |
static void | addStmtClass (const StmtClass s) |
static void | EnableStatistics () |
static void | PrintStats () |
static Likelihood | getLikelihood (ArrayRef< const Attr * > Attrs) |
static Likelihood | getLikelihood (const Stmt *S) |
static const Attr * | getLikelihoodAttr (const Stmt *S) |
static Likelihood | getLikelihood (const Stmt *Then, const Stmt *Else) |
static std::tuple< bool, const Attr *, const Attr * > | determineLikelihoodConflict (const Stmt *Then, const Stmt *Else) |
Friends | |
class | ASTStmtReader |
class | OMPExecutableDirective |
Additional Inherited Members | |
![]() | |
enum | StmtClass { NoStmtClass = 0 } |
enum | Likelihood { LH_Unlikely = -1 , LH_None , LH_Likely } |
The likelihood of a branch being taken. More... | |
using | child_iterator = StmtIterator |
Child Iterators: All subclasses must implement 'children' to permit easy iteration over the substatements/subexpressions of an AST node. | |
using | const_child_iterator = ConstStmtIterator |
using | child_range = llvm::iterator_range< child_iterator > |
using | const_child_range = llvm::iterator_range< const_child_iterator > |
![]() | |
Expr * | getIterationVariable () const |
Expr * | getLastIteration () const |
Expr * | getCalcLastIteration () const |
Expr * | getPreCond () const |
Expr * | getCond () const |
Expr * | getInit () const |
Expr * | getInc () const |
const Stmt * | getPreInits () const |
Stmt * | getPreInits () |
Expr * | getIsLastIterVariable () const |
Expr * | getLowerBoundVariable () const |
Expr * | getUpperBoundVariable () const |
Expr * | getStrideVariable () const |
Expr * | getEnsureUpperBound () const |
Expr * | getNextLowerBound () const |
Expr * | getNextUpperBound () const |
Expr * | getNumIterations () const |
Expr * | getPrevLowerBoundVariable () const |
Expr * | getPrevUpperBoundVariable () const |
Expr * | getDistInc () const |
Expr * | getPrevEnsureUpperBound () const |
Expr * | getCombinedLowerBoundVariable () const |
Expr * | getCombinedUpperBoundVariable () const |
Expr * | getCombinedEnsureUpperBound () const |
Expr * | getCombinedInit () const |
Expr * | getCombinedCond () const |
Expr * | getCombinedNextLowerBound () const |
Expr * | getCombinedNextUpperBound () const |
Expr * | getCombinedDistCond () const |
Expr * | getCombinedParForInDistCond () const |
Stmt * | getBody () |
const Stmt * | getBody () const |
ArrayRef< Expr * > | counters () |
ArrayRef< Expr * > | counters () const |
ArrayRef< Expr * > | private_counters () |
ArrayRef< Expr * > | private_counters () const |
ArrayRef< Expr * > | inits () |
ArrayRef< Expr * > | inits () const |
ArrayRef< Expr * > | updates () |
ArrayRef< Expr * > | updates () const |
ArrayRef< Expr * > | finals () |
ArrayRef< Expr * > | finals () const |
ArrayRef< Expr * > | dependent_counters () |
ArrayRef< Expr * > | dependent_counters () const |
ArrayRef< Expr * > | dependent_inits () |
ArrayRef< Expr * > | dependent_inits () const |
ArrayRef< Expr * > | finals_conditions () |
ArrayRef< Expr * > | finals_conditions () const |
![]() | |
unsigned | getLoopsNumber () const |
Get number of collapsed loops. | |
![]() | |
template<typename SpecificClause > | |
llvm::iterator_range< specific_clause_iterator< SpecificClause > > | getClausesOfKind () const |
template<typename SpecificClause > | |
const SpecificClause * | getSingleClause () const |
template<typename SpecificClause > | |
bool | hasClausesOfKind () const |
Returns true if the current directive has one or more clauses of a specific kind. | |
SourceLocation | getBeginLoc () const |
Returns starting location of directive kind. | |
SourceLocation | getEndLoc () const |
Returns ending location of directive. | |
void | setLocStart (SourceLocation Loc) |
Set starting location of directive kind. | |
void | setLocEnd (SourceLocation Loc) |
Set ending location of directive. | |
unsigned | getNumClauses () const |
Get number of clauses. | |
OMPClause * | getClause (unsigned I) const |
Returns specified clause. | |
bool | hasAssociatedStmt () const |
Returns true if directive has associated statement. | |
const Stmt * | getAssociatedStmt () const |
Returns statement associated with the directive. | |
Stmt * | getAssociatedStmt () |
const CapturedStmt * | getCapturedStmt (OpenMPDirectiveKind RegionKind) const |
Returns the captured statement associated with the component region within the (combined) directive. | |
CapturedStmt * | getInnermostCapturedStmt () |
Get innermost captured statement for the construct. | |
const CapturedStmt * | getInnermostCapturedStmt () const |
OpenMPDirectiveKind | getDirectiveKind () const |
child_range | children () |
const_child_range | children () const |
ArrayRef< |