class OMPTargetTeamsDistributeParallelForDirective

Declaration

class OMPTargetTeamsDistributeParallelForDirective
    : public OMPLoopDirective { /* full declaration omitted */ };

Description

This represents '#pragma omp target teams distribute parallel for' combined directive. In this example directive '#pragma omp target teams distribute parallel for' has clause 'private' with the variables 'x'

Declared at: clang/include/clang/AST/StmtOpenMP.h:5265

Inherits from: OMPLoopDirective

Member Variables

private bool HasCancel = false
true if the construct has inner cancel directive.

Inherited from OMPLoopBasedDirective:

protected NumAssociatedLoops = 0

Inherited from OMPExecutableDirective:

protected Data = nullptr

Inherited from Stmt:

protected

Method Overview

  • public static clang::OMPTargetTeamsDistributeParallelForDirective * Create(const clang::ASTContext & C, clang::SourceLocation StartLoc, clang::SourceLocation EndLoc, unsigned int CollapsedNum, ArrayRef<clang::OMPClause *> Clauses, clang::Stmt * AssociatedStmt, const clang::OMPLoopBasedDirective::HelperExprs & Exprs, clang::Expr * TaskRedRef, bool HasCancel)
  • public static clang::OMPTargetTeamsDistributeParallelForDirective * CreateEmpty(const clang::ASTContext & C, unsigned int NumClauses, unsigned int CollapsedNum, clang::Stmt::EmptyShell)
  • private OMPTargetTeamsDistributeParallelForDirective(clang::SourceLocation StartLoc, clang::SourceLocation EndLoc, unsigned int CollapsedNum)
  • private OMPTargetTeamsDistributeParallelForDirective(unsigned int CollapsedNum)
  • public static bool classof(const clang::Stmt * T)
  • public clang::Expr * getTaskReductionRefExpr()
  • public const clang::Expr * getTaskReductionRefExpr() const
  • public bool hasCancel() const
  • private void setHasCancel(bool Has)
  • private void setTaskReductionRefExpr(clang::Expr * E)

Inherited from OMPLoopDirective:

Inherited from OMPLoopBasedDirective:

Inherited from OMPExecutableDirective:

Inherited from Stmt:

Methods

static clang::
    OMPTargetTeamsDistributeParallelForDirective*
    Create(const clang::ASTContext& C,
           clang::SourceLocation StartLoc,
           clang::SourceLocation EndLoc,
           unsigned int CollapsedNum,
           ArrayRef<clang::OMPClause*> Clauses,
           clang::Stmt* AssociatedStmt,
           const clang::OMPLoopBasedDirective::
               HelperExprs& Exprs,
           clang::Expr* TaskRedRef,
           bool HasCancel)

Description

Creates directive with a list of \a Clauses.

Declared at: clang/include/clang/AST/StmtOpenMP.h:5319

Parameters

const clang::ASTContext& C
AST context.
clang::SourceLocation StartLoc
Starting location of the directive kind.
clang::SourceLocation EndLoc
Ending Location of the directive.
unsigned int CollapsedNum
Number of collapsed loops.
ArrayRef<clang::OMPClause*> Clauses
List of clauses.
clang::Stmt* AssociatedStmt
Statement, associated with the directive.
const clang::OMPLoopBasedDirective::HelperExprs& Exprs
Helper expressions for CodeGen.
clang::Expr* TaskRedRef
Task reduction special reference expression to handle taskgroup descriptor.
bool HasCancel
true if this directive has inner cancel directive.

static clang::
    OMPTargetTeamsDistributeParallelForDirective*
    CreateEmpty(const clang::ASTContext& C,
                unsigned int NumClauses,
                unsigned int CollapsedNum,
                clang::Stmt::EmptyShell)

Description

Creates an empty directive with the place for \a NumClauses clauses.

Declared at: clang/include/clang/AST/StmtOpenMP.h:5331

Parameters

const clang::ASTContext& C
AST context.
unsigned int NumClauses
Number of clauses.
unsigned int CollapsedNum
Number of collapsed nested loops.
clang::Stmt::EmptyShell

OMPTargetTeamsDistributeParallelForDirective(
    clang::SourceLocation StartLoc,
    clang::SourceLocation EndLoc,
    unsigned int CollapsedNum)

Description

Build directive with the given start and end location.

Declared at: clang/include/clang/AST/StmtOpenMP.h:5278

Parameters

clang::SourceLocation StartLoc
Starting location of the directive kind.
clang::SourceLocation EndLoc
Ending location of the directive.
unsigned int CollapsedNum
Number of collapsed nested loops.

OMPTargetTeamsDistributeParallelForDirective(
    unsigned int CollapsedNum)

Description

Build an empty directive.

Declared at: clang/include/clang/AST/StmtOpenMP.h:5289

Parameters

unsigned int CollapsedNum
Number of collapsed nested loops.

static bool classof(const clang::Stmt* T)

Declared at: clang/include/clang/AST/StmtOpenMP.h:5348

Parameters

const clang::Stmt* T

clang::Expr* getTaskReductionRefExpr()

Description

Returns special task reduction reference expression.

Declared at: clang/include/clang/AST/StmtOpenMP.h:5335

const clang::Expr* getTaskReductionRefExpr() const

Declared at: clang/include/clang/AST/StmtOpenMP.h:5340

bool hasCancel() const

Description

Return true if current directive has inner cancel directive.

Declared at: clang/include/clang/AST/StmtOpenMP.h:5346

void setHasCancel(bool Has)

Description

Set cancel state.

Declared at: clang/include/clang/AST/StmtOpenMP.h:5302

Parameters

bool Has

void setTaskReductionRefExpr(clang::Expr* E)

Description

Sets special task reduction descriptor.

Declared at: clang/include/clang/AST/StmtOpenMP.h:5295

Parameters

clang::Expr* E