clang
3.9.0
|
The expressions built for the OpenMP loop CodeGen for the whole collapsed loop nest. More...
#include <StmtOpenMP.h>
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 | |
Expr * | IterationVarRef |
Loop iteration variable. More... | |
Expr * | LastIteration |
Loop last iteration number. More... | |
Expr * | NumIterations |
Loop number of iterations. More... | |
Expr * | CalcLastIteration |
Calculation of last iteration. More... | |
Expr * | PreCond |
Loop pre-condition. More... | |
Expr * | Cond |
Loop condition. More... | |
Expr * | Init |
Loop iteration variable init. More... | |
Expr * | Inc |
Loop increment. More... | |
Expr * | IL |
IsLastIteration - local flag variable passed to runtime. More... | |
Expr * | LB |
LowerBound - local variable passed to runtime. More... | |
Expr * | UB |
UpperBound - local variable passed to runtime. More... | |
Expr * | ST |
Stride - local variable passed to runtime. More... | |
Expr * | EUB |
EnsureUpperBound – expression LB = min(LB, NumIterations). More... | |
Expr * | NLB |
Update of LowerBound for statically sheduled 'omp for' loops. More... | |
Expr * | NUB |
Update of UpperBound for statically sheduled 'omp for' loops. More... | |
Expr * | PrevLB |
PreviousLowerBound - local variable passed to runtime in the enclosing schedule or null if that does not apply. More... | |
Expr * | PrevUB |
PreviousUpperBound - local variable passed to runtime in the enclosing schedule or null if that does not apply. 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... | |
Stmt * | PreInits |
Init statement for all captured expressions. More... | |
The expressions built for the OpenMP loop CodeGen for the whole collapsed loop nest.
Definition at line 513 of file StmtOpenMP.h.
|
inline |
Check if all the expressions are built (does not check the worksharing ones).
Definition at line 565 of file StmtOpenMP.h.
References Cond, Inc, Init, IterationVarRef, LastIteration, NumIterations, and PreCond.
Referenced by clang::Sema::ActOnOpenMPDistributeDirective(), clang::Sema::ActOnOpenMPDistributeParallelForDirective(), clang::Sema::ActOnOpenMPDistributeParallelForSimdDirective(), clang::Sema::ActOnOpenMPDistributeSimdDirective(), clang::Sema::ActOnOpenMPForDirective(), clang::Sema::ActOnOpenMPForSimdDirective(), clang::Sema::ActOnOpenMPParallelForDirective(), clang::Sema::ActOnOpenMPSimdDirective(), clang::Sema::ActOnOpenMPTargetParallelForDirective(), clang::Sema::ActOnOpenMPTargetParallelForSimdDirective(), clang::Sema::ActOnOpenMPTaskLoopDirective(), and clang::Sema::ActOnOpenMPTaskLoopSimdDirective().
|
inline |
Initialize all the fields to null.
Size | Number of elements in the counters/finals/updates arrays. |
Definition at line 573 of file StmtOpenMP.h.
References CalcLastIteration, Cond, Counters, EUB, Finals, IL, Inc, Init, Inits, IterationVarRef, LastIteration, LB, NLB, NUB, NumIterations, PreCond, PreInits, PrevLB, PrevUB, PrivateCounters, ST, UB, and Updates.
Referenced by CheckOpenMPLoop().
Expr* clang::OMPLoopDirective::HelperExprs::CalcLastIteration |
Calculation of last iteration.
Definition at line 521 of file StmtOpenMP.h.
Referenced by 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(), and clang::OMPTargetParallelForSimdDirective::Create().
Expr* clang::OMPLoopDirective::HelperExprs::Cond |
Loop condition.
Definition at line 525 of file StmtOpenMP.h.
Referenced by 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(), and clang::OMPTargetParallelForSimdDirective::Create().
SmallVector<Expr *, 4> clang::OMPLoopDirective::HelperExprs::Counters |
Counters Loop counters.
Definition at line 551 of file StmtOpenMP.h.
Referenced by 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(), and clang::OMPTargetParallelForSimdDirective::Create().
Expr* clang::OMPLoopDirective::HelperExprs::EUB |
EnsureUpperBound – expression LB = min(LB, NumIterations).
Definition at line 539 of file StmtOpenMP.h.
Referenced by 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(), and clang::OMPTargetParallelForSimdDirective::Create().
SmallVector<Expr *, 4> clang::OMPLoopDirective::HelperExprs::Finals |
Final loop counter values for GodeGen.
Definition at line 559 of file StmtOpenMP.h.
Referenced by 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(), and clang::OMPTargetParallelForSimdDirective::Create().
Expr* clang::OMPLoopDirective::HelperExprs::IL |
IsLastIteration - local flag variable passed to runtime.
Definition at line 531 of file StmtOpenMP.h.
Referenced by 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(), and clang::OMPTargetParallelForSimdDirective::Create().
Expr* clang::OMPLoopDirective::HelperExprs::Inc |
Loop increment.
Definition at line 529 of file StmtOpenMP.h.
Referenced by 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(), and clang::OMPTargetParallelForSimdDirective::Create().
Expr* clang::OMPLoopDirective::HelperExprs::Init |
Loop iteration variable init.
Definition at line 527 of file StmtOpenMP.h.
Referenced by 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(), and clang::OMPTargetParallelForSimdDirective::Create().
SmallVector<Expr *, 4> clang::OMPLoopDirective::HelperExprs::Inits |
Expressions for loop counters inits for CodeGen.
Definition at line 555 of file StmtOpenMP.h.
Referenced by 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(), and clang::OMPTargetParallelForSimdDirective::Create().
Expr* clang::OMPLoopDirective::HelperExprs::IterationVarRef |
Loop iteration variable.
Definition at line 515 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::ActOnOpenMPTaskLoopSimdDirective(), 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(), and clang::OMPTargetParallelForSimdDirective::Create().
Expr* clang::OMPLoopDirective::HelperExprs::LastIteration |
Loop last iteration number.
Definition at line 517 of file StmtOpenMP.h.
Referenced by 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(), and clang::OMPTargetParallelForSimdDirective::Create().
Expr* clang::OMPLoopDirective::HelperExprs::LB |
LowerBound - local variable passed to runtime.
Definition at line 533 of file StmtOpenMP.h.
Referenced by 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(), and clang::OMPTargetParallelForSimdDirective::Create().
Expr* clang::OMPLoopDirective::HelperExprs::NLB |
Update of LowerBound for statically sheduled 'omp for' loops.
Definition at line 541 of file StmtOpenMP.h.
Referenced by 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(), and clang::OMPTargetParallelForSimdDirective::Create().
Expr* clang::OMPLoopDirective::HelperExprs::NUB |
Update of UpperBound for statically sheduled 'omp for' loops.
Definition at line 543 of file StmtOpenMP.h.
Referenced by 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(), and clang::OMPTargetParallelForSimdDirective::Create().
Expr* clang::OMPLoopDirective::HelperExprs::NumIterations |
Loop number of iterations.
Definition at line 519 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::ActOnOpenMPTaskLoopSimdDirective(), 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(), and clang::OMPTargetParallelForSimdDirective::Create().
Expr* clang::OMPLoopDirective::HelperExprs::PreCond |
Loop pre-condition.
Definition at line 523 of file StmtOpenMP.h.
Referenced by 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(), and clang::OMPTargetParallelForSimdDirective::Create().
Stmt* clang::OMPLoopDirective::HelperExprs::PreInits |
Init statement for all captured expressions.
Definition at line 561 of file StmtOpenMP.h.
Referenced by 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(), and clang::OMPTargetParallelForSimdDirective::Create().
Expr* clang::OMPLoopDirective::HelperExprs::PrevLB |
PreviousLowerBound - local variable passed to runtime in the enclosing schedule or null if that does not apply.
Definition at line 546 of file StmtOpenMP.h.
Referenced by 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(), and clang::OMPTargetParallelForSimdDirective::Create().
Expr* clang::OMPLoopDirective::HelperExprs::PrevUB |
PreviousUpperBound - local variable passed to runtime in the enclosing schedule or null if that does not apply.
Definition at line 549 of file StmtOpenMP.h.
Referenced by 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(), and clang::OMPTargetParallelForSimdDirective::Create().
SmallVector<Expr *, 4> clang::OMPLoopDirective::HelperExprs::PrivateCounters |
PrivateCounters Loop counters.
Definition at line 553 of file StmtOpenMP.h.
Referenced by 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(), and clang::OMPTargetParallelForSimdDirective::Create().
Expr* clang::OMPLoopDirective::HelperExprs::ST |
Stride - local variable passed to runtime.
Definition at line 537 of file StmtOpenMP.h.
Referenced by 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(), and clang::OMPTargetParallelForSimdDirective::Create().
Expr* clang::OMPLoopDirective::HelperExprs::UB |
UpperBound - local variable passed to runtime.
Definition at line 535 of file StmtOpenMP.h.
Referenced by 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(), and clang::OMPTargetParallelForSimdDirective::Create().
SmallVector<Expr *, 4> clang::OMPLoopDirective::HelperExprs::Updates |
Expressions for loop counters update for CodeGen.
Definition at line 557 of file StmtOpenMP.h.
Referenced by 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(), and clang::OMPTargetParallelForSimdDirective::Create().