diff options
author | Timm Baeder <tbaeder@redhat.com> | 2025-08-08 13:02:01 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-08-08 13:02:01 +0200 |
commit | fde9ee1ac291652718124257796efff91a2d5baf (patch) | |
tree | e0f22601762a1814e71b1aed488f67974a0dc9fb /llvm/lib/Bitcode/Writer/BitcodeWriter.cpp | |
parent | 82d633e9ff51962eb21fb58d38b74b4e8829a199 (diff) | |
download | llvm-fde9ee1ac291652718124257796efff91a2d5baf.zip llvm-fde9ee1ac291652718124257796efff91a2d5baf.tar.gz llvm-fde9ee1ac291652718124257796efff91a2d5baf.tar.bz2 |
[clang][bytecode] Don't deallocate dynamic blocks with pointers (#152672)
This fixes the edge case we had with variables pointing to dynamic
blocks, which forced us to convert basically *all* dynamic blocks to
DeadBlock when deallocating them.
We now don't run dynamic blocks through InterpState::deallocate() but
instead add them to a DeadAllocations list when they are deallocated but
still have pointers.
As a consequence, not all blocks with Block::IsDead = true are
DeadBlocks.
Diffstat (limited to 'llvm/lib/Bitcode/Writer/BitcodeWriter.cpp')
0 files changed, 0 insertions, 0 deletions