clang 20.0.0git
Public Member Functions | Static Public Member Functions | List of all members
clang::OMPThreadLimitClause Class Referencefinal

This represents 'thread_limit' clause in the '#pragma omp ...' directive. More...

#include "clang/AST/OpenMPClause.h"

Inheritance diagram for clang::OMPThreadLimitClause:
Inheritance graph
[legend]

Public Member Functions

void setLParenLoc (SourceLocation Loc)
 Sets the location of '('.
 
SourceLocation getLParenLoc () const
 Returns the location of '('.
 
ArrayRef< Expr * > getThreadLimit ()
 Return ThreadLimit expressions.
 
ArrayRef< Expr * > getThreadLimit () const
 Return ThreadLimit expressions.
 
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< OMPThreadLimitClause >
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::OMPClauseWithPreInit
const StmtgetPreInitStmt () const
 Get pre-initialization statement for the clause.
 
StmtgetPreInitStmt ()
 Get pre-initialization statement for the clause.
 
OpenMPDirectiveKind getCaptureRegion () const
 Get capture region for the stmt in the clause.
 

Static Public Member Functions

static OMPThreadLimitClauseCreate (const ASTContext &C, OpenMPDirectiveKind CaptureRegion, SourceLocation StartLoc, SourceLocation LParenLoc, SourceLocation EndLoc, ArrayRef< Expr * > VL, Stmt *PreInit)
 Creates clause with a list of variables VL.
 
static OMPThreadLimitClauseCreateEmpty (const ASTContext &C, unsigned N)
 Creates an empty clause with 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::OMPClauseWithPreInit
static OMPClauseWithPreInitget (OMPClause *C)
 
static const OMPClauseWithPreInitget (const OMPClause *C)
 

Additional Inherited Members

- Public Types inherited from clang::OMPVarListClause< OMPThreadLimitClause >
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 >
 
- Protected Member Functions inherited from clang::OMPVarListClause< OMPThreadLimitClause >
 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::OMPClauseWithPreInit
 OMPClauseWithPreInit (const OMPClause *This)
 
void setPreInitStmt (Stmt *S, OpenMPDirectiveKind ThisRegion=llvm::omp::OMPD_unknown)
 Set pre-initialization statement for the clause.
 

Detailed Description

This represents 'thread_limit' clause in the '#pragma omp ...' directive.

#pragma omp teams thread_limit(n)

In this example directive '#pragma omp teams' has clause 'thread_limit' with single expression 'n'.

When 'ompx_bare' clause exists on a 'target' directive, 'thread_limit' clause can accept up to three expressions.

#pragma omp target teams ompx_bare thread_limit(x, y, z)

Definition at line 6472 of file OpenMPClause.h.

Member Function Documentation

◆ children() [1/2]

child_range clang::OMPThreadLimitClause::children ( )
inline

◆ children() [2/2]

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

Definition at line 6534 of file OpenMPClause.h.

References children().

◆ classof()

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

Definition at line 6546 of file OpenMPClause.h.

References clang::T.

◆ Create()

OMPThreadLimitClause * OMPThreadLimitClause::Create ( const ASTContext C,
OpenMPDirectiveKind  CaptureRegion,
SourceLocation  StartLoc,
SourceLocation  LParenLoc,
SourceLocation  EndLoc,
ArrayRef< Expr * >  VL,
Stmt PreInit 
)
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.
PreInit

Definition at line 1776 of file OpenMPClause.cpp.

References clang::C, clang::OMPClauseWithPreInit::setPreInitStmt(), and clang::OMPVarListClause< T >::setVarRefs().

Referenced by clang::SemaOpenMP::ActOnOpenMPThreadLimitClause().

◆ CreateEmpty()

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

Creates an empty clause with N variables.

Parameters
CAST context.
NThe number of variables.

Definition at line 1788 of file OpenMPClause.cpp.

References clang::C.

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

◆ getLParenLoc()

SourceLocation clang::OMPThreadLimitClause::getLParenLoc ( ) const
inline

Returns the location of '('.

Definition at line 6519 of file OpenMPClause.h.

◆ getThreadLimit() [1/2]

ArrayRef< Expr * > clang::OMPThreadLimitClause::getThreadLimit ( )
inline

Return ThreadLimit expressions.

Definition at line 6522 of file OpenMPClause.h.

References clang::OMPVarListClause< OMPThreadLimitClause >::getVarRefs().

Referenced by getThreadLimit().

◆ getThreadLimit() [2/2]

ArrayRef< Expr * > clang::OMPThreadLimitClause::getThreadLimit ( ) const
inline

Return ThreadLimit expressions.

Definition at line 6525 of file OpenMPClause.h.

References getThreadLimit().

◆ setLParenLoc()

void clang::OMPThreadLimitClause::setLParenLoc ( SourceLocation  Loc)
inline

Sets the location of '('.

Definition at line 6516 of file OpenMPClause.h.

References Loc.

◆ used_children() [1/2]

child_range clang::OMPThreadLimitClause::used_children ( )
inline

Definition at line 6539 of file OpenMPClause.h.

◆ used_children() [2/2]

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

Definition at line 6542 of file OpenMPClause.h.


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