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:
- include/clang/AST/OpenMPClause.h
- lib/AST/OpenMPClause.cpp