[mlir][spirv] Remove layout decoration on unneeded storage classes
authorLei Zhang <antiagainst@google.com>
Thu, 28 Apr 2022 12:18:08 +0000 (08:18 -0400)
committerLei Zhang <antiagainst@google.com>
Thu, 28 Apr 2022 12:18:23 +0000 (08:18 -0400)
commitbbffece3835d57ec09a1b62071ee8f4b17dd3c27
tree67420ecb90edd1176fbc6dd27812dd61af511e1d
parent8854b736065c228270000df552bdd9dc7b152453
[mlir][spirv] Remove layout decoration on unneeded storage classes

Per SPIR-V validation rules, explict layout decorations are only
needed for StorageBuffer, PhysicalStorageBuffer, Uniform, and
PushConstant storage classes. (And even that is for Shader
capabilities). So we don't need such decorations on the rest.

Reviewed By: hanchung

Differential Revision: https://reviews.llvm.org/D124543
mlir/lib/Dialect/SPIRV/Transforms/SPIRVConversion.cpp
mlir/test/Conversion/ArithmeticToSPIRV/arithmetic-to-spirv.mlir
mlir/test/Conversion/FuncToSPIRV/types-to-spirv.mlir
mlir/test/Conversion/GPUToSPIRV/module-structure-opencl.mlir
mlir/test/Conversion/MemRefToSPIRV/alloc.mlir
mlir/test/Conversion/MemRefToSPIRV/alloca.mlir
mlir/test/Conversion/TensorToSPIRV/tensor-ops-to-spirv.mlir