[mlir][AMDGPU] Add AMDGPU conversion patterns to ConvertGPUToROCDL
authorKrzysztof Drewniak <Krzysztof.Drewniak@amd.com>
Tue, 10 May 2022 15:37:53 +0000 (15:37 +0000)
committerKrzysztof Drewniak <Krzysztof.Drewniak@amd.com>
Tue, 10 May 2022 16:49:11 +0000 (16:49 +0000)
This ensures that attributes such as the index bitwidth propagate
correctly to the AMDGPUToROCDL patterns.

Differential Revision: https://reviews.llvm.org/D125320

mlir/lib/Conversion/GPUToROCDL/CMakeLists.txt
mlir/lib/Conversion/GPUToROCDL/LowerGpuOpsToROCDLOps.cpp
utils/bazel/llvm-project-overlay/mlir/BUILD.bazel

index 86fd184..fc34508 100644 (file)
@@ -11,6 +11,7 @@ add_mlir_conversion_library(MLIRGPUToROCDLTransforms
 
   LINK_LIBS PUBLIC
   MLIRArithmeticToLLVM
+  MLIRAMDGPUToROCDL
   MLIRFuncToLLVM
   MLIRGPUOps
   MLIRGPUToGPURuntimeTransforms
index c473ef3..9aec6af 100644 (file)
@@ -14,6 +14,7 @@
 #include "mlir/Conversion/ControlFlowToLLVM/ControlFlowToLLVM.h"
 #include "mlir/Conversion/GPUToROCDL/GPUToROCDLPass.h"
 
+#include "mlir/Conversion/AMDGPUToROCDL/AMDGPUToROCDL.h"
 #include "mlir/Conversion/ArithmeticToLLVM/ArithmeticToLLVM.h"
 #include "mlir/Conversion/FuncToLLVM/ConvertFuncToLLVM.h"
 #include "mlir/Conversion/LLVMCommon/ConversionTarget.h"
@@ -79,6 +80,7 @@ struct LowerGpuOpsToROCDLOpsPass
 
     mlir::arith::populateArithmeticToLLVMConversionPatterns(converter,
                                                             llvmPatterns);
+    populateAMDGPUToROCDLConversionPatterns(converter, llvmPatterns);
     populateVectorToLLVMConversionPatterns(converter, llvmPatterns);
     populateVectorToROCDLConversionPatterns(converter, llvmPatterns);
     cf::populateControlFlowToLLVMConversionPatterns(converter, llvmPatterns);
index 3a208b7..e187d3b 100644 (file)
@@ -3798,6 +3798,7 @@ cc_library(
     includes = ["include"],
     deps = [
         ":ArithmeticToLLVM",
+        ":AMDGPUToROCDL",
         ":ControlFlowToLLVM",
         ":ConversionPassIncGen",
         ":FuncDialect",