13#ifndef FORTRAN_LOWER_CUDA_H
14#define FORTRAN_LOWER_CUDA_H
16#include "flang/Optimizer/Builder/FIRBuilder.h"
17#include "flang/Optimizer/Dialect/CUF/CUFOps.h"
18#include "flang/Semantics/tools.h"
19#include "mlir/Dialect/Func/IR/FuncOps.h"
20#include "mlir/Dialect/OpenACC/OpenACC.h"
29 if (builder.
getRegion().getParentOfType<cuf::KernelOp>())
32 .getParentOfType<mlir::acc::ComputeRegionOpInterface>())
34 if (
auto funcOp = builder.
getRegion().getParentOfType<mlir::func::FuncOp>()) {
35 if (
auto cudaProcAttr =
36 funcOp.getOperation()->getAttrOfType<cuf::ProcAttributeAttr>(
37 cuf::getProcAttrName())) {
38 return cudaProcAttr.getValue() != cuf::ProcAttribute::Host &&
39 cudaProcAttr.getValue() != cuf::ProcAttribute::HostDevice;
Definition: FIRBuilder.h:55
mlir::Region & getRegion()
Get the current Region of the insertion point.
Definition: FIRBuilder.h:103
Definition: AbstractConverter.h:59