diff options
author | Petr <piter.zh@gmail.com> | 2024-02-12 13:50:00 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-02-12 13:50:00 +0100 |
commit | 45260bf23b802047ab4fd888b8bf2b32e4c5eb69 (patch) | |
tree | 91c888699e170bcb68e28f9ba5922e5c2d540f76 /llvm/lib/CodeGen/CodeGenPrepare.cpp | |
parent | 0940f9083e68bda78bcbb323c2968a4294092e21 (diff) | |
download | llvm-45260bf23b802047ab4fd888b8bf2b32e4c5eb69.zip llvm-45260bf23b802047ab4fd888b8bf2b32e4c5eb69.tar.gz llvm-45260bf23b802047ab4fd888b8bf2b32e4c5eb69.tar.bz2 |
Fix use after free error in NVVMReflect (#81471)
I have a Triton kernel, which triggered a heap-use-after-free error in
LLVM.
The problem was that the same instruction may be added to the
`ToSimplify` array multiple times. If this duplicate instruction is
trivially dead, it gets deleted on the first pass. Then, on the second
pass, the freed instruction is passed.
To fix this, I'm adding the instructions to the `ToRemove` array and
filter it out for duplicates to avoid possible double frees.
Diffstat (limited to 'llvm/lib/CodeGen/CodeGenPrepare.cpp')
0 files changed, 0 insertions, 0 deletions