[mlir] Remove VectorToROCDL
authorKrzysztof Drewniak <Krzysztof.Drewniak@amd.com>
Thu, 7 Jul 2022 17:32:06 +0000 (17:32 +0000)
committerKrzysztof Drewniak <Krzysztof.Drewniak@amd.com>
Tue, 12 Jul 2022 15:21:22 +0000 (15:21 +0000)
commitd6ef3d20b4e3768dc30fb229dfa938d8059fffef
tree3684eeb9f0db1257543bad691fc0b3e99f24b4cc
parent6626f6fec3d37b78b628b858bdadbbb8301e1a2f
[mlir] Remove VectorToROCDL

Between issues such as
https://github.com/llvm/llvm-project/issues/56323, the fact that this
lowering (unlike the code in amdgpu-to-rocdl) does not correctly set
up bounds checks (and thus will cause page faults on reads that might
need to be padded instead), and that fixing these problems would,
essentially, involve replicating amdgpu-to-rocdl, remove
--vector-to-rocdl for being broken. In addition, the lowering does not
support many aspects of transfer_{read,write}, like supervectors, and
may not work correctly in their presence.

We (the MLIR-based convolution generator at AMD) do not use this
conversion pass, nor are we aware of any other clients.

Migration strategies:
- Use VectorToLLVM
- If buffer ops are particularly needed in your application, use
amdgpu.raw_buffer_{load,store}

A VectorToAMDGPU pass may be introduced in the future.

Reviewed By: ThomasRaoux

Differential Revision: https://reviews.llvm.org/D129308
13 files changed:
clang/docs/ClangFormattedStatus.rst
clang/docs/tools/clang-formatted-files.txt
mlir/include/mlir/Conversion/Passes.h
mlir/include/mlir/Conversion/Passes.td
mlir/include/mlir/Conversion/VectorToROCDL/VectorToROCDL.h [deleted file]
mlir/lib/Conversion/CMakeLists.txt
mlir/lib/Conversion/GPUToROCDL/CMakeLists.txt
mlir/lib/Conversion/GPUToROCDL/LowerGpuOpsToROCDLOps.cpp
mlir/lib/Conversion/VectorToROCDL/CMakeLists.txt [deleted file]
mlir/lib/Conversion/VectorToROCDL/VectorToROCDL.cpp [deleted file]
mlir/test/Conversion/VectorToROCDL/vector-to-rocdl.mlir [deleted file]
mlir/test/Integration/GPU/ROCM/vector-transferops.mlir
utils/bazel/llvm-project-overlay/mlir/BUILD.bazel