llvm-project
5fd18883 - [mlir][spirv] Refactor image operations (#128552)

Commit
340 days ago
[mlir][spirv] Refactor image operations (#128552) This patch makes multiple changes to images ops: 1) The assembly format is unified with the rest of the dialect to use `%0 = spirv.op %1, %2, %3 : f32, f32, f32` rather than having each type directly attached to each argument. 2) The verification is moved from `SPIRVOps.cpp` to a new file so the ops can be easier maintained. 3) Majority of C++ verification is removed and moved into ODS. Verification of `ImageQuerySizeOp` is left in C++ due to the complexity of rules. 4) `spirv::bitEnumContainsAll` is replaced by `spirv::bitEnumContainsAny` in `verifyImageOperands`. In this context `...Any` seems to be the correct function, as we want to check whether unsupported operand is being used - in opposite to checking if all unsupported operands are being used. 5) Simplify target tests by removing entry points and adding `Linkage` capability to the modules. This change is made in preparation for adding more Image ops. Change to the assembly format was previously mentioned in #124124.
Author
Parents
Loading