|
clang 22.0.0git
|
This represents clause 'reduction' in the '#pragma omp ...' directives. More...
#include "clang/AST/OpenMPClause.h"
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 |
| using | helper_flag_iterator = MutableArrayRef<bool>::iterator |
| using | helper_flag_const_iterator = ArrayRef<bool>::iterator |
| using | helper_flag_range = llvm::iterator_range<helper_flag_iterator> |
| using | helper_flag_const_range |
| Public Types inherited from clang::OMPVarListClause< OMPReductionClause > | |
| 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> |
Static Public Member Functions | |
| static OMPReductionClause * | Create (const ASTContext &C, SourceLocation StartLoc, SourceLocation LParenLoc, SourceLocation ModifierLoc, SourceLocation ColonLoc, SourceLocation EndLoc, OpenMPReductionClauseModifier Modifier, ArrayRef< Expr * > VL, NestedNameSpecifierLoc QualifierLoc, const DeclarationNameInfo &NameInfo, ArrayRef< Expr * > Privates, ArrayRef< Expr * > LHSExprs, ArrayRef< Expr * > RHSExprs, ArrayRef< Expr * > ReductionOps, ArrayRef< Expr * > CopyOps, ArrayRef< Expr * > CopyArrayTemps, ArrayRef< Expr * > CopyArrayElems, Stmt *PreInit, Expr *PostUpdate, ArrayRef< bool > IsPrivateVarReduction, OpenMPOriginalSharingModifier OriginalSharingModifier) |
| Creates clause with a list of variables VL. | |
| static OMPReductionClause * | CreateEmpty (const ASTContext &C, unsigned N, OpenMPReductionClauseModifier Modifier) |
| 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< OMPReductionClause > | |
| 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 'reduction' in the '#pragma omp ...' directives.
In this example directive '#pragma omp parallel' has clause 'reduction' with operator '+' and the variables 'a' and 'b'.
Definition at line 3826 of file OpenMPClause.h.
| using clang::OMPReductionClause::helper_expr_const_iterator = ArrayRef<const Expr *>::iterator |
Definition at line 4103 of file OpenMPClause.h.
Definition at line 4105 of file OpenMPClause.h.
| using clang::OMPReductionClause::helper_expr_iterator = MutableArrayRef<Expr *>::iterator |
Definition at line 4102 of file OpenMPClause.h.
| using clang::OMPReductionClause::helper_expr_range = llvm::iterator_range<helper_expr_iterator> |
Definition at line 4104 of file OpenMPClause.h.
| using clang::OMPReductionClause::helper_flag_const_iterator = ArrayRef<bool>::iterator |
Definition at line 4108 of file OpenMPClause.h.
Definition at line 4110 of file OpenMPClause.h.
| using clang::OMPReductionClause::helper_flag_iterator = MutableArrayRef<bool>::iterator |
Definition at line 4107 of file OpenMPClause.h.
| using clang::OMPReductionClause::helper_flag_range = llvm::iterator_range<helper_flag_iterator> |
Definition at line 4109 of file OpenMPClause.h.
|
inline |
Definition at line 4187 of file OpenMPClause.h.
References clang::OMPVarListClause< OMPReductionClause >::varlist_begin(), and clang::OMPVarListClause< OMPReductionClause >::varlist_end().
Referenced by children().
|
inline |
Definition at line 4192 of file OpenMPClause.h.
References Children, and children().
Definition at line 4206 of file OpenMPClause.h.
References clang::T.
|
inline |
Definition at line 4182 of file OpenMPClause.h.
|
inline |
Definition at line 4177 of file OpenMPClause.h.
|
inline |
Definition at line 4172 of file OpenMPClause.h.
|
inline |
Definition at line 4167 of file OpenMPClause.h.
|
inline |
Definition at line 4162 of file OpenMPClause.h.
|
inline |
Definition at line 4157 of file OpenMPClause.h.
|
static |
Creates clause with a list of variables VL.
| StartLoc | Starting location of the clause. |
| LParenLoc | Location of '('. |
| ModifierLoc | Modifier location. |
| 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);
<CutomReduction>(LHSExpr, RHSExpr);
|
| CopyOps | List of copy operations for inscan reductions: TempExprs = LHSExprs;
|
| CopyArrayTemps | Temp arrays for prefix sums. |
| CopyArrayElems | Temp arrays for prefix sums. |
| 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. |
| IsPrivateVarReduction | array for private variable reduction flags |
Definition at line 801 of file OpenMPClause.cpp.
References clang::C.
Referenced by clang::SemaOpenMP::ActOnOpenMPReductionClause().
|
static |
Creates an empty clause with the place for N variables.
| C | AST context. |
| N | The number of variables. |
| Modifier | Reduction modifier. |
Definition at line 841 of file OpenMPClause.cpp.
References clang::C.
Referenced by clang::OMPClauseReader::readClause().
|
inline |
Gets location of ':' symbol in clause.
Definition at line 4094 of file OpenMPClause.h.
|
inline |
Returns modifier.
Definition at line 4083 of file OpenMPClause.h.
|
inline |
Returns modifier location.
Definition at line 4091 of file OpenMPClause.h.
|
inline |
Gets the name info for specified reduction identifier.
Definition at line 4097 of file OpenMPClause.h.
|
inline |
Returns Original Sharing Modifier.
Definition at line 4086 of file OpenMPClause.h.
|
inline |
Gets the nested name specifier.
Definition at line 4100 of file OpenMPClause.h.
|
inline |
Definition at line 4125 of file OpenMPClause.h.
|
inline |
Definition at line 4121 of file OpenMPClause.h.
|
inline |
Definition at line 4142 of file OpenMPClause.h.
|
inline |
Definition at line 4137 of file OpenMPClause.h.
|
inline |
Definition at line 4117 of file OpenMPClause.h.
|
inline |
Definition at line 4113 of file OpenMPClause.h.
|
inline |
Definition at line 4152 of file OpenMPClause.h.
|
inline |
Definition at line 4147 of file OpenMPClause.h.
|
inline |
Definition at line 4133 of file OpenMPClause.h.
|
inline |
Definition at line 4129 of file OpenMPClause.h.
|
inline |
Definition at line 4197 of file OpenMPClause.h.
References clang::OMPVarListClause< OMPReductionClause >::varlist_begin(), and clang::OMPVarListClause< OMPReductionClause >::varlist_end().
Referenced by used_children().
|
inline |
Definition at line 4201 of file OpenMPClause.h.
References Children, and used_children().
|
friend |
Definition at line 3830 of file OpenMPClause.h.
References clang::OMPC_REDUCTION_unknown, OMPClauseReader, and clang::OMPClauseWithPostUpdate::OMPClauseWithPostUpdate().
Referenced by OMPClauseReader.