[all-commits] [llvm/llvm-project] de3ad5: [MLIR][SPIRVToLLVM] Enhanced conversion for execut...

George Mitenkov via All-commits all-commits at lists.llvm.org
Tue Nov 10 07:34:44 PST 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: de3ad5bb09032995941e6aab005e43a6d498b7c5
      https://github.com/llvm/llvm-project/commit/de3ad5bb09032995941e6aab005e43a6d498b7c5
  Author: George Mitenkov <georgemitenk0v at gmail.com>
  Date:   2020-11-10 (Tue, 10 Nov 2020)

  Changed paths:
    M mlir/lib/Conversion/SPIRVToLLVM/ConvertSPIRVToLLVM.cpp
    M mlir/test/Conversion/SPIRVToLLVM/misc-ops-to-llvm.mlir

  Log Message:
  -----------
  [MLIR][SPIRVToLLVM] Enhanced conversion for execution mode

This patch introduces a new conversion pattern for `spv.ExecutionMode`.
`spv.ExecutionMode` may contain important information about the entry
point, which we want to preserve. For example, `LocalSize` provides
information about the work-group size that can be reused. Hence, the
pattern for entry-point ops changes to the following:
- `spv.EntryPoint` is still simply removed
- Info from `spv.ExecutionMode` is used to create a global struct variable,
  which looks like:

  ```
  struct {
    int32_t executionMode;
    int32_t values[];          // optional values
  };
  ```

Reviewed By: mravishankar

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




More information about the All-commits mailing list