clang 20.0.0git
Static Public Member Functions | Friends | List of all members
clang::OMPTeamsDistributeDirective Class Referencefinal

This represents '#pragma omp teams distribute' directive. More...

#include "clang/AST/StmtOpenMP.h"

Inheritance diagram for clang::OMPTeamsDistributeDirective:
Inheritance graph
[legend]

Static Public Member Functions

static OMPTeamsDistributeDirectiveCreate (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 OMPTeamsDistributeDirectiveCreateEmpty (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 Public Member Functions inherited from clang::OMPLoopDirective
static bool classof (const Stmt *T)
 
- Static Public Member Functions inherited from clang::OMPLoopBasedDirective
static StmttryToFindNextInnerLoop (Stmt *CurStmt, bool TryImperfectlyNestedLoops)
 Try to find the next loop sub-statement in the specified statement CurStmt.
 
static const StmttryToFindNextInnerLoop (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 Public Member Functions inherited from clang::OMPExecutableDirective
static llvm::iterator_range< used_clauses_child_iteratorused_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 Public Member Functions inherited from clang::Stmt
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 AttrgetLikelihoodAttr (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

- Public Types inherited from clang::Stmt
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 >
 
- Public Member Functions inherited from clang::OMPLoopDirective
ExprgetIterationVariable () const
 
ExprgetLastIteration () const
 
ExprgetCalcLastIteration () const
 
ExprgetPreCond () const
 
ExprgetCond () const
 
ExprgetInit () const
 
ExprgetInc () const
 
const StmtgetPreInits () const
 
StmtgetPreInits ()
 
ExprgetIsLastIterVariable () const
 
ExprgetLowerBoundVariable () const
 
ExprgetUpperBoundVariable () const
 
ExprgetStrideVariable () const
 
ExprgetEnsureUpperBound () const
 
ExprgetNextLowerBound () const
 
ExprgetNextUpperBound () const
 
ExprgetNumIterations () const
 
ExprgetPrevLowerBoundVariable () const
 
ExprgetPrevUpperBoundVariable () const
 
ExprgetDistInc () const
 
ExprgetPrevEnsureUpperBound () const
 
ExprgetCombinedLowerBoundVariable () const
 
ExprgetCombinedUpperBoundVariable () const
 
ExprgetCombinedEnsureUpperBound () const
 
ExprgetCombinedInit () const
 
ExprgetCombinedCond () const
 
ExprgetCombinedNextLowerBound () const
 
ExprgetCombinedNextUpperBound () const
 
ExprgetCombinedDistCond () const
 
ExprgetCombinedParForInDistCond () const
 
StmtgetBody ()
 
const StmtgetBody () 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
 
- Public Member Functions inherited from clang::OMPLoopBasedDirective
unsigned getLoopsNumber () const
 Get number of collapsed loops.
 
- Public Member Functions inherited from clang::OMPExecutableDirective
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.
 
OMPClausegetClause (unsigned I) const
 Returns specified clause.
 
bool hasAssociatedStmt () const
 Returns true if directive has associated statement.
 
const StmtgetAssociatedStmt () const
 Returns statement associated with the directive.
 
StmtgetAssociatedStmt ()
 
const CapturedStmtgetCapturedStmt (OpenMPDirectiveKind RegionKind) const
 Returns the captured statement associated with the component region within the (combined) directive.
 
CapturedStmtgetInnermostCapturedStmt ()
 Get innermost captured statement for the construct.
 
const CapturedStmtgetInnermostCapturedStmt () const
 
OpenMPDirectiveKind getDirectiveKind () const
 
child_range children ()
 
const_child_range children () const
 
ArrayRef< OMPClause * > clauses () const
 
bool isStandaloneDirective () const
 Returns whether or not this is a Standalone directive.
 
const StmtgetStructuredBlock () const
 Returns the AST node representing OpenMP structured-block of this OpenMP executable directive, Prerequisite: Executable Directive must not be Standalone directive.
 
StmtgetStructuredBlock ()
 
const StmtgetRawStmt () const
 
StmtgetRawStmt ()
 
- Public Member Functions inherited from clang::Stmt
void * operator new (size_t bytes, const ASTContext &C, unsigned alignment=8)
 
void * operator new (size_t bytes, const ASTContext *C, unsigned alignment=8)
 
void * operator new (size_t bytes, void *mem) noexcept
 
void operator delete (void *, const ASTContext &, unsigned) noexcept
 
void operator delete (void *, const ASTContext *, unsigned) noexcept
 
void operator delete (void *, size_t) noexcept
 
void operator delete (void *, void *) noexcept
 
 Stmt ()=delete
 
 Stmt (const Stmt &)=delete
 
 Stmt (Stmt &&)=delete
 
Stmtoperator= (const Stmt &)=delete
 
Stmtoperator= (Stmt &&)=delete
 
 Stmt (StmtClass SC)
 
StmtClass getStmtClass () const
 
const char * getStmtClassName () const
 
SourceRange getSourceRange () const LLVM_READONLY
 SourceLocation tokens are not useful in isolation - they are low level value objects created/interpreted by SourceManager.
 
SourceLocation getBeginLoc () const LLVM_READONLY
 
SourceLocation getEndLoc () const LLVM_READONLY
 
void dump () const
 Dumps the specified AST fragment and all subtrees to llvm::errs().
 
void dump (raw_ostream &OS, const ASTContext &Context) const
 
int64_t getID (const ASTContext &Context) const
 
void dumpColor () const
 dumpColor - same as dump(), but forces color highlighting.
 
void dumpPretty (const ASTContext &Context) const
 dumpPretty/printPretty - These two methods do a "pretty print" of the AST back to its original source language syntax.
 
void printPretty (raw_ostream &OS, PrinterHelper *Helper, const PrintingPolicy &Policy, unsigned Indentation=0, StringRef NewlineSymbol="\n", const ASTContext *Context=nullptr) const
 
void printPrettyControlled (raw_ostream &OS, PrinterHelper *Helper, const PrintingPolicy &Policy, unsigned Indentation=0, StringRef NewlineSymbol="\n", const ASTContext *Context=nullptr) const
 
void printJson (raw_ostream &Out, PrinterHelper *Helper, const PrintingPolicy &Policy, bool AddQuotes) const
 Pretty-prints in JSON format.
 
void viewAST () const
 viewAST - Visualize an AST rooted at this Stmt* using GraphViz.
 
StmtIgnoreContainers (bool IgnoreCaptured=false)
 Skip no-op (attributed, compound) container stmts and skip captured stmt at the top, if IgnoreCaptured is true.
 
const StmtIgnoreContainers (bool IgnoreCaptured=false) const
 
const StmtstripLabelLikeStatements () const
 Strip off all label-like statements.
 
StmtstripLabelLikeStatements ()
 
child_range children ()
 
const_child_range children () const
 
child_iterator child_begin ()
 
child_iterator child_end ()
 
const_child_iterator child_begin () const
 
const_child_iterator child_end () const
 
void Profile (llvm::FoldingSetNodeID &ID, const ASTContext &Context, bool Canonical, bool ProfileLambdaExpr=false) const
 Produce a unique representation of the given statement.
 
void ProcessODRHash (llvm::FoldingSetNodeID &ID, ODRHash &Hash) const
 Calculate a unique representation for a statement that is stable across compiler invocations.
 
- Protected Types inherited from clang::Stmt
enum  { NumExprBits = NumStmtBits + 5 + llvm::BitWidth<ExprDependence> }
 
enum  { NumCallExprBits = 32 }
 
enum  { NumOverloadExprBits = NumExprBits + 1 }
 
template<typename T >
using ConstCastIterator = CastIterator< T, const T *const, const Stmt *const >
 Const iterator for iterating over Stmt * arrays that contain only T *.
 
using ExprIterator = CastIterator< Expr >
 
using ConstExprIterator = ConstCastIterator< Expr >
 
- Protected Member Functions inherited from clang::OMPLoopDirective
 OMPLoopDirective (StmtClass SC, OpenMPDirectiveKind Kind, SourceLocation StartLoc, SourceLocation EndLoc, unsigned CollapsedNum)
 Build instance of loop directive of class Kind.
 
void setIterationVariable (Expr *IV)
 
void setLastIteration (Expr *LI)
 
void setCalcLastIteration (Expr *CLI)
 
void setPreCond (Expr *PC)
 
void setCond (Expr *Cond)
 
void setInit (Expr *Init)
 
void setInc (Expr *Inc)
 
void setPreInits (Stmt *PreInits)
 
void setIsLastIterVariable (Expr *IL)
 
void setLowerBoundVariable (Expr *LB)
 
void setUpperBoundVariable (Expr *UB)
 
void setStrideVariable (Expr *ST)
 
void setEnsureUpperBound (Expr *EUB)
 
void setNextLowerBound (Expr *NLB)
 
void setNextUpperBound (Expr *NUB)
 
void setNumIterations (Expr *NI)
 
void setPrevLowerBoundVariable (Expr *PrevLB)
 
void setPrevUpperBoundVariable (Expr *PrevUB)
 
void setDistInc (Expr *DistInc)
 
void setPrevEnsureUpperBound (Expr *PrevEUB)
 
void setCombinedLowerBoundVariable (Expr *CombLB)
 
void setCombinedUpperBoundVariable (Expr *CombUB)
 
void setCombinedEnsureUpperBound (Expr *CombEUB)
 
void