[mlir][spirv] Add ConvertGpuLaunchFuncToVulkanCallsPass
authorDenis Khalikov <khalikov.denis@huawei.com>
Thu, 13 Feb 2020 18:29:13 +0000 (13:29 -0500)
committerLei Zhang <antiagainst@google.com>
Thu, 13 Feb 2020 19:10:07 +0000 (14:10 -0500)
commita062a3ed7fd82c277812d80fb83dc6f05b939a84
treed41fac46a57cbbe8d4d621cc10e58c4df10ca9f9
parenta8cb0cf500ef0be4e46fafd45a327873a04a098f
[mlir][spirv] Add ConvertGpuLaunchFuncToVulkanCallsPass

Implement a pass to convert gpu.launch_func op into a sequence of
Vulkan runtime calls. The Vulkan runtime API surface is huge so currently we
don't expose separate external functions in IR for each of them, instead we
expose a few external functions to wrapper libraries which manages
Vulkan runtime.

Differential Revision: https://reviews.llvm.org/D74549
mlir/include/mlir/Conversion/GPUToVulkan/ConvertGPUToVulkanPass.h [new file with mode: 0644]
mlir/include/mlir/InitAllPasses.h
mlir/lib/Conversion/CMakeLists.txt
mlir/lib/Conversion/GPUToVulkan/CMakeLists.txt [new file with mode: 0644]
mlir/lib/Conversion/GPUToVulkan/ConvertLaunchFuncToVulkanCalls.cpp [new file with mode: 0644]
mlir/test/Conversion/GPUToVulkan/invoke-vulkan.mlir [new file with mode: 0644]
mlir/tools/mlir-opt/CMakeLists.txt