[PATCH] D99423: [DebugInfo] Fix incorrect updating of SDNode dependencies for variadic debug values
Stephen Tozer via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Apr 9 06:41:20 PDT 2021
StephenTozer updated this revision to Diff 336437.
StephenTozer added a comment.
Sanitizer builds were failing due to memory leaks; these were caused by the fact that SDDbgValues are allocated under a BumpPtrAllocator, which does not call destructors. SDDbgValues contained SmallVectors which did not use this allocator, so when the SDDbgValues were cleared they would not call the SmallVector destructor.
This has been resolved by replacing each SmallVector with a std::shared_ptr that uses the BumpPtrAllocator, so there will be no memory allocated outside of this allocator and hence no leaks.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D99423/new/
https://reviews.llvm.org/D99423
Files:
llvm/lib/CodeGen/SelectionDAG/SDNodeDbgValue.h
llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
llvm/test/CodeGen/X86/dbg-list-dependencies.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D99423.336437.patch
Type: text/x-patch
Size: 23134 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20210409/e8c0b33c/attachment.bin>
More information about the llvm-commits
mailing list