clang 23.0.0git
clang::CIRGen::OpenMPClauseEmitter Class Reference

Emits OpenMP clauses for a directive, writing results into the auto-generated ClauseOps from the OMP dialect. More...

#include "/work/as-worker-4/publish-doxygen-docs/llvm-project/clang/lib/CIR/CodeGen/CIRGenOpenMPClause.h"

Public Member Functions

 OpenMPClauseEmitter (CIRGenFunction &cgf, CIRGenModule &cgm, CIRGenBuilderTy &builder, mlir::Location loc, llvm::ArrayRef< const OMPClause * > clauses)
bool emitProcBind (mlir::omp::ProcBindClauseOps &result) const
bool emitMap (mlir::omp::MapClauseOps &result, llvm::SmallVectorImpl< const VarDecl * > *mapSyms=nullptr) const
 Emit map clauses.
template<typename... SupportedClauses, typename... NYIClauses>
void emitNYI (OpenMPNYIClauseList< NYIClauses... > nyi, llvm::omp::Directive directive) const
 Verify the clauses of a directive to make sure all legal cases are either implemented or give a NYI error.

Detailed Description

Emits OpenMP clauses for a directive, writing results into the auto-generated ClauseOps from the OMP dialect.

Definition at line 30 of file CIRGenOpenMPClause.h.

Constructor & Destructor Documentation

◆ OpenMPClauseEmitter()

clang::CIRGen::OpenMPClauseEmitter::OpenMPClauseEmitter ( CIRGenFunction & cgf,
CIRGenModule & cgm,
CIRGenBuilderTy & builder,
mlir::Location loc,
llvm::ArrayRef< const OMPClause * > clauses )
inline

Definition at line 38 of file CIRGenOpenMPClause.h.

Member Function Documentation

◆ emitMap()

bool OpenMPClauseEmitter::emitMap ( mlir::omp::MapClauseOps & result,
llvm::SmallVectorImpl< const VarDecl * > * mapSyms = nullptr ) const

Emit map clauses.

The optional mapSyms parameter collects the VarDecls corresponding to each map operand.

Definition at line 96 of file CIRGenOpenMPClause.cpp.

References emitMapInfoForVar(), clang::getOpenMPSimpleClauseTypeName(), mapClauseKindToFlags(), and clang::OMPC_MAP_MODIFIER_unknown.

Referenced by clang::CIRGen::CIRGenFunction::emitOMPTargetDirective().

◆ emitNYI()

template<typename... SupportedClauses, typename... NYIClauses>
void clang::CIRGen::OpenMPClauseEmitter::emitNYI ( OpenMPNYIClauseList< NYIClauses... > nyi,
llvm::omp::Directive directive ) const

Verify the clauses of a directive to make sure all legal cases are either implemented or give a NYI error.

The SupportedClauses and NYIClauses type lists must be disjoint and cover all clauses eligible for the directive being processed.

Definition at line 65 of file CIRGenOpenMPClause.h.

References clang::isa().

Referenced by clang::CIRGen::CIRGenFunction::emitOMPParallelDirective(), and clang::CIRGen::CIRGenFunction::emitOMPTargetDirective().

◆ emitProcBind()

bool OpenMPClauseEmitter::emitProcBind ( mlir::omp::ProcBindClauseOps & result) const

Definition at line 77 of file CIRGenOpenMPClause.cpp.

References kind.

Referenced by clang::CIRGen::CIRGenFunction::emitOMPParallelDirective().


The documentation for this class was generated from the following files: