[mlir][spirv] Enhance folding capability of spirv::CompositeExtractOp::fold
authorNishant Patel <nishant.b.patel@intel.com>
Fri, 26 May 2023 23:20:53 +0000 (19:20 -0400)
committerJakub Kuderski <kubak@google.com>
Fri, 26 May 2023 23:23:02 +0000 (19:23 -0400)
commit79f6f92e10b7cebe2d73f3bbe493ee1392779e26
treea23f3f442bb4f8a7647e316ac7f3b6ce73ac374a
parent8d57b00f9673a309ba3bbd4bfb6d2053a178a519
[mlir][spirv] Enhance folding capability of spirv::CompositeExtractOp::fold

This PR improves the `spirv::CompositeExtractOp::fold` function by adding a backtracking mechanism.
The updated function can now traverse a chain of `CompositeInsertOp`s to find a match.

Patch By: nbpatel
Reviewed By: kuhar

Differential Revision: https://reviews.llvm.org/D151536
mlir/lib/Dialect/SPIRV/IR/SPIRVCanonicalization.cpp
mlir/test/Dialect/SPIRV/Transforms/canonicalize.mlir