clang: clang::OMPInReductionClause Class Reference (original) (raw)

This represents clause 'in_reduction' in the '#pragma omp task' directives. More...

#include "[clang/AST/OpenMPClause.h](OpenMPClause%5F8h%5Fsource.html)"

Public Types
using helper_expr_iterator = MutableArrayRef<Expr *>::iterator
using helper_expr_const_iterator = ArrayRef<const Expr *>::iterator
using helper_expr_range = llvm::iterator_range<helper_expr_iterator>
using helper_expr_const_range
Public Types inherited from clang::OMPVarListClause< OMPInReductionClause >
using varlist_iterator
using varlist_const_iterator
using varlist_range
using varlist_const_range
Public Types inherited from clang::OMPClause
using child_iterator = StmtIterator
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
SourceLocation getColonLoc () const
Gets location of ':' symbol in clause.
const DeclarationNameInfo & getNameInfo () const
Gets the name info for specified reduction identifier.
NestedNameSpecifierLoc getQualifierLoc () const
Gets the nested name specifier.
helper_expr_const_range privates () const
helper_expr_range privates ()
helper_expr_const_range lhs_exprs () const
helper_expr_range lhs_exprs ()
helper_expr_const_range rhs_exprs () const
helper_expr_range rhs_exprs ()
helper_expr_const_range reduction_ops () const
helper_expr_range reduction_ops ()
helper_expr_const_range taskgroup_descriptors () const
helper_expr_range taskgroup_descriptors ()
child_range children ()
const_child_range children () const
child_range used_children ()
const_child_range used_children () const
Public Member Functions inherited from clang::OMPVarListClause< OMPInReductionClause >
unsigned varlist_size () const
bool varlist_empty () const
varlist_range varlist ()
varlist_iterator varlist_begin ()
varlist_iterator varlist_end ()
void setLParenLoc (SourceLocation Loc)
Sets the location of '('.
SourceLocation getLParenLoc () const
Returns the location of '('.
Public Member Functions inherited from clang::OMPClause
SourceLocation getBeginLoc () const
Returns the starting location of the clause.
SourceLocation getEndLoc () const
Returns the ending location of the clause.
void setLocStart (SourceLocation Loc)
Sets the starting location of the clause.
void setLocEnd (SourceLocation Loc)
Sets the ending location of the clause.
OpenMPClauseKind getClauseKind () const
Returns kind of OpenMP clause (private, shared, reduction, etc.).
bool isImplicit () const
child_range children ()
const_child_range children () const
child_range used_children ()
Get the iterator range for the expressions used in the clauses.
const_child_range used_children () const
Public Member Functions inherited from clang::OMPClauseWithPostUpdate
const Expr * getPostUpdateExpr () const
Get post-update expression for the clause.
Expr * getPostUpdateExpr ()
Get post-update expression for the clause.
Public Member Functions inherited from clang::OMPClauseWithPreInit
const Stmt * getPreInitStmt () const
Get pre-initialization statement for the clause.
Stmt * getPreInitStmt ()
Get pre-initialization statement for the clause.
OpenMPDirectiveKind getCaptureRegion () const
Get capture region for the stmt in the clause.
Static Public Member Functions
static OMPInReductionClause * Create (const ASTContext &C, SourceLocation StartLoc, SourceLocation LParenLoc, SourceLocation ColonLoc, SourceLocation EndLoc, ArrayRef< Expr * > VL, NestedNameSpecifierLoc QualifierLoc, const DeclarationNameInfo &NameInfo, ArrayRef< Expr * > Privates, ArrayRef< Expr * > LHSExprs, ArrayRef< Expr * > RHSExprs, ArrayRef< Expr * > ReductionOps, ArrayRef< Expr * > TaskgroupDescriptors, Stmt *PreInit, Expr *PostUpdate)
Creates clause with a list of variables VL.
static OMPInReductionClause * CreateEmpty (const ASTContext &C, unsigned N)
Creates an empty clause with the place for N variables.
static bool classof (const OMPClause *T)
Static Public Member Functions inherited from clang::OMPClause
static bool classof (const OMPClause *)
Static Public Member Functions inherited from clang::OMPClauseWithPostUpdate
static OMPClauseWithPostUpdate * get (OMPClause *C)
static const OMPClauseWithPostUpdate * get (const OMPClause *C)
Static Public Member Functions inherited from clang::OMPClauseWithPreInit
static OMPClauseWithPreInit * get (OMPClause *C)
static const OMPClauseWithPreInit * get (const OMPClause *C)
Friends
class OMPClauseReader
Additional Inherited Members
Protected Member Functions inherited from clang::OMPVarListClause< OMPInReductionClause >
OMPVarListClause (OpenMPClauseKind K, SourceLocation StartLoc, SourceLocation LParenLoc, SourceLocation EndLoc, unsigned N)
Build a clause with N variables.
MutableArrayRef< Expr * > getVarRefs ()
Fetches list of variables associated with this clause.
void setVarRefs (ArrayRef< Expr * > VL)
Sets the list of variables for this clause.
Protected Member Functions inherited from clang::OMPClause
OMPClause (OpenMPClauseKind K, SourceLocation StartLoc, SourceLocation EndLoc)
Protected Member Functions inherited from clang::OMPClauseWithPostUpdate
OMPClauseWithPostUpdate (const OMPClause *This)
void setPostUpdateExpr (Expr *S)
Set pre-initialization statement for the clause.
Protected Member Functions inherited from clang::OMPClauseWithPreInit
OMPClauseWithPreInit (const OMPClause *This)
void setPreInitStmt (Stmt *S, OpenMPDirectiveKind ThisRegion=llvm::omp::OMPD_unknown)
Set pre-initialization statement for the clause.

This represents clause 'in_reduction' in the '#pragma omp task' directives.

#pragma omp task in_reduction(+:a,b)

In this example directive '#pragma omp task' has clause 'in_reduction' with operator '+' and the variables 'a' and 'b'.

Definition at line 4426 of file OpenMPClause.h.

helper_expr_const_iterator

helper_expr_const_range

Initial value:

llvm::iterator_range<helper_expr_const_iterator>

Definition at line 4605 of file OpenMPClause.h.

helper_expr_iterator

helper_expr_range

children() [1/2]

child_range clang::OMPInReductionClause::children ( ) inline

children() [2/2]

classof()

bool clang::OMPInReductionClause::classof ( const OMPClause * T) inlinestatic

Create()

OMPInReductionClause * OMPInReductionClause::Create ( const ASTContext & C, SourceLocation StartLoc, SourceLocation LParenLoc, SourceLocation ColonLoc, SourceLocation EndLoc, ArrayRef< Expr * > VL, NestedNameSpecifierLoc QualifierLoc, const DeclarationNameInfo & NameInfo, ArrayRef< Expr * > Privates, ArrayRef< Expr * > LHSExprs, ArrayRef< Expr * > RHSExprs, ArrayRef< Expr * > ReductionOps, ArrayRef< Expr * > TaskgroupDescriptors, Stmt * PreInit, Expr * PostUpdate ) static

Creates clause with a list of variables VL.

Parameters

StartLoc Starting location of the clause.
LParenLoc Location of '('.
ColonLoc Location of ':'.
EndLoc Ending location of the clause.
VL The variables in the clause.
QualifierLoc The nested-name qualifier with location information
NameInfo The full name info for reduction identifier.
Privates List of helper expressions for proper generation of private copies.
LHSExprs List of helper expressions for proper generation of assignment operation required for copyprivate clause. This list represents LHSs of the reduction expressions.
RHSExprs List of helper expressions for proper generation of assignment operation required for copyprivate clause. This list represents RHSs of the reduction expressions. Also, variables in these expressions are used for proper initialization of reduction copies.
ReductionOps List of helper expressions that represents reduction expressions: LHSExprs binop RHSExprs; operator binop(LHSExpr, RHSExpr); (LHSExpr, RHSExpr); Required for proper codegen of final reduction operation performed by the reduction clause.
TaskgroupDescriptors List of helper taskgroup descriptors for corresponding items in parent taskgroup task_reduction clause.
PreInit Statement that must be executed before entering the OpenMP region with this clause.
PostUpdate Expression that must be executed after exit from the OpenMP region with this clause.

Definition at line 941 of file OpenMPClause.cpp.

References clang::C.

Referenced by clang::SemaOpenMP::ActOnOpenMPInReductionClause().

CreateEmpty()

getColonLoc()

SourceLocation clang::OMPInReductionClause::getColonLoc ( ) const inline

getNameInfo()

Gets the name info for specified reduction identifier.

Definition at line 4597 of file OpenMPClause.h.

getQualifierLoc()

lhs_exprs() [1/2]

helper_expr_range clang::OMPInReductionClause::lhs_exprs ( ) inline

lhs_exprs() [2/2]

helper_expr_const_range clang::OMPInReductionClause::lhs_exprs ( ) const inline

privates() [1/2]

helper_expr_range clang::OMPInReductionClause::privates ( ) inline

privates() [2/2]

helper_expr_const_range clang::OMPInReductionClause::privates ( ) const inline

reduction_ops() [1/2]

helper_expr_range clang::OMPInReductionClause::reduction_ops ( ) inline

reduction_ops() [2/2]

helper_expr_const_range clang::OMPInReductionClause::reduction_ops ( ) const inline

rhs_exprs() [1/2]

helper_expr_range clang::OMPInReductionClause::rhs_exprs ( ) inline

rhs_exprs() [2/2]

helper_expr_const_range clang::OMPInReductionClause::rhs_exprs ( ) const inline

taskgroup_descriptors() [1/2]

helper_expr_range clang::OMPInReductionClause::taskgroup_descriptors ( ) inline

taskgroup_descriptors() [2/2]

helper_expr_const_range clang::OMPInReductionClause::taskgroup_descriptors ( ) const inline

used_children() [1/2]

child_range clang::OMPInReductionClause::used_children ( ) inline

used_children() [2/2]

OMPClauseReader


The documentation for this class was generated from the following files: