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()

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)

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.