clang  6.0.0svn
Public Member Functions | Public Attributes | List of all members
clang::OMPLoopDirective::HelperExprs Struct Reference

The expressions built for the OpenMP loop CodeGen for the whole collapsed loop nest. More...

#include "clang/AST/StmtOpenMP.h"

Collaboration diagram for clang::OMPLoopDirective::HelperExprs:
Collaboration graph
[legend]

Public Member Functions

bool builtAll ()
 Check if all the expressions are built (does not check the worksharing ones). More...
 
void clear (unsigned Size)
 Initialize all the fields to null. More...
 

Public Attributes

ExprIterationVarRef
 Loop iteration variable. More...
 
ExprLastIteration
 Loop last iteration number. More...
 
ExprNumIterations
 Loop number of iterations. More...
 
ExprCalcLastIteration
 Calculation of last iteration. More...
 
ExprPreCond
 Loop pre-condition. More...
 
ExprCond
 Loop condition. More...
 
ExprInit
 Loop iteration variable init. More...
 
ExprInc
 Loop increment. More...
 
ExprIL
 IsLastIteration - local flag variable passed to runtime. More...
 
ExprLB
 LowerBound - local variable passed to runtime. More...
 
ExprUB
 UpperBound - local variable passed to runtime. More...
 
ExprST
 Stride - local variable passed to runtime. More...
 
ExprEUB
 EnsureUpperBound – expression UB = min(UB, NumIterations). More...
 
ExprNLB
 Update of LowerBound for statically sheduled 'omp for' loops. More...
 
ExprNUB
 Update of UpperBound for statically sheduled 'omp for' loops. More...
 
ExprPrevLB
 PreviousLowerBound - local variable passed to runtime in the enclosing schedule or null if that does not apply. More...
 
ExprPrevUB
 PreviousUpperBound - local variable passed to runtime in the enclosing schedule or null if that does not apply. More...
 
ExprDistInc
 DistInc - increment expression for distribute loop when found combined with a further loop level (e.g. More...
 
ExprPrevEUB
 PrevEUB - expression similar to EUB but to be used when loop scheduling uses PrevLB and PrevUB (e.g. More...
 
SmallVector< Expr *, 4 > Counters
 Counters Loop counters. More...
 
SmallVector< Expr *, 4 > PrivateCounters
 PrivateCounters Loop counters. More...
 
SmallVector< Expr *, 4 > Inits
 Expressions for loop counters inits for CodeGen. More...
 
SmallVector< Expr *, 4 > Updates
 Expressions for loop counters update for CodeGen. More...
 
SmallVector< Expr *, 4 > Finals
 Final loop counter values for GodeGen. More...
 
StmtPreInits
 Init statement for all captured expressions. More...
 
DistCombinedHelperExprs DistCombinedFields
 Expressions used when combining OpenMP loop pragmas. More...
 

Detailed Description

The expressions built for the OpenMP loop CodeGen for the whole collapsed loop nest.

Definition at line 619 of file StmtOpenMP.h.

Member Function Documentation

◆ builtAll()

bool clang::OMPLoopDirective::HelperExprs::builtAll ( )
inline

◆ clear()

void clang::OMPLoopDirective::HelperExprs::clear ( unsigned  Size)
inline

Member Data Documentation

◆ CalcLastIteration

Expr* clang::OMPLoopDirective::HelperExprs::CalcLastIteration

◆ Cond

Expr* clang::OMPLoopDirective::HelperExprs::Cond

◆ Counters

SmallVector<Expr *, 4> clang::OMPLoopDirective::HelperExprs::Counters

◆ DistCombinedFields

DistCombinedHelperExprs clang::OMPLoopDirective::HelperExprs::DistCombinedFields

◆ DistInc

Expr* clang::OMPLoopDirective::HelperExprs::DistInc

◆ EUB

Expr* clang::OMPLoopDirective::HelperExprs::EUB

◆ Finals

SmallVector<Expr *, 4> clang::OMPLoopDirective::HelperExprs::Finals

◆ IL

Expr* clang::OMPLoopDirective::HelperExprs::IL

◆ Inc

Expr* clang::OMPLoopDirective::HelperExprs::Inc

◆ Init

Expr* clang::OMPLoopDirective::HelperExprs::Init

◆ Inits

SmallVector<Expr *, 4> clang::OMPLoopDirective::HelperExprs::Inits

◆ IterationVarRef

Expr* clang::OMPLoopDirective::HelperExprs::IterationVarRef

Loop iteration variable.

Definition at line 621 of file StmtOpenMP.h.

Referenced by clang::Sema::ActOnOpenMPForDirective(), clang::Sema::ActOnOpenMPForSimdDirective(), clang::Sema::ActOnOpenMPParallelForDirective(), clang::Sema::ActOnOpenMPParallelForSimdDirective(), clang::Sema::ActOnOpenMPSimdDirective(), clang::Sema::ActOnOpenMPTargetParallelForDirective(), clang::Sema::ActOnOpenMPTargetParallelForSimdDirective(), clang::Sema::ActOnOpenMPTargetSimdDirective(), clang::Sema::ActOnOpenMPTargetTeamsDistributeParallelForDirective(), clang::Sema::ActOnOpenMPTargetTeamsDistributeParallelForSimdDirective(), clang::Sema::ActOnOpenMPTaskLoopSimdDirective(), clang::Sema::ActOnOpenMPTeamsDistributeParallelForDirective(), clang::Sema::ActOnOpenMPTeamsDistributeParallelForSimdDirective(), clang::Sema::ActOnOpenMPTeamsDistributeSimdDirective(), CheckOpenMPLoop(), clang::OMPSimdDirective::Create(), clang::OMPForDirective::Create(), clang::OMPForSimdDirective::Create(), clang::OMPParallelForDirective::Create(), clang::OMPParallelForSimdDirective::Create(), clang::OMPTargetParallelForDirective::Create(), clang::OMPTaskLoopDirective::Create(), clang::OMPTaskLoopSimdDirective::Create(), clang::OMPDistributeDirective::Create(), clang::OMPDistributeParallelForDirective::Create(), clang::OMPDistributeParallelForSimdDirective::Create(), clang::OMPDistributeSimdDirective::Create(), clang::OMPTargetParallelForSimdDirective::Create(), clang::OMPTargetSimdDirective::Create(), clang::OMPTeamsDistributeDirective::Create(), clang::OMPTeamsDistributeSimdDirective::Create(), clang::OMPTeamsDistributeParallelForSimdDirective::Create(), clang::OMPTeamsDistributeParallelForDirective::Create(), clang::OMPTargetTeamsDistributeDirective::Create(), clang::OMPTargetTeamsDistributeParallelForDirective::Create(), clang::OMPTargetTeamsDistributeParallelForSimdDirective::Create(), and clang::OMPTargetTeamsDistributeSimdDirective::Create().

◆ LastIteration

Expr* clang::OMPLoopDirective::HelperExprs::LastIteration

◆ LB

Expr* clang::OMPLoopDirective::HelperExprs::LB

◆ NLB

Expr* clang::OMPLoopDirective::HelperExprs::NLB

◆ NUB

Expr* clang::OMPLoopDirective::HelperExprs::NUB

◆ NumIterations

Expr* clang::OMPLoopDirective::HelperExprs::NumIterations

Loop number of iterations.

Definition at line 625 of file StmtOpenMP.h.

Referenced by clang::Sema::ActOnOpenMPForDirective(), clang::Sema::ActOnOpenMPForSimdDirective(), clang::Sema::ActOnOpenMPParallelForDirective(), clang::Sema::ActOnOpenMPParallelForSimdDirective(), clang::Sema::ActOnOpenMPSimdDirective(), clang::Sema::ActOnOpenMPTargetParallelForDirective(), clang::Sema::ActOnOpenMPTargetParallelForSimdDirective(), clang::Sema::ActOnOpenMPTargetSimdDirective(), clang::Sema::ActOnOpenMPTargetTeamsDistributeParallelForDirective(), clang::Sema::ActOnOpenMPTargetTeamsDistributeParallelForSimdDirective(), clang::Sema::ActOnOpenMPTaskLoopSimdDirective(), clang::Sema::ActOnOpenMPTeamsDistributeParallelForDirective(), clang::Sema::ActOnOpenMPTeamsDistributeParallelForSimdDirective(), clang::Sema::ActOnOpenMPTeamsDistributeSimdDirective(), CheckOpenMPLoop(), clang::OMPForDirective::Create(), clang::OMPForSimdDirective::Create(), clang::OMPParallelForDirective::Create(), clang::OMPParallelForSimdDirective::Create(), clang::OMPTargetParallelForDirective::Create(), clang::OMPTaskLoopDirective::Create(), clang::OMPTaskLoopSimdDirective::Create(), clang::OMPDistributeDirective::Create(), clang::OMPDistributeParallelForDirective::Create(), clang::OMPDistributeParallelForSimdDirective::Create(), clang::OMPDistributeSimdDirective::Create(), clang::OMPTargetParallelForSimdDirective::Create(), clang::OMPTeamsDistributeDirective::Create(), clang::OMPTeamsDistributeSimdDirective::Create(), clang::OMPTeamsDistributeParallelForSimdDirective::Create(), clang::OMPTeamsDistributeParallelForDirective::Create(), clang::OMPTargetTeamsDistributeDirective::Create(), clang::OMPTargetTeamsDistributeParallelForDirective::Create(), clang::OMPTargetTeamsDistributeParallelForSimdDirective::Create(), and clang::OMPTargetTeamsDistributeSimdDirective::Create().

◆ PreCond

Expr* clang::OMPLoopDirective::HelperExprs::PreCond

◆ PreInits

Stmt* clang::OMPLoopDirective::HelperExprs::PreInits

◆ PrevEUB

Expr* clang::OMPLoopDirective::HelperExprs::PrevEUB

PrevEUB - expression similar to EUB but to be used when loop scheduling uses PrevLB and PrevUB (e.g.

in 'distribute parallel for' when ensuring that the UB is either the calculated UB by the runtime or the end of the assigned distribute chunk) expression UB = min (UB, PrevUB)

Definition at line 665 of file StmtOpenMP.h.

Referenced by CheckOpenMPLoop(), clang::OMPDistributeParallelForDirective::Create(), clang::OMPDistributeParallelForSimdDirective::Create(), clang::OMPTeamsDistributeParallelForSimdDirective::Create(), clang::OMPTeamsDistributeParallelForDirective::Create(), clang::OMPTargetTeamsDistributeParallelForDirective::Create(), and clang::OMPTargetTeamsDistributeParallelForSimdDirective::Create().

◆ PrevLB

Expr* clang::OMPLoopDirective::HelperExprs::PrevLB

◆ PrevUB

Expr* clang::OMPLoopDirective::HelperExprs::PrevUB

◆ PrivateCounters

SmallVector<Expr *, 4> clang::OMPLoopDirective::HelperExprs::PrivateCounters

◆ ST

Expr* clang::OMPLoopDirective::HelperExprs::ST

◆ UB

Expr* clang::OMPLoopDirective::HelperExprs::UB

◆ Updates

SmallVector<Expr *, 4> clang::OMPLoopDirective::HelperExprs::Updates

The documentation for this struct was generated from the following file: