diff options
author | Nikita Popov <npopov@redhat.com> | 2025-08-05 09:18:43 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-08-05 09:18:43 +0200 |
commit | fb632ed2377d280b581b8d4653b855e60d611f77 (patch) | |
tree | d39ec39ea577d2bf52243f9f6667f1d4e94b3df5 /mlir/unittests/Bytecode/BytecodeTest.cpp | |
parent | fcae1ba7757a9c7b4e65ff068e0cb854a9fa2edd (diff) | |
download | llvm-fb632ed2377d280b581b8d4653b855e60d611f77.zip llvm-fb632ed2377d280b581b8d4653b855e60d611f77.tar.gz llvm-fb632ed2377d280b581b8d4653b855e60d611f77.tar.bz2 |
[GVN] Handle provenance when propagating assume equality (#151953)
If we have a known `p == p2` equality, we cannot replace `p2` with `p`
unless they are known to have the same provenance. GVN handles this when
propagating equalities from conditions, but not for assumes, as these go
through a different code path for uses in the same block.
Call canReplacePointersInUseIfEqual() before performing the replacement.
This is subject to the usual approximations (e.g. that we always allow
replacement with a dereferenceable constant and null).
This restriction does not appear to have any impact in practice.
Diffstat (limited to 'mlir/unittests/Bytecode/BytecodeTest.cpp')
0 files changed, 0 insertions, 0 deletions