summaryrefslogtreecommitdiffstats
path: root/mlir/lib/Conversion/GPUToNVVM/LowerGpuOpsToNVVMOps.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'mlir/lib/Conversion/GPUToNVVM/LowerGpuOpsToNVVMOps.cpp')
-rw-r--r--mlir/lib/Conversion/GPUToNVVM/LowerGpuOpsToNVVMOps.cpp9
1 files changed, 8 insertions, 1 deletions
diff --git a/mlir/lib/Conversion/GPUToNVVM/LowerGpuOpsToNVVMOps.cpp b/mlir/lib/Conversion/GPUToNVVM/LowerGpuOpsToNVVMOps.cpp
index c2493f773d1..00f89d3644f 100644
--- a/mlir/lib/Conversion/GPUToNVVM/LowerGpuOpsToNVVMOps.cpp
+++ b/mlir/lib/Conversion/GPUToNVVM/LowerGpuOpsToNVVMOps.cpp
@@ -712,7 +712,8 @@ public:
populateGpuToNVVMConversionPatterns(converter, patterns);
ConversionTarget target(getContext());
target.addIllegalDialect<gpu::GPUDialect>();
- target.addIllegalOp<LLVM::ExpOp>();
+ target.addIllegalOp<LLVM::FAbsOp, LLVM::FCeilOp, LLVM::CosOp,
+ LLVM::ExpOP>();
target.addIllegalOp<FuncOp>();
target.addLegalDialect<LLVM::LLVMDialect>();
target.addLegalDialect<NVVM::NVVMDialect>();
@@ -739,6 +740,12 @@ void mlir::populateGpuToNVVMConversionPatterns(
NVVM::GridDimYOp, NVVM::GridDimZOp>,
GPUAllReduceOpLowering, GPUShuffleOpLowering, GPUFuncOpLowering,
GPUReturnOpLowering>(converter);
+ patterns.insert<OpToFuncCallLowering<AbsFOp>>(converter, "__nv_fabsf",
+ "__nv_fabs");
+ patterns.insert<OpToFuncCallLowering<CeilFOp>>(converter, "__nv_ceilf",
+ "__nv_ceil");
+ patterns.insert<OpToFuncCallLowering<CosOp>>(converter, "__nv_cosf",
+ "__nv_cos");
patterns.insert<OpToFuncCallLowering<ExpOp>>(converter, "__nv_expf",
"__nv_exp");
}
OpenPOWER on IntegriCloud