[spirv] Add a canonicalizer for BitcastOp.
authorDenis Khalikov <khalikov.denis@huawei.com>
Mon, 18 Nov 2019 20:36:16 +0000 (12:36 -0800)
committerA. Unique TensorFlower <gardener@tensorflow.org>
Mon, 18 Nov 2019 20:37:00 +0000 (12:37 -0800)
commit6c77e59bfd28e7195754cbf8cc32c6cce90de6b6
tree36aecf1614b4de7074a355ed03b537b407138d44
parent563b5910a8394373454c5009d98f1b4fe13f0f68
[spirv] Add a canonicalizer for BitcastOp.

Convert chained `spirv::BitcastOp` operations into
one `spirv::BitcastOp` operation.

Closes tensorflow/mlir#238

COPYBARA_INTEGRATE_REVIEW=https://github.com/tensorflow/mlir/pull/238 from denis0x0D:sandbox/canon_bitcast 4352ed4f81b959ec92f849c599e733b62a99c010
PiperOrigin-RevId: 281129234
mlir/include/mlir/Dialect/SPIRV/SPIRVCastOps.td
mlir/lib/Dialect/SPIRV/SPIRVOps.cpp
mlir/test/Dialect/SPIRV/canonicalize.mlir