clang
3.9.0
|
This represents clause 'lastprivate' in the '#pragma omp ...' directives. More...
#include <OpenMPClause.h>
Public Types | |
typedef MutableArrayRef< Expr * > ::iterator | helper_expr_iterator |
typedef ArrayRef< const Expr * > ::iterator | helper_expr_const_iterator |
typedef llvm::iterator_range < helper_expr_iterator > | helper_expr_range |
typedef llvm::iterator_range < helper_expr_const_iterator > | helper_expr_const_range |
![]() | |
typedef MutableArrayRef< Expr * > ::iterator | varlist_iterator |
typedef ArrayRef< const Expr * > ::iterator | varlist_const_iterator |
typedef llvm::iterator_range < varlist_iterator > | varlist_range |
typedef llvm::iterator_range < varlist_const_iterator > | varlist_const_range |
![]() | |
typedef StmtIterator | child_iterator |
typedef ConstStmtIterator | const_child_iterator |
typedef llvm::iterator_range < child_iterator > | child_range |
typedef llvm::iterator_range < const_child_iterator > | const_child_range |
Public Member Functions | |
void | setPrivateCopies (ArrayRef< Expr * > PrivateCopies) |
Set list of helper expressions, required for generation of private copies of original lastprivate variables. More... | |
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 () |
![]() | |
ArrayRef< const Expr * > | getVarRefs () const |
Fetches list of all variables in the clause. More... | |
unsigned | varlist_size () const |
bool | varlist_empty () const |
varlist_range | varlists () |
varlist_const_range | varlists () 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 '('. More... | |
SourceLocation | getLParenLoc () const |
Returns the location of '('. More... | |
![]() | |
SourceLocation | getLocStart () const |
Returns the starting location of the clause. More... | |
SourceLocation | getLocEnd () const |
Returns the ending location of the clause. More... | |
void | setLocStart (SourceLocation Loc) |
Sets the starting location of the clause. More... | |
void | setLocEnd (SourceLocation Loc) |
Sets the ending location of the clause. More... | |
OpenMPClauseKind | getClauseKind () const |
Returns kind of OpenMP clause (private, shared, reduction, etc.). More... | |
bool | isImplicit () const |
child_range | children () |
const_child_range | children () const |
![]() | |
const Expr * | getPostUpdateExpr () const |
Get post-update expression for the clause. More... | |
Expr * | getPostUpdateExpr () |
Get post-update expression for the clause. More... | |
![]() | |
const Stmt * | getPreInitStmt () const |
Get pre-initialization statement for the clause. More... | |
Stmt * | getPreInitStmt () |
Get pre-initialization statement for the clause. More... | |
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, Stmt *PreInit, Expr *PostUpdate) |
Creates clause with a list of variables VL. More... | |
static OMPLastprivateClause * | CreateEmpty (const ASTContext &C, unsigned N) |
Creates an empty clause with the place for N variables. More... | |
static bool | classof (const OMPClause *T) |
![]() | |
static bool | classof (const OMPClause *) |
![]() | |
static OMPClauseWithPostUpdate * | get (OMPClause *C) |
static const OMPClauseWithPostUpdate * | get (const OMPClause *C) |
![]() | |
static OMPClauseWithPreInit * | get (OMPClause *C) |
static const OMPClauseWithPreInit * | get (const OMPClause *C) |
Friends | |
class | OMPClauseReader |
Additional Inherited Members | |
![]() | |
MutableArrayRef< Expr * > | getVarRefs () |
Fetches list of variables associated with this clause. More... | |
void | setVarRefs (ArrayRef< Expr * > VL) |
Sets the list of variables for this clause. More... | |
OMPVarListClause (OpenMPClauseKind K, SourceLocation StartLoc, SourceLocation LParenLoc, SourceLocation EndLoc, unsigned N) | |
Build a clause with N variables. More... | |
![]() | |
OMPClause (OpenMPClauseKind K, SourceLocation StartLoc, SourceLocation EndLoc) | |
![]() | |
void | setPostUpdateExpr (Expr *S) |
Set pre-initialization statement for the clause. More... | |
OMPClauseWithPostUpdate (const OMPClause *This) | |
![]() | |
void | setPreInitStmt (Stmt *S) |
Set pre-initialization statement for the clause. More... | |
OMPClauseWithPreInit (const OMPClause *This) | |
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 1406 of file OpenMPClause.h.
typedef ArrayRef<const Expr *>::iterator clang::OMPLastprivateClause::helper_expr_const_iterator |
Definition at line 1543 of file OpenMPClause.h.
typedef llvm::iterator_range<helper_expr_const_iterator> clang::OMPLastprivateClause::helper_expr_const_range |
Definition at line 1546 of file OpenMPClause.h.
Definition at line 1542 of file OpenMPClause.h.
typedef llvm::iterator_range<helper_expr_iterator> clang::OMPLastprivateClause::helper_expr_range |
Definition at line 1544 of file OpenMPClause.h.
|
inline |
Definition at line 1575 of file OpenMPClause.h.
References clang::begin(), and clang::end().
|
inline |
Definition at line 1579 of file OpenMPClause.h.
References clang::begin(), and clang::end().
|
inline |
Definition at line 1584 of file OpenMPClause.h.
References clang::OMPVarListClause< OMPLastprivateClause >::varlist_begin(), and clang::OMPVarListClause< OMPLastprivateClause >::varlist_end().
Definition at line 1589 of file OpenMPClause.h.
References clang::OMPClause::getClauseKind().
|
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;
|
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 251 of file OpenMPClause.cpp.
References clang::ASTContext::Allocate(), clang::OMPClauseWithPostUpdate::setPostUpdateExpr(), clang::OMPClauseWithPreInit::setPreInitStmt(), and clang::OMPVarListClause< T >::setVarRefs().
Referenced by clang::Sema::ActOnOpenMPLastprivateClause().
|
static |
Creates an empty clause with the place for N variables.
C | AST context. |
N | The number of variables. |
Definition at line 268 of file OpenMPClause.cpp.
References clang::ASTContext::Allocate().
Referenced by clang::OMPClauseReader::readClause().
|
inline |
Definition at line 1567 of file OpenMPClause.h.
References clang::begin(), and clang::end().
|
inline |
Definition at line 1571 of file OpenMPClause.h.
References clang::begin(), and clang::end().
|
inline |
Definition at line 1552 of file OpenMPClause.h.
References clang::begin(), and clang::end().
|
inline |
Definition at line 1556 of file OpenMPClause.h.
References clang::begin(), and clang::end().
Set list of helper expressions, required for generation of private copies of original lastprivate variables.
Definition at line 223 of file OpenMPClause.cpp.
References clang::OMPVarListClause< OMPLastprivateClause >::varlist_end(), and clang::OMPVarListClause< OMPLastprivateClause >::varlist_size().
|
inline |
Definition at line 1560 of file OpenMPClause.h.
References clang::begin(), and clang::end().
|
inline |
Definition at line 1564 of file OpenMPClause.h.
References clang::begin(), and clang::end().
|
friend |
Definition at line 1429 of file OpenMPClause.h.