clang  13.0.0git
Public Types | Public Member Functions | Static Public Member Functions | Friends | List of all members
clang::OMPCopyinClause Class Referencefinal

This represents clause 'copyin' in the '#pragma omp ...' directives. More...

#include "clang/AST/OpenMPClause.h"

Inheritance diagram for clang::OMPCopyinClause:
Inheritance graph
[legend]
Collaboration diagram for clang::OMPCopyinClause:
Collaboration graph
[legend]

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< OMPCopyinClause >
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

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< OMPCopyinClause >
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...
 
- Public Member Functions inherited from clang::OMPClause
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
 
child_range used_children ()
 Get the iterator range for the expressions used in the clauses. More...
 
const_child_range used_children () const
 

Static Public Member Functions

static OMPCopyinClauseCreate (const ASTContext &C, SourceLocation StartLoc, SourceLocation LParenLoc, SourceLocation EndLoc, ArrayRef< Expr * > VL, ArrayRef< Expr * > SrcExprs, ArrayRef< Expr * > DstExprs, ArrayRef< Expr * > AssignmentOps)
 Creates clause with a list of variables VL. More...
 
static OMPCopyinClauseCreateEmpty (const ASTContext &C, unsigned N)
 Creates an empty clause with N variables. More...
 
static bool classof (const OMPClause *T)
 
- Static Public Member Functions inherited from clang::OMPClause
static bool classof (const OMPClause *)
 

Friends

class OMPClauseReader
 

Additional Inherited Members

- Protected Member Functions inherited from clang::OMPVarListClause< OMPCopyinClause >
 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...
 
- Protected Member Functions inherited from clang::OMPClause
 OMPClause (OpenMPClauseKind K, SourceLocation StartLoc, SourceLocation EndLoc)
 

Detailed Description

This represents clause 'copyin' in the '#pragma omp ...' directives.

#pragma omp parallel copyin(a,b)

In this example directive '#pragma omp parallel' has clause 'copyin' with the variables 'a' and 'b'.

Definition at line 4012 of file OpenMPClause.h.

Member Typedef Documentation

◆ helper_expr_const_iterator

Definition at line 4125 of file OpenMPClause.h.

◆ helper_expr_const_range

Definition at line 4128 of file OpenMPClause.h.

◆ helper_expr_iterator

Definition at line 4124 of file OpenMPClause.h.

◆ helper_expr_range

Definition at line 4126 of file OpenMPClause.h.

Member Function Documentation

◆ assignment_ops() [1/2]

helper_expr_range clang::OMPCopyinClause::assignment_ops ( )
inline

Definition at line 4154 of file OpenMPClause.h.

◆ assignment_ops() [2/2]

helper_expr_const_range clang::OMPCopyinClause::assignment_ops ( ) const
inline

Definition at line 4149 of file OpenMPClause.h.

◆ children() [1/2]

child_range clang::OMPCopyinClause::children ( )
inline

◆ children() [2/2]

const_child_range clang::OMPCopyinClause::children ( ) const
inline

Definition at line 4164 of file OpenMPClause.h.

References children().

◆ classof()

static bool clang::OMPCopyinClause::classof ( const OMPClause T)
inlinestatic

Definition at line 4176 of file OpenMPClause.h.

References clang::OMPClause::getClauseKind().

◆ Create()

OMPCopyinClause * OMPCopyinClause::Create ( const ASTContext C,
SourceLocation  StartLoc,
SourceLocation  LParenLoc,
SourceLocation  EndLoc,
ArrayRef< Expr * >  VL,
ArrayRef< Expr * >  SrcExprs,
ArrayRef< Expr * >  DstExprs,
ArrayRef< Expr * >  AssignmentOps 
)
static

Creates clause with a list of variables VL.

Parameters
CAST context.
StartLocStarting location of the clause.
LParenLocLocation of '('.
EndLocEnding location of the clause.
VLList of references to the variables.
SrcExprsList of helper expressions for proper generation of assignment operation required for copyin clause. This list represents sources.
DstExprsList of helper expressions for proper generation of assignment operation required for copyin clause. This list represents destinations.
AssignmentOpsList of helper expressions that represents assignment operation:
DstExprs = SrcExprs;
Required for proper codegen of propagation of master's thread values of threadprivate variables to local instances of that variables in other implicit threads.

Definition at line 650 of file OpenMPClause.cpp.

References clang::OMPVarListClause< T >::setVarRefs().

Referenced by clang::Sema::ActOnOpenMPCopyinClause().

◆ CreateEmpty()

OMPCopyinClause * OMPCopyinClause::CreateEmpty ( const ASTContext C,
unsigned  N 
)
static

Creates an empty clause with N variables.

Parameters
CAST context.
NThe number of variables.

Definition at line 664 of file OpenMPClause.cpp.

Referenced by clang::OMPClauseReader::readClause().

◆ destination_exprs() [1/2]

helper_expr_range clang::OMPCopyinClause::destination_exprs ( )
inline

Definition at line 4144 of file OpenMPClause.h.

◆ destination_exprs() [2/2]

helper_expr_const_range clang::OMPCopyinClause::destination_exprs ( ) const
inline

Definition at line 4139 of file OpenMPClause.h.

◆ source_exprs() [1/2]

helper_expr_range clang::OMPCopyinClause::source_exprs ( )
inline

Definition at line 4135 of file OpenMPClause.h.

◆ source_exprs() [2/2]

helper_expr_const_range clang::OMPCopyinClause::source_exprs ( ) const
inline

Definition at line 4130 of file OpenMPClause.h.

◆ used_children() [1/2]

child_range clang::OMPCopyinClause::used_children ( )
inline

Definition at line 4169 of file OpenMPClause.h.

◆ used_children() [2/2]

const_child_range clang::OMPCopyinClause::used_children ( ) const
inline

Definition at line 4172 of file OpenMPClause.h.

Friends And Related Function Documentation

◆ OMPClauseReader

friend class OMPClauseReader
friend

Definition at line 4028 of file OpenMPClause.h.


The documentation for this class was generated from the following files: