[spirv] Add support for SpecId decoration on spv.specConstant
authorLei Zhang <antiagainst@google.com>
Tue, 15 Oct 2019 21:53:01 +0000 (14:53 -0700)
committerA. Unique TensorFlower <gardener@tensorflow.org>
Tue, 15 Oct 2019 21:53:30 +0000 (14:53 -0700)
commite03e1519833439e57f2834b2717b35eba501a73e
treee21d547d4de4cd980c15c59dae33a640d5d08560
parent2903594635584076cda84df337c0ace06e78e991
[spirv] Add support for SpecId decoration on spv.specConstant

The SpecId decoration is the handle for providing external specialization.
Similar to descriptor set and binding on global variables, we directly
bake it into assembly parsing and printing.

PiperOrigin-RevId: 274893879
mlir/include/mlir/Dialect/SPIRV/SPIRVStructureOps.td
mlir/lib/Dialect/SPIRV/SPIRVOps.cpp
mlir/lib/Dialect/SPIRV/Serialization/Deserializer.cpp
mlir/lib/Dialect/SPIRV/Serialization/Serializer.cpp
mlir/test/Dialect/SPIRV/Serialization/spec-constant.mlir
mlir/test/Dialect/SPIRV/structure-ops.mlir