|
clang 24.0.0git
|
#include "CIRGenBuilder.h"#include "CIRGenFunction.h"#include "CIRGenOpenMPClause.h"#include "CIRGenOpenMPConstructDecomposition.h"#include "mlir/Dialect/OpenMP/OpenMPDialect.h"#include "clang/AST/OpenMPClause.h"#include "clang/AST/StmtOpenMP.h"#include "llvm/ADT/STLFunctionalExtras.h"#include "llvm/Frontend/OpenMP/OMP.h"#include "llvm/Frontend/OpenMP/OMPConstants.h"Go to the source code of this file.
Functions | |
| static mlir::LogicalResult | checkSynthesizedClauses (CIRGenFunction &cgf, const OMPExecutableDirective &s, omp::ConstructQueue::const_iterator item) |
Report item's synthesized clauses as not-yet-implemented: having no AST node, they cannot go through the clause emitters. | |
| static mlir::LogicalResult | emitParallelClauses (CIRGenFunction &cgf, CIRGenModule &cgm, CIRGenBuilderTy &builder, mlir::Location loc, llvm::ArrayRef< const OMPClause * > clauses, mlir::omp::ParallelOperands &clauseOps) |
| template<typename DirectiveTy> | |
| static mlir::LogicalResult | emitParallelOp (CIRGenFunction &cgf, const DirectiveTy &s, const omp::ConstructQueue &queue, omp::ConstructQueue::const_iterator item, mlir::Location begin, mlir::Location end, const mlir::omp::ParallelOperands &clauseOps, llvm::function_ref< mlir::LogicalResult()> emitBody) |
| static mlir::LogicalResult | emitOMPTargetImplicitCaptures (CIRGenFunction &cgf, const OMPExecutableDirective &s, llvm::ArrayRef< const VarDecl * > mapSyms) |
| Check for unsupported implicit captures in a target region. | |
| static mlir::LogicalResult | emitTargetClauses (CIRGenFunction &cgf, CIRGenModule &cgm, CIRGenBuilderTy &builder, mlir::Location loc, llvm::ArrayRef< const OMPClause * > clauses, mlir::omp::TargetExtOperands &clauseOps, llvm::SmallVectorImpl< const VarDecl * > &mapSyms) |
| template<typename DirectiveTy> | |
| static mlir::LogicalResult | emitTargetOp (CIRGenFunction &cgf, const DirectiveTy &s, const omp::ConstructQueue &queue, omp::ConstructQueue::const_iterator item, mlir::Location begin, mlir::Location end, mlir::omp::TargetExtOperands &clauseOps, llvm::ArrayRef< const VarDecl * > mapSyms, llvm::function_ref< mlir::LogicalResult()> emitBody) |
|
static |
Report item's synthesized clauses as not-yet-implemented: having no AST node, they cannot go through the clause emitters.
Definition at line 40 of file CIRGenStmtOpenMP.cpp.
References clang::CIRGen::CIRGenModule::errorNYI(), and clang::CIRGen::CIRGenFunction::getCIRGenModule().
Referenced by clang::CIRGen::CIRGenFunction::emitOMPParallelDirective(), clang::CIRGen::CIRGenFunction::emitOMPTargetDirective(), and clang::CIRGen::CIRGenFunction::emitOMPTargetParallelDirective().
|
static |
Check for unsupported implicit captures in a target region.
Definition at line 287 of file CIRGenStmtOpenMP.cpp.
References clang::CapturedStmt::captures(), clang::CIRGen::CIRGenModule::errorNYI(), and clang::CIRGen::CIRGenFunction::getCIRGenModule().
Referenced by emitTargetOp().
|
static |
Definition at line 55 of file CIRGenStmtOpenMP.cpp.
References clang::CIRGen::OpenMPClauseEmitter::emitIf(), clang::CIRGen::OpenMPClauseEmitter::emitNumThreads(), clang::CIRGen::OpenMPClauseEmitter::emitNYI(), and clang::CIRGen::OpenMPClauseEmitter::emitProcBind().
Referenced by clang::CIRGen::CIRGenFunction::emitOMPParallelDirective(), and clang::CIRGen::CIRGenFunction::emitOMPTargetParallelDirective().
|
static |
Definition at line 74 of file CIRGenStmtOpenMP.cpp.
References emitBody(), clang::CIRGen::CIRGenModule::errorNYI(), clang::CIRGen::CIRGenFunction::getBuilder(), clang::CIRGen::CIRGenFunction::getCIRGenModule(), and clang::CIRGen::omp::isLastItemInQueue().
Referenced by clang::CIRGen::CIRGenFunction::emitOMPParallelDirective(), and clang::CIRGen::CIRGenFunction::emitOMPTargetParallelDirective().
|
static |
Definition at line 326 of file CIRGenStmtOpenMP.cpp.
References clang::CIRGen::OpenMPClauseEmitter::emitMap(), and clang::CIRGen::OpenMPClauseEmitter::emitNYI().
Referenced by clang::CIRGen::CIRGenFunction::emitOMPTargetDirective(), and clang::CIRGen::CIRGenFunction::emitOMPTargetParallelDirective().
|
static |
Definition at line 345 of file CIRGenStmtOpenMP.cpp.
References emitBody(), emitOMPTargetImplicitCaptures(), clang::CIRGen::CIRGenFunction::getAddrOfLocalVar(), clang::CIRGen::Address::getAlignment(), clang::CIRGen::CIRGenFunction::getBuilder(), clang::CIRGen::CIRGenFunction::getMLIRContext(), clang::CIRGen::omp::isLastItemInQueue(), and clang::CIRGen::CIRGenFunction::replaceAddrOfLocalVar().
Referenced by clang::CIRGen::CIRGenFunction::emitOMPTargetDirective(), and clang::CIRGen::CIRGenFunction::emitOMPTargetParallelDirective().