[all-commits] [llvm/llvm-project] 316593: [MLIR][SPIRV] Start module combiner

Kareem Ergawy via All-commits all-commits at lists.llvm.org
Fri Oct 30 06:38:03 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 316593ce839f05af936e705182747743e4638f3c
      https://github.com/llvm/llvm-project/commit/316593ce839f05af936e705182747743e4638f3c
  Author: ergawy <kareem.ergawy at gmail.com>
  Date:   2020-10-30 (Fri, 30 Oct 2020)

  Changed paths:
    A mlir/include/mlir/Dialect/SPIRV/ModuleCombiner.h
    M mlir/lib/Dialect/SPIRV/CMakeLists.txt
    A mlir/lib/Dialect/SPIRV/Linking/CMakeLists.txt
    A mlir/lib/Dialect/SPIRV/Linking/ModuleCombiner/CMakeLists.txt
    A mlir/lib/Dialect/SPIRV/Linking/ModuleCombiner/ModuleCombiner.cpp
    A mlir/test/Dialect/SPIRV/Linking/ModuleCombiner/basic.mlir
    A mlir/test/Dialect/SPIRV/Linking/ModuleCombiner/conflict_resolution.mlir
    M mlir/test/lib/Dialect/SPIRV/CMakeLists.txt
    A mlir/test/lib/Dialect/SPIRV/TestModuleCombiner.cpp
    M mlir/tools/mlir-opt/mlir-opt.cpp

  Log Message:
  -----------
  [MLIR][SPIRV] Start module combiner

This commit adds a new library that merges/combines a number of spv
modules into a combined one. The library has a single entry point:
combine(...).

To combine a number of MLIR spv modules, we move all the module-level ops
from all the input modules into one big combined module. To that end, the
combination process can proceed in 2 phases:

  (1) resolving conflicts between pairs of ops from different modules
  (2) deduplicate equivalent ops/sub-ops in the merged module. (TODO)

This patch implements only the first phase.

Reviewed By: antiagainst

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




More information about the All-commits mailing list