clang 20.0.0git
|
This represents clause 'lastprivate' 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 = llvm::iterator_range< helper_expr_const_iterator > |
Public Types inherited from clang::OMPVarListClause< OMPLastprivateClause > | |
using | varlist_iterator = MutableArrayRef< Expr * >::iterator |
using | varlist_const_iterator = ArrayRef< const Expr * >::iterator |
using | varlist_range = llvm::iterator_range< varlist_iterator > |
using | varlist_const_range = llvm::iterator_range< varlist_const_iterator > |
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 | |
OpenMPLastprivateModifier | getKind () const |
Lastprivate kind. | |
SourceLocation | getKindLoc () const |
Returns the location of the lastprivate kind. | |
SourceLocation | getColonLoc () const |
Returns the location of the ':' symbol, if any. | |
void | setPrivateCopies (ArrayRef< Expr * > PrivateCopies) |
Set list of helper expressions, required for generation of private copies of original lastprivate variables. | |
helper_expr_const_range | private_copies () const |
helper_expr_range | private_copies () |
helper_expr_const_range | source_exprs () const |
helper_expr_range | source_exprs () |
helper_expr_const_range | destination_exprs () const |
helper_expr_range | destination_exprs () |
helper_expr_const_range | assignment_ops () const |
helper_expr_range | assignment_ops () |
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< OMPLastprivateClause > | |
ArrayRef< const Expr * > | getVarRefs () const |
Fetches list of all variables in the clause. | |
unsigned | varlist_size () const |
bool | varlist_empty () const |
varlist_range | varlist () |
varlist_const_range | varlist () const |
varlist_iterator | varlist_begin () |
varlist_const_iterator | varlist_begin () const |
varlist_iterator | varlist_end () |
varlist_const_iterator | varlist_end () const |
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 OMPLastprivateClause * | Create (const ASTContext &C, SourceLocation StartLoc, SourceLocation LParenLoc, SourceLocation EndLoc, ArrayRef< Expr * > VL, ArrayRef< Expr * > SrcExprs, ArrayRef< Expr * > DstExprs, ArrayRef< Expr * > AssignmentOps, OpenMPLastprivateModifier LPKind, SourceLocation LPKindLoc, SourceLocation ColonLoc, Stmt *PreInit, Expr *PostUpdate) |
Creates clause with a list of variables VL. | |
static OMPLastprivateClause * | 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< OMPLastprivateClause > | |
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 'lastprivate' in the '#pragma omp ...' directives.
In this example directive '#pragma omp simd' has clause 'lastprivate' with the variables 'a' and 'b'.
Definition at line 3131 of file OpenMPClause.h.
using clang::OMPLastprivateClause::helper_expr_const_iterator = ArrayRef<const Expr *>::iterator |
Definition at line 3292 of file OpenMPClause.h.
using clang::OMPLastprivateClause::helper_expr_const_range = llvm::iterator_range<helper_expr_const_iterator> |
Definition at line 3294 of file OpenMPClause.h.
using clang::OMPLastprivateClause::helper_expr_iterator = MutableArrayRef<Expr *>::iterator |
Definition at line 3291 of file OpenMPClause.h.
using clang::OMPLastprivateClause::helper_expr_range = llvm::iterator_range<helper_expr_iterator> |
Definition at line 3293 of file OpenMPClause.h.
|
inline |
Definition at line 3335 of file OpenMPClause.h.
|
inline |
Definition at line 3330 of file OpenMPClause.h.
|
inline |
Definition at line 3340 of file OpenMPClause.h.
References clang::OMPVarListClause< OMPLastprivateClause >::varlist_begin(), and clang::OMPVarListClause< OMPLastprivateClause >::varlist_end().
Referenced by children().
|
inline |
Definition at line 3345 of file OpenMPClause.h.
References children().
Definition at line 3357 of file OpenMPClause.h.
References clang::T.
|
static |
Creates clause with a list of variables VL.
C | AST context. |
StartLoc | Starting location of the clause. |
LParenLoc | Location of '('. |
EndLoc | Ending location of the clause. |
VL | List of references to the variables. |
SrcExprs | List of helper expressions for proper generation of assignment operation required for lastprivate clause. This list represents private variables (for arrays, single array element). |
DstExprs | List of helper expressions for proper generation of assignment operation required for lastprivate clause. This list represents original variables (for arrays, single array element). |
AssignmentOps | List of helper expressions that represents assignment operation: DstExprs = SrcExprs;
|
LPKind | Lastprivate kind, e.g. 'conditional'. |
LPKindLoc | Location of the lastprivate kind. |
ColonLoc | Location of the ':' symbol if lastprivate kind is used. |
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 513 of file OpenMPClause.cpp.
References clang::C, clang::OMPClauseWithPostUpdate::setPostUpdateExpr(), clang::OMPClauseWithPreInit::setPreInitStmt(), and clang::OMPVarListClause< T >::setVarRefs().
Referenced by clang::SemaOpenMP::ActOnOpenMPLastprivateClause().
|
static |
Creates an empty clause with the place for N variables.
C | AST context. |
N | The number of variables. |
Definition at line 531 of file OpenMPClause.cpp.
References clang::C.
Referenced by clang::OMPClauseReader::readClause().
|
inline |
Definition at line 3325 of file OpenMPClause.h.
|
inline |
Definition at line 3320 of file OpenMPClause.h.
|
inline |
Returns the location of the ':' symbol, if any.
Definition at line 3289 of file OpenMPClause.h.
|
inline |
Lastprivate kind.
Definition at line 3285 of file OpenMPClause.h.
|
inline |
Returns the location of the lastprivate kind.
Definition at line 3287 of file OpenMPClause.h.
|
inline |
Definition at line 3306 of file OpenMPClause.h.
|
inline |
Definition at line 3301 of file OpenMPClause.h.
Set list of helper expressions, required for generation of private copies of original lastprivate variables.
Definition at line 485 of file OpenMPClause.cpp.
References clang::OMPVarListClause< OMPLastprivateClause >::varlist_end(), and clang::OMPVarListClause< OMPLastprivateClause >::varlist_size().
|
inline |
Definition at line 3316 of file OpenMPClause.h.
|
inline |
Definition at line 3311 of file OpenMPClause.h.
|
inline |
Definition at line 3350 of file OpenMPClause.h.
|
inline |
Definition at line 3353 of file OpenMPClause.h.
|
friend |
Definition at line 3151 of file OpenMPClause.h.