llvm-project
54c55219 - [mlir][spirv] Use `verifySymbolUses` for `spirv.FunctionCall`. (#159399)

Commit
1 day ago
[mlir][spirv] Use `verifySymbolUses` for `spirv.FunctionCall`. (#159399) `spirv.FunctionCall`'s verifier was being too aggressive. It included verification of non-local properties by looking at the callee's definition. This caused problems in cases where callee had verification errors and could lead to null pointer dereferencing. According to [MLIR's developers guide ](https://mlir.llvm.org/getting_started/DeveloperGuide/#ir-verifier) > TLDR: only verify local aspects of an operation, > in particular don’t follow def-use chains > (don’t look at the producer of any operand or the user > of any results). The fix includes adding the `SymbolUserOpInterface` to `FunctionCall` and moving most of the verification logic to `verifySymbolUses`. Fixes #159295 --------- Co-authored-by: Jakub Kuderski <kubakuderski@gmail.com>
Author
Parents
Loading