diff options
author | Erick Ochoa Lopez <erick.ochoalopez@amd.com> | 2025-09-18 17:34:42 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-09-18 17:34:42 -0400 |
commit | 54c55219ea3fbb44046d385acefcff0b73d3f8f4 (patch) | |
tree | 196750fa3ad31f67354341e44197bb8a95f90514 /llvm/lib/Support/CommandLine.cpp | |
parent | 714f032802fd1192b19188daba45de97b825c95d (diff) | |
download | llvm-54c55219ea3fbb44046d385acefcff0b73d3f8f4.zip llvm-54c55219ea3fbb44046d385acefcff0b73d3f8f4.tar.gz llvm-54c55219ea3fbb44046d385acefcff0b73d3f8f4.tar.bz2 |
[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>
Diffstat (limited to 'llvm/lib/Support/CommandLine.cpp')
0 files changed, 0 insertions, 0 deletions