14#include "mlir/Dialect/OpenMP/OpenMPDialect.h"
20template <
typename OpTy>
21class OpenMPClauseCIREmitter final
24 CIRGen::CIRGenFunction &cgf;
25 CIRGen::CIRGenBuilderTy &builder;
28 OpenMPClauseCIREmitter(OpTy &operation, CIRGen::CIRGenFunction &cgf,
29 CIRGen::CIRGenBuilderTy &builder)
30 : operation(operation), cgf(cgf), builder(builder) {}
32 void VisitOMPClause(
const OMPClause *clause) {
33 cgf.cgm.errorNYI(clause->
getBeginLoc(),
"OpenMPClause ",
37 void emitClauses(ArrayRef<const OMPClause *> clauses) {
38 for (
const auto *
c : clauses)
42template <
typename OpTy>
45 return OpenMPClauseCIREmitter<OpTy>(op, cgf, builder);
50void CIRGenFunction::emitOpenMPClauses(Op &op,
52 mlir::OpBuilder::InsertionGuard guardCase(builder);
53 builder.setInsertionPoint(op);
54 makeClauseEmitter(op, *
this, builder).emitClauses(clauses);
60 template void CIRGenFunction::emitOpenMPClauses<N>( \
61 N &, ArrayRef<const OMPClause *>);
__device__ __2f16 float c
SourceLocation getBeginLoc() const
Returns the starting location of the clause.
OpenMPClauseKind getClauseKind() const
Returns kind of OpenMP clause (private, shared, reduction, etc.).
The JSON file list parser is used to communicate input to InstallAPI.