[llvm-commits] [PATCH] PostDominators: avoid memory leak

Török Edwin edwintorok at gmail.com
Sat May 3 08:56:00 PDT 2008


Hi,

The DT  member of PostDominatorTree is never freed, and valgrind reports
a leak.
No other optimization passess leak, and I like to see as few errors as
possible from valgrind, hence this patch.
It is only a matter of adding a simple destructor.

Can I commit?

==17137== 7,040 (152 direct, 6,888 indirect) bytes in 1 blocks are
definitely lost in loss record 29 of 34
==17137==    at 0x4A07809: operator new(unsigned long)
(vg_replace_malloc.c:230)
==17137==    by 0x9497DE: llvm::PostDominatorTree::PostDominatorTree()
(PostDominators.h:29)
==17137==    by 0x94981B: llvm::Pass*
llvm::callDefaultCtor<llvm::PostDominatorTree>() (PassSupport.h:165)
==17137==    by 0xA0BBD9: llvm::PassInfo::createPass() const
(PassSupport.h:101)
==17137==    by 0xA069BD:
llvm::PMTopLevelManager::schedulePass(llvm::Pass*) (PassManager.cpp:444)
==17137==    by 0xA115A5: llvm::PassManagerImpl::add(llvm::Pass*)
(PassManager.cpp:274)
==17137==    by 0xA06A9E: llvm::PassManager::add(llvm::Pass*)
(PassManager.cpp:1347)
==17137==    by 0x7224C6: (anonymous
namespace)::addPass(llvm::PassManager&, llvm::Pass*) (opt.cpp:236)
==17137==    by 0x722818: (anonymous
namespace)::AddStandardCompilePasses(llvm::PassManager&) (opt.cpp:299)
==17137==    by 0x7234B6: main (opt.cpp:387)

--Edwin
-------------- next part --------------
A non-text attachment was scrubbed...
Name: postdom.patch
Type: text/x-diff
Size: 962 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20080503/2384532b/attachment.patch>


More information about the llvm-commits mailing list