|
clang 24.0.0git
|
This is a common base class for loop directives ('omp simd', 'omp for', 'omp for simd' etc.). It is responsible for the loop code generation. More...
#include "clang/AST/StmtOpenMP.h"
Static Public Member Functions | |
| static bool | classof (const Stmt *T) |
Protected Member Functions | |
| OMPLoopDirective (StmtClass SC, OpenMPDirectiveKind Kind, SourceLocation StartLoc, SourceLocation EndLoc, unsigned CollapsedNum) | |
| Build instance of loop directive of class Kind. | |
| void | setIterationVariable (Expr *IV) |
| void | setLastIteration (Expr *LI) |
| void | setCalcLastIteration (Expr *CLI) |
| void | setPreCond (Expr *PC) |
| void | setCond (Expr *Cond) |
| void | setInit (Expr *Init) |
| void | setInc (Expr *Inc) |
| void | setPreInits (Stmt *PreInits) |
| void | setIsLastIterVariable (Expr *IL) |
| void | setLowerBoundVariable (Expr *LB) |
| void | setUpperBoundVariable (Expr *UB) |
| void | setStrideVariable (Expr *ST) |
| void | setEnsureUpperBound (Expr *EUB) |
| void | setNextLowerBound (Expr *NLB) |
| void | setNextUpperBound (Expr *NUB) |
| void | setNumIterations (Expr *NI) |
| void | setPrevLowerBoundVariable (Expr *PrevLB) |
| void | setPrevUpperBoundVariable (Expr *PrevUB) |
| void | setDistInc (Expr *DistInc) |
| void | setPrevEnsureUpperBound (Expr *PrevEUB) |
| void | setCombinedLowerBoundVariable (Expr *CombLB) |
| void | setCombinedUpperBoundVariable (Expr *CombUB) |
| void | setCombinedEnsureUpperBound (Expr *CombEUB) |
| void | setCombinedInit (Expr *CombInit) |
| void | setCombinedCond (Expr *CombCond) |
| void | setCombinedNextLowerBound (Expr *CombNLB) |
| void | setCombinedNextUpperBound (Expr *CombNUB) |
| void | setCombinedDistCond (Expr *CombDistCond) |
| void | setCombinedParForInDistCond (Expr *CombParForInDistCond) |
| void | setCounters (ArrayRef< Expr * > A) |
| void | setPrivateCounters (ArrayRef< Expr * > A) |
| void | setInits (ArrayRef< Expr * > A) |
| void | setUpdates (ArrayRef< Expr * > A) |
| void | setFinals (ArrayRef< Expr * > A) |
| void | setDependentCounters (ArrayRef< Expr * > A) |
| void | setDependentInits (ArrayRef< Expr * > A) |
| void | setFinalsConditions (ArrayRef< Expr * > A) |
Static Protected Member Functions | |
| static unsigned | getArraysOffset (OpenMPDirectiveKind Kind) |
| Offset to the start of children expression arrays. | |
| static unsigned | numLoopChildren (unsigned CollapsedNum, OpenMPDirectiveKind Kind) |
| Children number. | |
Friends | |
| class | ASTStmtReader |
This is a common base class for loop directives ('omp simd', 'omp for', 'omp for simd' etc.). It is responsible for the loop code generation.
Definition at line 1084 of file StmtOpenMP.h.
|
inlineprotected |
Build instance of loop directive of class Kind.
| SC | Statement class. |
| Kind | Kind of OpenMP directive. |
| StartLoc | Starting location of the directive (directive keyword). |
| EndLoc | Ending location of the directive. |
| CollapsedNum | Number of collapsed loops from 'collapse' clause. |
Definition at line 1219 of file StmtOpenMP.h.
Referenced by counters(), dependent_counters(), dependent_inits(), finals(), finals_conditions(), getBody(), inits(), OMPDistributeDirective::OMPExecutableDirective, OMPDistributeParallelForDirective::OMPExecutableDirective, OMPDistributeParallelForSimdDirective::OMPExecutableDirective, OMPDistributeSimdDirective::OMPExecutableDirective, OMPForDirective::OMPExecutableDirective, OMPForSimdDirective::OMPExecutableDirective, OMPGenericLoopDirective::OMPExecutableDirective, OMPMaskedTaskLoopDirective::OMPExecutableDirective, OMPMaskedTaskLoopSimdDirective::OMPExecutableDirective, OMPMasterTaskLoopDirective::OMPExecutableDirective, OMPMasterTaskLoopSimdDirective::OMPExecutableDirective, OMPParallelForDirective::OMPExecutableDirective, OMPParallelForSimdDirective::OMPExecutableDirective, OMPParallelGenericLoopDirective::OMPExecutableDirective, OMPParallelMaskedTaskLoopDirective::OMPExecutableDirective, OMPParallelMaskedTaskLoopSimdDirective::OMPExecutableDirective, OMPParallelMasterTaskLoopDirective::OMPExecutableDirective, OMPParallelMasterTaskLoopSimdDirective::OMPExecutableDirective, OMPSimdDirective::OMPExecutableDirective, OMPTargetParallelForDirective::OMPExecutableDirective, OMPTargetParallelForSimdDirective::OMPExecutableDirective, OMPTargetParallelGenericLoopDirective::OMPExecutableDirective, OMPTargetSimdDirective::OMPExecutableDirective, OMPTargetTeamsDistributeDirective::OMPExecutableDirective, OMPTargetTeamsDistributeParallelForDirective::OMPExecutableDirective, OMPTargetTeamsDistributeParallelForSimdDirective::OMPExecutableDirective, OMPTargetTeamsDistributeSimdDirective::OMPExecutableDirective, OMPTargetTeamsGenericLoopDirective::OMPExecutableDirective, OMPTaskLoopDirective::OMPExecutableDirective, OMPTaskLoopSimdDirective::OMPExecutableDirective, OMPTeamsDistributeDirective::OMPExecutableDirective, OMPTeamsDistributeParallelForDirective::OMPExecutableDirective, OMPTeamsDistributeParallelForSimdDirective::OMPExecutableDirective, OMPTeamsDistributeSimdDirective::OMPExecutableDirective, OMPTeamsGenericLoopDirective::OMPExecutableDirective, private_counters(), and updates().
|
inlinestatic |
Definition at line 1600 of file StmtOpenMP.h.
|
inline |
Definition at line 1552 of file StmtOpenMP.h.
Referenced by clang::CodeGen::CodeGenFunction::EmitOMPPrivateLoopCounters(), and clang::CodeGen::CodeGenFunction::EmitOMPSimdFinal().
|
inline |
Definition at line 1554 of file StmtOpenMP.h.
References OMPLoopDirective().
|
inline |
Definition at line 1582 of file StmtOpenMP.h.
Referenced by emitPreCond().
|
inline |
Definition at line 1584 of file StmtOpenMP.h.
References OMPLoopDirective().
|
inline |
Definition at line 1588 of file StmtOpenMP.h.
Referenced by emitPreCond().
|
inline |
Definition at line 1590 of file StmtOpenMP.h.
References OMPLoopDirective().
|
inline |
Definition at line 1576 of file StmtOpenMP.h.
Referenced by clang::CodeGen::CodeGenFunction::EmitOMPSimdFinal().
|
inline |
Definition at line 1578 of file StmtOpenMP.h.
References OMPLoopDirective().
|
inline |
Definition at line 1594 of file StmtOpenMP.h.
Referenced by clang::CodeGen::CodeGenFunction::EmitOMPLoopBody().
|
inline |
Definition at line 1596 of file StmtOpenMP.h.
References OMPLoopDirective().
|
inlinestaticprotected |
Offset to the start of children expression arrays.
Definition at line 1225 of file StmtOpenMP.h.
Referenced by numLoopChildren().
| Stmt * OMPLoopDirective::getBody | ( | ) |
Definition at line 255 of file StmtOpenMP.cpp.
References clang::Data.
Referenced by clang::CodeGen::CodeGenFunction::EmitOMPLoopBody(), and getBody().
|
inline |
Definition at line 1548 of file StmtOpenMP.h.
References getBody(), and OMPLoopDirective().
|
inline |
Definition at line 1405 of file StmtOpenMP.h.
Referenced by clang::CodeGen::CodeGenFunction::EmitOMPDistributeLoop(), emitOMPSimdRegion(), clang::CodeGen::CodeGenFunction::EmitOMPTaskLoopBasedDirective(), and clang::CodeGen::CodeGenFunction::EmitOMPWorksharingLoop().
|
inline |
Definition at line 1522 of file StmtOpenMP.h.
Referenced by clang::CodeGen::CodeGenFunction::EmitOMPDistributeLoop().
|
inline |
Definition at line 1537 of file StmtOpenMP.h.
Referenced by clang::CodeGen::CodeGenFunction::EmitOMPDistributeLoop().
|
inline |
Definition at line 1512 of file StmtOpenMP.h.
Referenced by clang::CodeGen::CodeGenFunction::EmitOMPDistributeLoop().
|
inline |
Definition at line 1517 of file StmtOpenMP.h.
Referenced by clang::CodeGen::CodeGenFunction::EmitOMPDistributeLoop().
|
inline |
Definition at line 1502 of file StmtOpenMP.h.
Referenced by clang::CodeGen::CodeGenFunction::EmitOMPDistributeLoop().
|
inline |
Definition at line 1527 of file StmtOpenMP.h.
|
inline |
Definition at line 1532 of file StmtOpenMP.h.
|
inline |
Definition at line 1542 of file StmtOpenMP.h.
|
inline |
Definition at line 1507 of file StmtOpenMP.h.
Referenced by clang::CodeGen::CodeGenFunction::EmitOMPDistributeLoop().
|
inline |
Definition at line 1411 of file StmtOpenMP.h.
Referenced by clang::CodeGen::CodeGenFunction::EmitOMPDistributeLoop(), emitOMPSimdRegion(), and clang::CodeGen::CodeGenFunction::EmitOMPTaskLoopBasedDirective().
|
inline |
Definition at line 1492 of file StmtOpenMP.h.
Referenced by clang::CodeGen::CodeGenFunction::EmitOMPDistributeParallelForDirective(), clang::CodeGen::CodeGenFunction::EmitOMPDistributeParallelForSimdDirective(), clang::CodeGen::CodeGenFunction::EmitOMPTeamsDistributeParallelForDirective(), clang::CodeGen::CodeGenFunction::EmitOMPTeamsDistributeParallelForSimdDirective(), emitTargetTeamsDistributeParallelForRegion(), emitTargetTeamsDistributeParallelForSimdRegion(), and emitTargetTeamsGenericLoopRegionAsParallel().
|
inline |
Definition at line 1450 of file StmtOpenMP.h.
Referenced by clang::CodeGen::CodeGenFunction::EmitOMPDistributeLoop(), emitTargetParallelForRegion(), emitTargetParallelForSimdRegion(), emitTargetParallelGenericLoopRegion(), and emitWorksharingDirective().
|
inline |
Definition at line 1413 of file StmtOpenMP.h.
Referenced by emitOMPDistributeDirective(), clang::CodeGen::CodeGenFunction::EmitOMPDistributeSimdDirective(), emitOMPSimdRegion(), clang::CodeGen::CodeGenFunction::EmitOMPTaskLoopBasedDirective(), clang::CodeGen::CodeGenFunction::EmitOMPTeamsDistributeDirective(), clang::CodeGen::CodeGenFunction::EmitOMPTeamsDistributeSimdDirective(), clang::CodeGen::CodeGenFunction::EmitOMPTeamsGenericLoopDirective(), emitTargetTeamsDistributeRegion(), emitTargetTeamsDistributeSimdRegion(), and emitTargetTeamsGenericLoopRegionAsDistribute().
|
inline |
Definition at line 1412 of file StmtOpenMP.h.
Referenced by clang::CodeGen::CodeGenFunction::EmitOMPDistributeLoop(), emitOMPSimdRegion(), and clang::CodeGen::CodeGenFunction::EmitOMPTaskLoopBasedDirective().
|
inline |
Definition at line 1418 of file StmtOpenMP.h.
Referenced by clang::CodeGen::CodeGenFunction::EmitOMPDistributeLoop(), clang::CodeGen::CodeGenFunction::EmitOMPTaskLoopBasedDirective(), and clang::CodeGen::CodeGenFunction::EmitOMPWorksharingLoop().
|
inline |
Definition at line 1399 of file StmtOpenMP.h.
Referenced by emitDistributeParallelForDispatchBounds(), emitDistributeParallelForInnerBounds(), clang::CodeGen::CodeGenFunction::EmitOMPDistributeLoop(), emitOMPSimdRegion(), clang::CodeGen::CodeGenFunction::EmitOMPTaskLoopBasedDirective(), clang::CodeGen::CodeGenFunction::EmitOMPWorksharingLoop(), and clang::CodeGen::CGOpenMPRuntimeGPU::getDefaultDistScheduleAndChunk().
|
inline |
Definition at line 1402 of file StmtOpenMP.h.
Referenced by clang::CodeGen::CodeGenFunction::EmitOMPDistributeLoop(), emitOMPSimdRegion(), clang::CodeGen::CodeGenFunction::EmitOMPTaskLoopBasedDirective(), and clang::CodeGen::CodeGenFunction::EmitOMPWorksharingLoop().
|
inline |
Definition at line 1426 of file StmtOpenMP.h.
Referenced by emitDistributeParallelForInnerBounds(), clang::CodeGen::CodeGenFunction::EmitOMPDistributeLoop(), emitOMPSimdRegion(), clang::CodeGen::CodeGenFunction::EmitOMPTaskLoopBasedDirective(), and clang::CodeGen::CGOpenMPRuntime::emitTaskLoopCall().
|
inline |
Definition at line 1458 of file StmtOpenMP.h.
|
inline |
Definition at line 1466 of file StmtOpenMP.h.
|
inline |
Definition at line 1474 of file StmtOpenMP.h.
Referenced by emitCommonOMPTargetDirective(), clang::CodeGen::CodeGenFunction::EmitOMPParallelForDirective(), clang::CodeGen::CodeGenFunction::EmitOMPParallelForSimdDirective(), and emitWorksharingDirective().
|
inline |
Definition at line 1408 of file StmtOpenMP.h.
Referenced by clang::CodeGen::CodeGenFunction::EmitOMPDistributeLoop(), emitOMPSimdRegion(), clang::CodeGen::CodeGenFunction::EmitOMPTaskLoopBasedDirective(), and clang::CodeGen::CodeGenFunction::EmitOMPWorksharingLoop().
|
inline |
Definition at line 1417 of file StmtOpenMP.h.
|
inline |
Definition at line 1414 of file StmtOpenMP.h.
|
inline |
Definition at line 1497 of file StmtOpenMP.h.
Referenced by emitInnerParallelForWhenCombined().
|
inline |
Definition at line 1482 of file StmtOpenMP.h.
Referenced by emitDistributeParallelForInnerBounds().
|
inline |
Definition at line 1487 of file StmtOpenMP.h.
Referenced by emitDistributeParallelForInnerBounds().
|
inline |
|
inline |
Definition at line 1434 of file StmtOpenMP.h.
Referenced by emitDistributeParallelForInnerBounds(), clang::CodeGen::CodeGenFunction::EmitOMPDistributeLoop(), emitOMPSimdRegion(), clang::CodeGen::CodeGenFunction::EmitOMPTaskLoopBasedDirective(), and clang::CodeGen::CGOpenMPRuntime::emitTaskLoopCall().
|
inline |
Definition at line 1564 of file StmtOpenMP.h.
Referenced by emitPreCond().
|
inline |
Definition at line 1566 of file StmtOpenMP.h.
References OMPLoopDirective().
|
inlinestaticprotected |
Children number.
Definition at line 1235 of file StmtOpenMP.h.
References getArraysOffset().
Referenced by OMPDistributeDirective::Create(), OMPDistributeParallelForDirective::Create(), OMPDistributeParallelForSimdDirective::Create(), OMPDistributeSimdDirective::Create(), OMPForDirective::Create(), OMPForSimdDirective::Create(), OMPGenericLoopDirective::Create(), OMPMaskedTaskLoopDirective::Create(), OMPMaskedTaskLoopSimdDirective::Create(), OMPMasterTaskLoopDirective::Create(), OMPMasterTaskLoopSimdDirective::Create(), OMPParallelForDirective::Create(), OMPParallelForSimdDirective::Create(), OMPParallelGenericLoopDirective::Create(), OMPParallelMaskedTaskLoopDirective::Create(), OMPParallelMaskedTaskLoopSimdDirective::Create(), OMPParallelMasterTaskLoopDirective::Create(), OMPParallelMasterTaskLoopSimdDirective::Create(), OMPSimdDirective::Create(), OMPTargetParallelForDirective::Create(), OMPTargetParallelForSimdDirective::Create(), OMPTargetParallelGenericLoopDirective::Create(), OMPTargetSimdDirective::Create(), OMPTargetTeamsDistributeDirective::Create(), OMPTargetTeamsDistributeParallelForDirective::Create(), OMPTargetTeamsDistributeParallelForSimdDirective::Create(), OMPTargetTeamsDistributeSimdDirective::Create(), OMPTargetTeamsGenericLoopDirective::Create(), OMPTaskLoopDirective::Create(), OMPTaskLoopSimdDirective::Create(), OMPTeamsDistributeDirective::Create(), OMPTeamsDistributeParallelForDirective::Create(), OMPTeamsDistributeParallelForSimdDirective::Create(), OMPTeamsDistributeSimdDirective::Create(), OMPTeamsGenericLoopDirective::Create(), OMPDistributeDirective::CreateEmpty(), OMPDistributeParallelForDirective::CreateEmpty(), OMPDistributeParallelForSimdDirective::CreateEmpty(), OMPDistributeSimdDirective::CreateEmpty(), OMPForDirective::CreateEmpty(), OMPForSimdDirective::CreateEmpty(), OMPGenericLoopDirective::CreateEmpty(), OMPMaskedTaskLoopDirective::CreateEmpty(), OMPMaskedTaskLoopSimdDirective::CreateEmpty(), OMPMasterTaskLoopDirective::CreateEmpty(), OMPMasterTaskLoopSimdDirective::CreateEmpty(), OMPParallelForDirective::CreateEmpty(), OMPParallelForSimdDirective::CreateEmpty(), OMPParallelGenericLoopDirective::CreateEmpty(), OMPParallelMaskedTaskLoopDirective::CreateEmpty(), OMPParallelMaskedTaskLoopSimdDirective::CreateEmpty(), OMPParallelMasterTaskLoopDirective::CreateEmpty(), OMPParallelMasterTaskLoopSimdDirective::CreateEmpty(), OMPSimdDirective::CreateEmpty(), OMPTargetParallelForDirective::CreateEmpty(), OMPTargetParallelForSimdDirective::CreateEmpty(), OMPTargetParallelGenericLoopDirective::CreateEmpty(), OMPTargetSimdDirective::CreateEmpty(), OMPTargetTeamsDistributeDirective::CreateEmpty(), OMPTargetTeamsDistributeParallelForDirective::CreateEmpty(), OMPTargetTeamsDistributeParallelForSimdDirective::CreateEmpty(), OMPTargetTeamsDistributeSimdDirective::CreateEmpty(), OMPTargetTeamsGenericLoopDirective::CreateEmpty(), OMPTaskLoopDirective::CreateEmpty(), OMPTaskLoopSimdDirective::CreateEmpty(), OMPTeamsDistributeDirective::CreateEmpty(), OMPTeamsDistributeParallelForDirective::CreateEmpty(), OMPTeamsDistributeParallelForSimdDirective::CreateEmpty(), OMPTeamsDistributeSimdDirective::CreateEmpty(), OMPTeamsGenericLoopDirective::CreateEmpty(), OMPDistributeParallelForDirective::getTaskReductionRefExpr(), OMPForDirective::getTaskReductionRefExpr(), OMPParallelForDirective::getTaskReductionRefExpr(), OMPTargetParallelForDirective::getTaskReductionRefExpr(), OMPTargetTeamsDistributeParallelForDirective::getTaskReductionRefExpr(), and OMPTeamsDistributeParallelForDirective::getTaskReductionRefExpr().
|
inline |
Definition at line 1558 of file StmtOpenMP.h.
Referenced by clang::CodeGen::CodeGenFunction::EmitOMPPrivateLoopCounters(), and clang::CodeGen::CodeGenFunction::EmitOMPSimdFinal().
|
inline |
Definition at line 1560 of file StmtOpenMP.h.
References OMPLoopDirective().
|
inlineprotected |
Definition at line 1249 of file StmtOpenMP.h.
|
inlineprotected |
Definition at line 1363 of file StmtOpenMP.h.
|
inlineprotected |
Definition at line 1378 of file StmtOpenMP.h.
|
inlineprotected |
Definition at line 1353 of file StmtOpenMP.h.
|
inlineprotected |
Definition at line 1358 of file StmtOpenMP.h.
|
inlineprotected |
Definition at line 1343 of file StmtOpenMP.h.
|
inlineprotected |
Definition at line 1368 of file StmtOpenMP.h.
|
inlineprotected |
Definition at line 1373 of file StmtOpenMP.h.
|
inlineprotected |
Definition at line 1383 of file StmtOpenMP.h.
|
inlineprotected |
Definition at line 1348 of file StmtOpenMP.h.
|
inlineprotected |
Definition at line 1253 of file StmtOpenMP.h.
Definition at line 265 of file StmtOpenMP.cpp.
Definition at line 296 of file StmtOpenMP.cpp.
Definition at line 303 of file StmtOpenMP.cpp.
|
inlineprotected |
Definition at line 1333 of file StmtOpenMP.h.
|
inlineprotected |
Definition at line 1291 of file StmtOpenMP.h.
Definition at line 290 of file StmtOpenMP.cpp.
References clang::getFinals().
Definition at line 309 of file StmtOpenMP.cpp.
|
inlineprotected |
Definition at line 1255 of file StmtOpenMP.h.
|
inlineprotected |
Definition at line 1254 of file StmtOpenMP.h.
Definition at line 278 of file StmtOpenMP.cpp.
References clang::getInits().
|
inlineprotected |
Definition at line 1259 of file StmtOpenMP.h.
|
inlineprotected |
Definition at line 1243 of file StmtOpenMP.h.
|
inlineprotected |
Definition at line 1246 of file StmtOpenMP.h.
|
inlineprotected |
Definition at line 1267 of file StmtOpenMP.h.
|
inlineprotected |
Definition at line 1299 of file StmtOpenMP.h.
|
inlineprotected |
Definition at line 1307 of file StmtOpenMP.h.
|
inlineprotected |
Definition at line 1315 of file StmtOpenMP.h.
|
inlineprotected |
Definition at line 1252 of file StmtOpenMP.h.
|
inlineprotected |
Definition at line 1256 of file StmtOpenMP.h.
|
inlineprotected |
Definition at line 1338 of file StmtOpenMP.h.
|
inlineprotected |
Definition at line 1323 of file StmtOpenMP.h.
|
inlineprotected |
Definition at line 1328 of file StmtOpenMP.h.
Definition at line 271 of file StmtOpenMP.cpp.
|
inlineprotected |
Definition at line 1283 of file StmtOpenMP.h.
Definition at line 284 of file StmtOpenMP.cpp.
References clang::getUpdates().
|
inlineprotected |
Definition at line 1275 of file StmtOpenMP.h.
|
inline |
Definition at line 1570 of file StmtOpenMP.h.
Referenced by clang::CodeGen::CodeGenFunction::EmitOMPLoopBody().
|
inline |
Definition at line 1572 of file StmtOpenMP.h.
References OMPLoopDirective().
|
friend |
Definition at line 1085 of file StmtOpenMP.h.
References ASTStmtReader.
Referenced by ASTStmtReader.