class OMPLastprivateClause
Declaration
class OMPLastprivateClause : public OMPVarListClause,
public OMPClauseWithPostUpdate,
private TrailingObjects { /* full declaration omitted */ };
Description
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'.
Declared at: clang/include/clang/AST/OpenMPClause.h:2728
Inherits from: OMPVarListClause, OMPClauseWithPostUpdate, TrailingObjects
Member Variables
- private clang::OpenMPLastprivateModifier LPKind
- Optional lastprivate kind, e.g. 'conditional', if specified by user.
- private clang::SourceLocation LPKindLoc
- Optional location of the lasptrivate kind, if specified by user.
- private clang::SourceLocation ColonLoc
- Optional colon location, if specified by user.
Method Overview
- public static clang::OMPLastprivateClause * Create(const clang::ASTContext & C, clang::SourceLocation StartLoc, clang::SourceLocation LParenLoc, clang::SourceLocation EndLoc, ArrayRef<clang::Expr *> VL, ArrayRef<clang::Expr *> SrcExprs, ArrayRef<clang::Expr *> DstExprs, ArrayRef<clang::Expr *> AssignmentOps, clang::OpenMPLastprivateModifier LPKind, clang::SourceLocation LPKindLoc, clang::SourceLocation ColonLoc, clang::Stmt * PreInit, clang::Expr * PostUpdate)
- public static clang::OMPLastprivateClause * CreateEmpty(const clang::ASTContext & C, unsigned int N)
- private OMPLastprivateClause(unsigned int N)
- private OMPLastprivateClause(clang::SourceLocation StartLoc, clang::SourceLocation LParenLoc, clang::SourceLocation EndLoc, clang::OpenMPLastprivateModifier LPKind, clang::SourceLocation LPKindLoc, clang::SourceLocation ColonLoc, unsigned int N)
- public clang::OMPLastprivateClause::helper_expr_range assignment_ops()
- public clang::OMPLastprivateClause::helper_expr_const_range assignment_ops() const
- public clang::OMPClause::const_child_range children() const
- public clang::OMPClause::child_range children()
- public static bool classof(const clang::OMPClause * T)
- public clang::OMPLastprivateClause::helper_expr_range destination_exprs()
- public clang::OMPLastprivateClause::helper_expr_const_range destination_exprs() const
- private MutableArrayRef<clang::Expr *> getAssignmentOps()
- private ArrayRef<const clang::Expr *> getAssignmentOps() const
- public clang::SourceLocation getColonLoc() const
- private MutableArrayRef<clang::Expr *> getDestinationExprs()
- private ArrayRef<const clang::Expr *> getDestinationExprs() const
- public clang::OpenMPLastprivateModifier getKind() const
- public clang::SourceLocation getKindLoc() const
- private ArrayRef<const clang::Expr *> getPrivateCopies() const
- private MutableArrayRef<clang::Expr *> getPrivateCopies()
- private MutableArrayRef<clang::Expr *> getSourceExprs()
- private ArrayRef<const clang::Expr *> getSourceExprs() const
- public clang::OMPLastprivateClause::helper_expr_const_range private_copies() const
- public clang::OMPLastprivateClause::helper_expr_range private_copies()
- private void setAssignmentOps(ArrayRef<clang::Expr *> AssignmentOps)
- private void setColonLoc(clang::SourceLocation Loc)
- private void setDestinationExprs(ArrayRef<clang::Expr *> DstExprs)
- private void setKind(clang::OpenMPLastprivateModifier Kind)
- private void setKindLoc(clang::SourceLocation Loc)
- public void setPrivateCopies(ArrayRef<clang::Expr *> PrivateCopies)
- private void setSourceExprs(ArrayRef<clang::Expr *> SrcExprs)
- public clang::OMPLastprivateClause::helper_expr_range source_exprs()
- public clang::OMPLastprivateClause::helper_expr_const_range source_exprs() const
- public clang::OMPClause::child_range used_children()
- public clang::OMPClause::const_child_range used_children() const
Inherited from OMPClauseWithPostUpdate:
Inherited from OMPClauseWithPreInit:
- public get
- public get
- public getCaptureRegion
- public getPreInitStmt
- public getPreInitStmt
- protected setPreInitStmt
Methods
¶static clang::OMPLastprivateClause* Create(
const clang::ASTContext& C,
clang::SourceLocation StartLoc,
clang::SourceLocation LParenLoc,
clang::SourceLocation EndLoc,
ArrayRef<clang::Expr*> VL,
ArrayRef<clang::Expr*> SrcExprs,
ArrayRef<clang::Expr*> DstExprs,
ArrayRef<clang::Expr*> AssignmentOps,
clang::OpenMPLastprivateModifier LPKind,
clang::SourceLocation LPKindLoc,
clang::SourceLocation ColonLoc,
clang::Stmt* PreInit,
clang::Expr* PostUpdate)
static clang::OMPLastprivateClause* Create(
const clang::ASTContext& C,
clang::SourceLocation StartLoc,
clang::SourceLocation LParenLoc,
clang::SourceLocation EndLoc,
ArrayRef<clang::Expr*> VL,
ArrayRef<clang::Expr*> SrcExprs,
ArrayRef<clang::Expr*> DstExprs,
ArrayRef<clang::Expr*> AssignmentOps,
clang::OpenMPLastprivateModifier LPKind,
clang::SourceLocation LPKindLoc,
clang::SourceLocation ColonLoc,
clang::Stmt* PreInit,
clang::Expr* PostUpdate)
Description
Creates clause with a list of variables \a VL. Required for proper codegen of final assignment performed by the lastprivate clause.
Declared at: clang/include/clang/AST/OpenMPClause.h:2869
Parameters
- const clang::ASTContext& C
- AST context.
- clang::SourceLocation StartLoc
- Starting location of the clause.
- clang::SourceLocation LParenLoc
- Location of '('.
- clang::SourceLocation EndLoc
- Ending location of the clause.
- ArrayRef<clang::Expr*> VL
- List of references to the variables.
- ArrayRef<clang::Expr*> 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).
- ArrayRef<clang::Expr*> 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).
- ArrayRef<clang::Expr*> AssignmentOps
- List of helper expressions that represents assignment operation:
- clang::OpenMPLastprivateModifier LPKind
- Lastprivate kind, e.g. 'conditional'.
- clang::SourceLocation LPKindLoc
- Location of the lastprivate kind.
- clang::SourceLocation ColonLoc
- Location of the ':' symbol if lastprivate kind is used.
- clang::Stmt* PreInit
- Statement that must be executed before entering the OpenMP region with this clause.
- clang::Expr* PostUpdate
- Expression that must be executed after exit from the OpenMP region with this clause.
¶static clang::OMPLastprivateClause* CreateEmpty(
const clang::ASTContext& C,
unsigned int N)
static clang::OMPLastprivateClause* CreateEmpty(
const clang::ASTContext& C,
unsigned int N)
Description
Creates an empty clause with the place for \a N variables.
Declared at: clang/include/clang/AST/OpenMPClause.h:2879
Parameters
- const clang::ASTContext& C
- AST context.
- unsigned int N
- The number of variables.
¶OMPLastprivateClause(unsigned int N)
OMPLastprivateClause(unsigned int N)
Description
Build an empty clause.
Declared at: clang/include/clang/AST/OpenMPClause.h:2777
Parameters
- unsigned int N
- Number of variables.
¶OMPLastprivateClause(
clang::SourceLocation StartLoc,
clang::SourceLocation LParenLoc,
clang::SourceLocation EndLoc,
clang::OpenMPLastprivateModifier LPKind,
clang::SourceLocation LPKindLoc,
clang::SourceLocation ColonLoc,
unsigned int N)
OMPLastprivateClause(
clang::SourceLocation StartLoc,
clang::SourceLocation LParenLoc,
clang::SourceLocation EndLoc,
clang::OpenMPLastprivateModifier LPKind,
clang::SourceLocation LPKindLoc,
clang::SourceLocation ColonLoc,
unsigned int N)
Description
Build clause with number of variables \a N.
Declared at: clang/include/clang/AST/OpenMPClause.h:2765
Parameters
- clang::SourceLocation StartLoc
- Starting location of the clause.
- clang::SourceLocation LParenLoc
- Location of '('.
- clang::SourceLocation EndLoc
- Ending location of the clause.
- clang::OpenMPLastprivateModifier LPKind
- clang::SourceLocation LPKindLoc
- clang::SourceLocation ColonLoc
- unsigned int N
- Number of the variables in the clause.
¶clang::OMPLastprivateClause::helper_expr_range
assignment_ops()
clang::OMPLastprivateClause::helper_expr_range
assignment_ops()
Declared at: clang/include/clang/AST/OpenMPClause.h:2932
¶clang::OMPLastprivateClause::
helper_expr_const_range
assignment_ops() const
clang::OMPLastprivateClause::
helper_expr_const_range
assignment_ops() const
Declared at: clang/include/clang/AST/OpenMPClause.h:2927
¶clang::OMPClause::const_child_range children()
const
clang::OMPClause::const_child_range children()
const
Declared at: clang/include/clang/AST/OpenMPClause.h:2942
¶clang::OMPClause::child_range children()
clang::OMPClause::child_range children()
Declared at: clang/include/clang/AST/OpenMPClause.h:2937
¶static bool classof(const clang::OMPClause* T)
static bool classof(const clang::OMPClause* T)
Declared at: clang/include/clang/AST/OpenMPClause.h:2954
Parameters
- const clang::OMPClause* T
¶clang::OMPLastprivateClause::helper_expr_range
destination_exprs()
clang::OMPLastprivateClause::helper_expr_range
destination_exprs()
Declared at: clang/include/clang/AST/OpenMPClause.h:2922
¶clang::OMPLastprivateClause::
helper_expr_const_range
destination_exprs() const
clang::OMPLastprivateClause::
helper_expr_const_range
destination_exprs() const
Declared at: clang/include/clang/AST/OpenMPClause.h:2917
¶MutableArrayRef<clang::Expr*> getAssignmentOps()
MutableArrayRef<clang::Expr*> getAssignmentOps()
Description
Get the list of helper assignment expressions.
Declared at: clang/include/clang/AST/OpenMPClause.h:2826
¶ArrayRef<const clang::Expr*> getAssignmentOps()
const
ArrayRef<const clang::Expr*> getAssignmentOps()
const
Declared at: clang/include/clang/AST/OpenMPClause.h:2829
¶clang::SourceLocation getColonLoc() const
clang::SourceLocation getColonLoc() const
Description
Returns the location of the ':' symbol, if any.
Declared at: clang/include/clang/AST/OpenMPClause.h:2886
¶MutableArrayRef<clang::Expr*>
getDestinationExprs()
MutableArrayRef<clang::Expr*>
getDestinationExprs()
Description
Get the list of helper destination expressions.
Declared at: clang/include/clang/AST/OpenMPClause.h:2813
¶ArrayRef<const clang::Expr*> getDestinationExprs()
const
ArrayRef<const clang::Expr*> getDestinationExprs()
const
Declared at: clang/include/clang/AST/OpenMPClause.h:2816
¶clang::OpenMPLastprivateModifier getKind() const
clang::OpenMPLastprivateModifier getKind() const
Description
Lastprivate kind.
Declared at: clang/include/clang/AST/OpenMPClause.h:2882
¶clang::SourceLocation getKindLoc() const
clang::SourceLocation getKindLoc() const
Description
Returns the location of the lastprivate kind.
Declared at: clang/include/clang/AST/OpenMPClause.h:2884
¶ArrayRef<const clang::Expr*> getPrivateCopies()
const
ArrayRef<const clang::Expr*> getPrivateCopies()
const
Declared at: clang/include/clang/AST/OpenMPClause.h:2788
¶MutableArrayRef<clang::Expr*> getPrivateCopies()
MutableArrayRef<clang::Expr*> getPrivateCopies()
Description
Get the list of helper expressions for initialization of private copies for lastprivate variables.
Declared at: clang/include/clang/AST/OpenMPClause.h:2785
¶MutableArrayRef<clang::Expr*> getSourceExprs()
MutableArrayRef<clang::Expr*> getSourceExprs()
Description
Get the list of helper source expressions.
Declared at: clang/include/clang/AST/OpenMPClause.h:2799
¶ArrayRef<const clang::Expr*> getSourceExprs()
const
ArrayRef<const clang::Expr*> getSourceExprs()
const
Declared at: clang/include/clang/AST/OpenMPClause.h:2802
¶clang::OMPLastprivateClause::
helper_expr_const_range
private_copies() const
clang::OMPLastprivateClause::
helper_expr_const_range
private_copies() const
Declared at: clang/include/clang/AST/OpenMPClause.h:2898
¶clang::OMPLastprivateClause::helper_expr_range
private_copies()
clang::OMPLastprivateClause::helper_expr_range
private_copies()
Declared at: clang/include/clang/AST/OpenMPClause.h:2903
¶void setAssignmentOps(
ArrayRef<clang::Expr*> AssignmentOps)
void setAssignmentOps(
ArrayRef<clang::Expr*> AssignmentOps)
Description
Set list of helper assignment expressions, required for proper codegen of the clause. These expressions are assignment expressions that assign private copy of the variable to original variable.
Declared at: clang/include/clang/AST/OpenMPClause.h:2823
Parameters
- ArrayRef<clang::Expr*> AssignmentOps
¶void setColonLoc(clang::SourceLocation Loc)
void setColonLoc(clang::SourceLocation Loc)
Description
Sets colon symbol location.
Declared at: clang/include/clang/AST/OpenMPClause.h:2838
Parameters
¶void setDestinationExprs(
ArrayRef<clang::Expr*> DstExprs)
void setDestinationExprs(
ArrayRef<clang::Expr*> DstExprs)
Description
Set list of helper expressions, required for proper codegen of the clause. These expressions represent original variables (for arrays, single array element) in the final assignment statement performed by the lastprivate clause.
Declared at: clang/include/clang/AST/OpenMPClause.h:2810
Parameters
- ArrayRef<clang::Expr*> DstExprs
¶void setKind(
clang::OpenMPLastprivateModifier Kind)
void setKind(
clang::OpenMPLastprivateModifier Kind)
Description
Sets lastprivate kind.
Declared at: clang/include/clang/AST/OpenMPClause.h:2834
Parameters
- clang::OpenMPLastprivateModifier Kind
¶void setKindLoc(clang::SourceLocation Loc)
void setKindLoc(clang::SourceLocation Loc)
Description
Sets location of the lastprivate kind.
Declared at: clang/include/clang/AST/OpenMPClause.h:2836
Parameters
¶void setPrivateCopies(
ArrayRef<clang::Expr*> PrivateCopies)
void setPrivateCopies(
ArrayRef<clang::Expr*> PrivateCopies)
Description
Set list of helper expressions, required for generation of private copies of original lastprivate variables.
Declared at: clang/include/clang/AST/OpenMPClause.h:2896
Parameters
- ArrayRef<clang::Expr*> PrivateCopies
¶void setSourceExprs(
ArrayRef<clang::Expr*> SrcExprs)
void setSourceExprs(
ArrayRef<clang::Expr*> SrcExprs)
Description
Set list of helper expressions, required for proper codegen of the clause. These expressions represent private variables (for arrays, single array element) in the final assignment statement performed by the lastprivate clause.
Declared at: clang/include/clang/AST/OpenMPClause.h:2796
Parameters
- ArrayRef<clang::Expr*> SrcExprs
¶clang::OMPLastprivateClause::helper_expr_range
source_exprs()
clang::OMPLastprivateClause::helper_expr_range
source_exprs()
Declared at: clang/include/clang/AST/OpenMPClause.h:2913
¶clang::OMPLastprivateClause::
helper_expr_const_range
source_exprs() const
clang::OMPLastprivateClause::
helper_expr_const_range
source_exprs() const
Declared at: clang/include/clang/AST/OpenMPClause.h:2908
¶clang::OMPClause::child_range used_children()
clang::OMPClause::child_range used_children()
Declared at: clang/include/clang/AST/OpenMPClause.h:2947
¶clang::OMPClause::const_child_range
used_children() const
clang::OMPClause::const_child_range
used_children() const
Declared at: clang/include/clang/AST/OpenMPClause.h:2950