clang  5.0.0
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:
[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

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

Member Data Documentation

Expr* clang::OMPLoopDirective::HelperExprs::CalcLastIteration
Expr* clang::OMPLoopDirective::HelperExprs::Cond
SmallVector<Expr *, 4> clang::OMPLoopDirective::HelperExprs::Counters
DistCombinedHelperExprs clang::OMPLoopDirective::HelperExprs::DistCombinedFields
Expr* clang::OMPLoopDirective::HelperExprs::DistInc
Expr* clang::OMPLoopDirective::HelperExprs::EUB
SmallVector<Expr *, 4> clang::OMPLoopDirective::HelperExprs::Finals
Expr* clang::OMPLoopDirective::HelperExprs::IL
Expr* clang::OMPLoopDirective::HelperExprs::Inc
Expr* clang::OMPLoopDirective::HelperExprs::Init
SmallVector<Expr *, 4> clang::OMPLoopDirective::HelperExprs::Inits
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(), builtAll(), CheckOpenMPLoop(), clear(), 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().

Expr* clang::OMPLoopDirective::HelperExprs::LastIteration
Expr* clang::OMPLoopDirective::HelperExprs::LB
Expr* clang::OMPLoopDirective::HelperExprs::NLB
Expr* clang::OMPLoopDirective::HelperExprs::NUB
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(), builtAll(), CheckOpenMPLoop(), clear(), 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().

Expr* clang::OMPLoopDirective::HelperExprs::PreCond
Stmt* clang::OMPLoopDirective::HelperExprs::PreInits
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(), clear(), clang::OMPDistributeParallelForDirective::Create(), clang::OMPDistributeParallelForSimdDirective::Create(), clang::OMPTeamsDistributeParallelForSimdDirective::Create(), clang::OMPTeamsDistributeParallelForDirective::Create(), clang::OMPTargetTeamsDistributeParallelForDirective::Create(), and clang::OMPTargetTeamsDistributeParallelForSimdDirective::Create().

Expr* clang::OMPLoopDirective::HelperExprs::PrevLB
Expr* clang::OMPLoopDirective::HelperExprs::PrevUB
SmallVector<Expr *, 4> clang::OMPLoopDirective::HelperExprs::PrivateCounters
Expr* clang::OMPLoopDirective::HelperExprs::ST
Expr* clang::OMPLoopDirective::HelperExprs::UB
SmallVector<Expr *, 4> clang::OMPLoopDirective::HelperExprs::Updates

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