clang
8.0.0
|
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 > |
![]() | |
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 > |
![]() | |
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 | |
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 | getBeginLoc () const |
Returns the starting location of the clause. More... | |
SourceLocation | getEndLoc () 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... | |
OpenMPDirectiveKind | getCaptureRegion () const |
Get capture region for the stmt in 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 | |
![]() | |
OMPVarListClause (OpenMPClauseKind K, SourceLocation StartLoc, SourceLocation LParenLoc, SourceLocation EndLoc, unsigned N) | |
Build a clause with N variables. More... | |
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... | |
![]() | |
OMPClause (OpenMPClauseKind K, SourceLocation StartLoc, SourceLocation EndLoc) | |
![]() | |
OMPClauseWithPostUpdate (const OMPClause *This) | |
void | setPostUpdateExpr (Expr *S) |
Set pre-initialization statement for the clause. More... | |
![]() | |
OMPClauseWithPreInit (const OMPClause *This) | |
void | setPreInitStmt (Stmt *S, OpenMPDirectiveKind ThisRegion=OMPD_unknown) |
Set pre-initialization statement for the clause. More... | |
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 1662 of file OpenMPClause.h.
using clang::OMPLastprivateClause::helper_expr_const_iterator = ArrayRef<const Expr *>::iterator |
Definition at line 1795 of file OpenMPClause.h.
using clang::OMPLastprivateClause::helper_expr_const_range = llvm::iterator_range<helper_expr_const_iterator> |
Definition at line 1798 of file OpenMPClause.h.
using clang::OMPLastprivateClause::helper_expr_iterator = MutableArrayRef<Expr *>::iterator |
Definition at line 1794 of file OpenMPClause.h.
using clang::OMPLastprivateClause::helper_expr_range = llvm::iterator_range<helper_expr_iterator> |
Definition at line 1796 of file OpenMPClause.h.
|
inline |
Definition at line 1833 of file OpenMPClause.h.
Referenced by clang::OMPClauseWriter::VisitOMPClauseWithPostUpdate().
|
inline |
Definition at line 1838 of file OpenMPClause.h.
|
inline |
Definition at line 1843 of file OpenMPClause.h.
Definition at line 1848 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 332 of file OpenMPClause.cpp.
References clang::ASTContext::Allocate(), clang::OMPClauseWithPostUpdate::setPostUpdateExpr(), clang::OMPClauseWithPreInit::setPreInitStmt(), and clang::OMPVarListClause< T >::setVarRefs().
|
static |
Creates an empty clause with the place for N variables.
C | AST context. |
N | The number of variables. |
Definition at line 349 of file OpenMPClause.cpp.
References clang::ASTContext::Allocate().
|
inline |
Definition at line 1823 of file OpenMPClause.h.
Referenced by clang::OMPClauseWriter::VisitOMPClauseWithPostUpdate().
|
inline |
Definition at line 1828 of file OpenMPClause.h.
|
inline |
Definition at line 1804 of file OpenMPClause.h.
Referenced by clang::OMPClauseWriter::VisitOMPClauseWithPostUpdate().
|
inline |
Definition at line 1809 of file OpenMPClause.h.
Set list of helper expressions, required for generation of private copies of original lastprivate variables.
Definition at line 304 of file OpenMPClause.cpp.
Referenced by clang::OMPClauseReader::VisitOMPClauseWithPostUpdate().
|
inline |
Definition at line 1814 of file OpenMPClause.h.
Referenced by clang::OMPClauseWriter::VisitOMPClauseWithPostUpdate().
|
inline |
Definition at line 1819 of file OpenMPClause.h.
|
friend |
Definition at line 1682 of file OpenMPClause.h.