diff options
| author | Julian Gross <julian.gross@dfki.de> | 2020-01-09 09:52:50 +0100 |
|---|---|---|
| committer | Julian Gross <julian.gross@dfki.de> | 2020-01-13 17:10:54 +0100 |
| commit | 202ab273e6eca134b69882f100c666fcd3affbcf (patch) | |
| tree | 2edb29eab3d9aabb02936ed00ed446704ea8b048 /mlir/lib/Conversion/GPUToROCDL | |
| parent | 6b686703e63f0e992438ce445cbe4b3e78b94ea4 (diff) | |
| download | bcm5719-llvm-202ab273e6eca134b69882f100c666fcd3affbcf.tar.gz bcm5719-llvm-202ab273e6eca134b69882f100c666fcd3affbcf.zip | |
[mlir] Added missing GPU lowering ops.
Summary:
This diff adds missing GPU lowering ops to MLIR.
Reviewers: herhut, pifon2a, ftynse
Tags: #pre-merge_beta_testing, #llvm
Differential Revision: https://reviews.llvm.org/D72439
Diffstat (limited to 'mlir/lib/Conversion/GPUToROCDL')
| -rw-r--r-- | mlir/lib/Conversion/GPUToROCDL/LowerGpuOpsToROCDLOps.cpp | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/mlir/lib/Conversion/GPUToROCDL/LowerGpuOpsToROCDLOps.cpp b/mlir/lib/Conversion/GPUToROCDL/LowerGpuOpsToROCDLOps.cpp index 83770641bd4..119479d7ec1 100644 --- a/mlir/lib/Conversion/GPUToROCDL/LowerGpuOpsToROCDLOps.cpp +++ b/mlir/lib/Conversion/GPUToROCDL/LowerGpuOpsToROCDLOps.cpp @@ -51,12 +51,19 @@ public: GPUIndexIntrinsicOpLowering<gpu::GridDimOp, ROCDL::GridDimXOp, ROCDL::GridDimYOp, ROCDL::GridDimZOp>>( converter); + patterns.insert<OpToFuncCallLowering<AbsFOp>>(converter, "_ocml_fabs_f32", + "_ocml_fabs_f64"); + patterns.insert<OpToFuncCallLowering<CeilFOp>>(converter, "_ocml_ceil_f32", + "_ocml_ceil_f64"); + patterns.insert<OpToFuncCallLowering<CosOp>>(converter, "_ocml_cos_f32", + "_ocml_cos_f64"); patterns.insert<OpToFuncCallLowering<ExpOp>>(converter, "_ocml_exp_f32", "_ocml_exp_f64"); ConversionTarget target(getContext()); target.addLegalDialect<LLVM::LLVMDialect, ROCDL::ROCDLDialect>(); - target.addIllegalOp<LLVM::ExpOp>(); + target.addIllegalOp<LLVM::FAbsOp, LLVM::FCeilOp, LLVM::CosOP, + LLVM::ExpOp>(); target.addDynamicallyLegalOp<FuncOp>( [&](FuncOp op) { return converter.isSignatureLegal(op.getType()); }); if (failed(applyPartialConversion(m, target, patterns, &converter))) |

