struct OMPLoopBasedDirective::HelperExprs
Declaration
struct OMPLoopBasedDirective::HelperExprs { /* full declaration omitted */ };
Description
The expressions built for the OpenMP loop CodeGen for the whole collapsed loop nest.
Declared at: clang/include/clang/AST/StmtOpenMP.h:740
Member Variables
- public clang::Expr* IterationVarRef
- Loop iteration variable.
- public clang::Expr* LastIteration
- Loop last iteration number.
- public clang::Expr* NumIterations
- Loop number of iterations.
- public clang::Expr* CalcLastIteration
- Calculation of last iteration.
- public clang::Expr* PreCond
- Loop pre-condition.
- public clang::Expr* Cond
- Loop condition.
- public clang::Expr* Init
- Loop iteration variable init.
- public clang::Expr* Inc
- Loop increment.
- public clang::Expr* IL
- IsLastIteration - local flag variable passed to runtime.
- public clang::Expr* LB
- LowerBound - local variable passed to runtime.
- public clang::Expr* UB
- UpperBound - local variable passed to runtime.
- public clang::Expr* ST
- Stride - local variable passed to runtime.
- public clang::Expr* EUB
- EnsureUpperBound -- expression UB = min(UB, NumIterations).
- public clang::Expr* NLB
- Update of LowerBound for statically scheduled 'omp for' loops.
- public clang::Expr* NUB
- Update of UpperBound for statically scheduled 'omp for' loops.
- public clang::Expr* PrevLB
- PreviousLowerBound - local variable passed to runtime in the enclosing schedule or null if that does not apply.
- public clang::Expr* PrevUB
- PreviousUpperBound - local variable passed to runtime in the enclosing schedule or null if that does not apply.
- public clang::Expr* DistInc
- DistInc - increment expression for distribute loop when found combined with a further loop level (e.g. in 'distribute parallel for') expression IV = IV + ST
- public clang::Expr* 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)
- public SmallVector<clang::Expr*, 4> Counters
- Counters Loop counters.
- public SmallVector<clang::Expr*, 4> PrivateCounters
- PrivateCounters Loop counters.
- public SmallVector<clang::Expr*, 4> Inits
- Expressions for loop counters inits for CodeGen.
- public SmallVector<clang::Expr*, 4> Updates
- Expressions for loop counters update for CodeGen.
- public SmallVector<clang::Expr*, 4> Finals
- Final loop counter values for GodeGen.
- public SmallVector<clang::Expr*, 4> DependentCounters
- List of counters required for the generation of the non-rectangular loops.
- public SmallVector<clang::Expr*, 4> DependentInits
- List of initializers required for the generation of the non-rectangular loops.
- public SmallVector<clang::Expr*, 4> FinalsConditions
- List of final conditions required for the generation of the non-rectangular loops.
- public clang::Stmt* PreInits
- Init statement for all captured expressions.
- public clang::OMPLoopBasedDirective:: DistCombinedHelperExprs DistCombinedFields
- Expressions used when combining OpenMP loop pragmas
Method Overview
Methods
¶bool builtAll()
bool builtAll()
Description
Check if all the expressions are built (does not check the worksharing ones).
Declared at: clang/include/clang/AST/StmtOpenMP.h:814
¶void clear(unsigned int Size)
void clear(unsigned int Size)
Description
Initialize all the fields to null.
Declared at: clang/include/clang/AST/StmtOpenMP.h:824
Parameters
- unsigned int Size
- Number of elements in the counters/finals/updates/dependent_counters/dependent_inits/finals_conditions arrays.