[all-commits] [llvm/llvm-project] 341f3c: [MLIR][SPIRV] ModuleCombiner: deduplicate global v...

Kareem Ergawy via All-commits all-commits at lists.llvm.org
Thu Nov 19 07:09:50 PST 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 341f3c1120dfa8879e5f714a07fc8b16c8887a7f
      https://github.com/llvm/llvm-project/commit/341f3c1120dfa8879e5f714a07fc8b16c8887a7f
  Author: ergawy <kareem.ergawy at gmail.com>
  Date:   2020-11-19 (Thu, 19 Nov 2020)

  Changed paths:
    M mlir/include/mlir/Dialect/SPIRV/ModuleCombiner.h
    M mlir/lib/Dialect/SPIRV/Linking/ModuleCombiner/ModuleCombiner.cpp
    M mlir/test/Dialect/SPIRV/Linking/ModuleCombiner/conflict_resolution.mlir
    A mlir/test/Dialect/SPIRV/Linking/ModuleCombiner/deduplication_basic.mlir

  Log Message:
  -----------
  [MLIR][SPIRV] ModuleCombiner: deduplicate global vars, spec consts, and funcs.

This commit extends the functionality of the SPIR-V module combiner
library by adding new deduplication capabilities. In particular,
implementation of deduplication of global variables and specialization
constants, and functions is introduced.

For global variables, 2 variables are considered duplicate if they either
have the same descriptor set + binding or the same built_in attribute.

For specialization constants, 2 spec constants are considered duplicate if
they have the same spec_id attribute.

2 functions are deduplicated if they are identical. 2 functions are
identical if they have the same prototype, attributes, and body.

Reviewed By: antiagainst

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




More information about the All-commits mailing list