[all-commits] [llvm/llvm-project] cae406: [MLIR][mlir-spirv-cpu-runner] A pass to emulate a ...

George Mitenkov via All-commits all-commits at lists.llvm.org
Mon Oct 26 05:14:58 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: cae4067ec1cdf7846aa46dab13d3bc1f58b76016
      https://github.com/llvm/llvm-project/commit/cae4067ec1cdf7846aa46dab13d3bc1f58b76016
  Author: George Mitenkov <georgemitenk0v at gmail.com>
  Date:   2020-10-26 (Mon, 26 Oct 2020)

  Changed paths:
    M mlir/include/mlir/Conversion/Passes.td
    M mlir/include/mlir/Conversion/SPIRVToLLVM/ConvertSPIRVToLLVMPass.h
    M mlir/lib/Conversion/SPIRVToLLVM/CMakeLists.txt
    A mlir/lib/Conversion/SPIRVToLLVM/ConvertLaunchFuncToLLVMCalls.cpp
    A mlir/test/Conversion/SPIRVToLLVM/lower-host-to-llvm-calls.mlir

  Log Message:
  -----------
  [MLIR][mlir-spirv-cpu-runner] A pass to emulate a call to kernel in LLVM

This patch introduces a pass for running
`mlir-spirv-cpu-runner` - LowerHostCodeToLLVMPass.

This pass emulates `gpu.launch_func` call in LLVM dialect and lowers
the host module code to LLVM. It removes the `gpu.module`, creates a
sequence of global variables that are later linked to the varables
in the kernel module, as well as a series of copies to/from
them to emulate the memory transfer to/from the host or to/from the
device sides. It also converts the remaining Standard dialect into
LLVM dialect, emitting C wrappers.

Reviewed By: mravishankar

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




More information about the All-commits mailing list