[LLVMdev] Memory leaks in LLVM

Domagoj Babic babic.domagoj at gmail.com
Tue May 9 13:16:53 PDT 2006


Hi,

Probably some of the leaks Valgrind reports are spurious, but the numbers
seem to be significant enough to demand some attention:

==10132== LEAK SUMMARY:
==10132==    definitely lost: 15,624 bytes in 558 blocks.
==10132==    indirectly lost: 44,548 bytes in 1,591 blocks.
==10132==      possibly lost: 37,576 bytes in 98 blocks.
==10132==    still reachable: 1,336,876 bytes in 1,364 blocks.
==10132==         suppressed: 0 bytes in 0 blocks.

I know that a patch would be more appreciated, but I still don't feel
confident enough to fiddle with the LLVM core... Could anyone
take a look at the report and try fix the leaks?

Thx.
      Domagoj



Full report:

==10132== Memcheck, a memory error detector.
==10132== Copyright (C) 2002-2005, and GNU GPL'd, by Julian Seward et al.
==10132== Using LibVEX rev 1575, a library for dynamic binary translation.
==10132== Copyright (C) 2004-2005, and GNU GPL'd, by OpenWorks LLP.
==10132== Using valgrind-3.1.1, a dynamic binary instrumentation framework.
==10132== Copyright (C) 2000-2005, and GNU GPL'd, by Julian Seward et al.
==10132== For more details, rerun with: -v
==10132==
===-------------------------------------------------------------------------===
                      ... Pass execution timing report ...
===-------------------------------------------------------------------------===

  Total Execution Time: 104.9820 seconds (105.3040 wall clock)

   ---User Time---   --System Time--   --User+System--   ---Wall Time---
--- Name ---
  72.2020 ( 68.9%)   0.1329 ( 68.5%)  72.3350 ( 68.9%)  72.6561 ( 68.9%)
Bytecode Writer
  13.1989 ( 12.5%)   0.0249 ( 12.8%)  13.2239 ( 12.5%)  13.2277 ( 12.5%)
GatingPaths Pass
  10.3554 (  9.8%)   0.0100 (  5.1%)  10.3654 (  9.8%)  10.3688 (  9.8%)
Module Verifier
   3.8254 (  3.6%)   0.0089 (  4.6%)   3.8344 (  3.6%)   3.8306 (  3.6%)
Immediate Dominators Construction
   2.6806 (  2.5%)   0.0040 (  2.0%)   2.6846 (  2.5%)   2.6845 (  2.5%)  ET
Forest Construction
   1.1678 (  1.1%)   0.0039 (  2.0%)   1.1718 (  1.1%)   1.1715 (  1.1%)
Dominator Tree Construction
   0.6399 (  0.6%)   0.0039 (  2.0%)   0.6439 (  0.6%)   0.6550 (  0.6%)
Unify function exit nodes
   0.5539 (  0.5%)   0.0020 (  1.0% )   0.5559 (  0.5%)   0.5550 (  0.5%)
Lower SwitchInst's to branches
   0.1639 (  0.1%)   0.0029 (  1.5%)   0.1669 (  0.1%)   0.1545 (  0.1%)
Basic CFG Analysis
  104.7880 (100.0%)   0.1939 (100.0%)  104.9820 (100.0% )  105.3040 (100.0%)
TOTAL

==10132==
==10132== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 25 from 2)
==10132== malloc/free: in use at exit: 1,434,624 bytes in 3,611 blocks.
==10132== malloc/free: 75,563 allocs, 71,952 frees, 12,717,711 bytes
allocated.
==10132== For counts of detected errors, rerun with: -v
==10132== searching for pointers to 3,611 not-freed blocks.
==10132== checked 1,373,864 bytes.
==10132==
==10132== 4 bytes in 1 blocks are still reachable in loss record 1 of 33
==10132==    at 0x401C7F0: operator new(unsigned) (vg_replace_malloc.c:164)
==10132==    by 0x86F7D70: getLibSupportInfoOutputFilename() (Timer.cpp:36)
==10132==    by 0x86F98A4: __static_initialization_and_destruction_0(int,
int) ( Timer.cpp:49)
==10132==    by 0x86F9A58:
_GLOBAL__I__ZN26_GLOBAL__N_Timer.cppxRlDad10TrackSpaceE (stl_map.h:120)
==10132==    by 0x870B518: (within /storage/llvm/bin/opt)
==10132==    by 0x83CF670: (within /storage/llvm/bin/opt)
==10132==    by 0x870B4C0: __libc_csu_init (in /storage/llvm/bin/opt)
==10132==    by 0x4154E2D: (below main) (in /lib/tls/libc.so.6)
==10132==
==10132==
==10132== 8 bytes in 1 blocks are still reachable in loss record 2 of 33
==10132==    at 0x401C451: malloc (vg_replace_malloc.c:149)
==10132==    by 0x40E8302: __cxa_get_globals (in
/usr/lib/libstdc++.so.5.0.7)
==10132==    by 0x40E7F56: std::uncaught_exception() (in
/usr/lib/libstdc++.so.5.0.7)
==10132==    by 0x40CE434: std::ostream::write(char const*, int) (in
/usr/lib/libstdc++.so.5.0.7)
==10132==    by 0x40CE62D: std::basic_ostream<char, std::char_traits<char>
>& std::operator<< <std::char_traits<char> >(std::basic_ostream<char,
std::char_traits<char> >&, char const*) (in /usr/lib/libstdc++.so.5.0.7)
==10132==    by 0x86F9357: llvm::TimerGroup::removeTimer() (Timer.cpp:302)
==10132==    by 0x86F8405: llvm::Timer::~Timer() (Timer.cpp:91)
==10132==    by 0x8522B0A: std::pair<llvm::Pass* const,
llvm::Timer>::~pair() ( PassManagerT.h:113)
==10132==    by 0x8524260: void std::_Destroy<std::pair<llvm::Pass* const,
llvm::Timer> >(std::pair<llvm::Pass* const, llvm::Timer>*)
(stl_construct.h:133)
==10132==    by 0x8521224: std::_Rb_tree<llvm::Pass*, std::pair<llvm::Pass*
const, llvm::Timer>, std::_Select1st<std::pair<llvm::Pass* const,
llvm::Timer> >, std::less<llvm::Pass*>, std::allocator<std::pair<llvm::Pass*
const, llvm::Timer> >
>::destroy_node(std::_Rb_tree_node<std::pair<llvm::Pass* const, llvm::Timer>
>*) (stl_tree.h:640)
==10132==    by 0x851E92D: std::_Rb_tree<llvm::Pass*, std::pair<llvm::Pass*
const, llvm::Timer>, std::_Select1st<std::pair<llvm::Pass* const,
llvm::Timer> >, std::less<llvm::Pass*>, std::allocator<std::pair<llvm::Pass*
const, llvm::Timer> > >::_M_erase(std::_Rb_tree_node<std::pair<llvm::Pass*
const, llvm::Timer> >*) (stl_tree.h:1235)
==10132==    by 0x851C051: std::_Rb_tree<llvm::Pass*, std::pair<llvm::Pass*
const, llvm::Timer>, std::_Select1st<std::pair<llvm::Pass* const,
llvm::Timer> >, std::less<llvm::Pass*>, std::allocator<std::pair<llvm::Pass*
const, llvm::Timer> > >::clear() (stl_tree.h:847)
==10132==    by 0x851E94C: std::map<llvm::Pass*, llvm::Timer,
std::less<llvm::Pass*>, std::allocator<std::pair<llvm::Pass* const,
llvm::Timer> > >::clear() (stl_map.h:439)
==10132==    by 0x851C0B5: llvm::TimingInfo::~TimingInfo() ( PassManagerT.h
:100)
==10132==    by 0x84B0572: __tcf_1 (Pass.cpp:133)
==10132==    by 0x4169DEF: exit (in /lib/tls/libc.so.6)
==10132==    by 0x4154E89: (below main) (in /lib/tls/libc.so.6)
==10132==
==10132==
==10132== 12 bytes in 1 blocks are still reachable in loss record 3 of 33
==10132==    at 0x401C7F0: operator new(unsigned) (vg_replace_malloc.c:164)
==10132==    by 0x86F4500: llvm::PluginLoader::operator=(std::string const&)
( PluginLoader.cpp:28)
==10132==    by 0x83D3D79: void llvm::cl::opt_storage<llvm::PluginLoader,
false, true>::setValue<std::string>(std::string const&) (CommandLine.h:697)
==10132==    by 0x83D3C45: llvm::cl::opt<llvm::PluginLoader, false,
llvm::cl::parser<std::string> >::handleOccurrence(unsigned, char const*,
std::string const&) ( CommandLine.h:742)
==10132==    by 0x86E9728: llvm::cl::Option::addOccurrence(unsigned, char
const*, std::string const&) (CommandLine.cpp:639)
==10132==    by 0x86EAE9F: ProvideOption(llvm::cl::Option*, char const*,
char const*, int, char**, int&) ( CommandLine.cpp:125)
==10132==    by 0x86E8BB0: llvm::cl::ParseCommandLineOptions(int&, char**,
char const*) (CommandLine.cpp:486)
==10132==    by 0x83D08E0: main (opt.cpp:75)
==10132==
==10132==
==10132== 16 bytes in 1 blocks are still reachable in loss record 4 of 33
==10132==    at 0x401D73D: calloc (vg_replace_malloc.c:279)
==10132==    by 0x4050239: _dlerror_run (in /lib/libdl.so.2)
==10132==    by 0x404FD30: dlopen@@GLIBC_2.1 (in /lib/libdl.so.2)
==10132==    by 0x87076FC: sys_dl_open ( ltdl.c:1110)
==10132==    by 0x8707F75: tryall_dlopen (ltdl.c:2431)
==10132==    by 0x8709500: try_dlopen (ltdl.c:3374)
==10132==    by 0x87096A8: lt_dlopen (ltdl.c:3420)
==10132==    by 0x86FE22E:
llvm::sys::DynamicLibrary::LoadLibraryPermanently(char const*) (
DynamicLibrary.cpp:103)
==10132==    by 0x86F4599: llvm::PluginLoader::operator=(std::string const&)
(PluginLoader.cpp:31)
==10132==    by 0x83D3D79: void llvm::cl::opt_storage<llvm::PluginLoader,
false, true>::setValue<std::string>(std::string const&) ( CommandLine.h:697)
==10132==    by 0x83D3C45: llvm::cl::opt<llvm::PluginLoader, false,
llvm::cl::parser<std::string> >::handleOccurrence(unsigned, char const*,
std::string const&) (CommandLine.h:742)
==10132==    by 0x86E9728: llvm::cl::Option::addOccurrence(unsigned, char
const*, std::string const&) (CommandLine.cpp:639)
==10132==    by 0x86EAE9F: ProvideOption(llvm::cl::Option*, char const*,
char const*, int, char**, int&) ( CommandLine.cpp:125)
==10132==    by 0x86E8BB0: llvm::cl::ParseCommandLineOptions(int&, char**,
char const*) (CommandLine.cpp:486)
==10132==    by 0x83D08E0: main (opt.cpp:75)
==10132==
==10132==
==10132== 20 bytes in 1 blocks are still reachable in loss record 5 of 33
==10132==    at 0x401C7F0: operator new(unsigned) (vg_replace_malloc.c:164)
==10132==    by 0x84AAD52: (anonymous namespace)::getLLVMObjects() (
LeakDetector.cpp:93)
==10132==    by 0x84AAE55:
llvm::LeakDetector::addGarbageObjectImpl(llvm::Value const*) (
LeakDetector.cpp:110)
==10132==    by 0x84C469A: llvm::LeakDetector::addGarbageObject(llvm::Value
const*) (LeakDetector.h:71)
==10132==    by 0x848D194: llvm::BasicBlock::setParent(llvm::Function*) (
BasicBlock.cpp:89)
==10132==    by 0x84C4938: llvm::SymbolTableListTraits<llvm::BasicBlock,
llvm::Function, llvm::Function, llvm::ilist_traits<llvm::BasicBlock>
>::removeNodeFromList(llvm::BasicBlock*) (SymbolTableListTraitsImpl.h :63)
==10132==    by 0x84C491A: llvm::iplist<llvm::BasicBlock,
llvm::ilist_traits<llvm::BasicBlock>
>::remove(llvm::ilist_iterator<llvm::BasicBlock>&) (ilist:312)
==10132==    by 0x84C4988: llvm::iplist<llvm::BasicBlock,
llvm::ilist_traits<llvm::BasicBlock>
>::erase(llvm::ilist_iterator<llvm::BasicBlock>) (ilist:323)
==10132==    by 0x85039D7: llvm::iplist<llvm::BasicBlock,
llvm::ilist_traits<llvm::BasicBlock>
>::erase(llvm::ilist_iterator<llvm::BasicBlock>,
llvm::ilist_iterator<llvm::BasicBlock>) (ilist:382)
==10132==    by 0x8502E68: llvm::iplist<llvm::BasicBlock,
llvm::ilist_traits<llvm::BasicBlock> >::clear() (ilist:386)
==10132==    by 0x849C1FE: llvm::Function::dropAllReferences() (Function.cpp
:192)
==10132==    by 0x84ADB07: llvm::Module::dropAllReferences() (Module.cpp
:301)
==10132==    by 0x84ACC7D: llvm::Module::~Module() (Module.cpp:73)
==10132==    by 0x83D1AAE: std::auto_ptr<llvm::Module>::~auto_ptr()
(memory:253)
==10132==    by 0x83D12DE: main (opt.cpp:169)
==10132==
==10132==
==10132== 27 bytes in 1 blocks are still reachable in loss record 6 of 33
==10132==    at 0x401C451: malloc (vg_replace_malloc.c:149)
==10132==    by 0x40066DF: expand_dynamic_string_token (in /lib/ld-2.3.4.so)
==10132==    by 0x4006FBC: _dl_map_object (in /lib/ld-2.3.4.so)
==10132==    by 0x422C23D: dl_open_worker (in /lib/tls/libc.so.6)
==10132==    by 0x400D185: _dl_catch_error (in /lib/ld-2.3.4.so)
==10132==    by 0x422BBDF: _dl_open (in /lib/tls/libc.so.6)
==10132==    by 0x404FDA7: dlopen_doit (in /lib/libdl.so.2)
==10132==    by 0x400D185: _dl_catch_error (in /lib/ld-2.3.4.so)
==10132==    by 0x40501B4: _dlerror_run (in /lib/libdl.so.2)
==10132==    by 0x404FD30: dlopen@@GLIBC_2.1 (in /lib/libdl.so.2)
==10132==    by 0x87076FC: sys_dl_open (ltdl.c:1110)
==10132==    by 0x8707F75: tryall_dlopen (ltdl.c:2431)
==10132==    by 0x8709500: try_dlopen (ltdl.c:3374)
==10132==    by 0x87096A8: lt_dlopen (ltdl.c:3420)
==10132==    by 0x86FE22E:
llvm::sys::DynamicLibrary::LoadLibraryPermanently(char const*) (
DynamicLibrary.cpp:103)
==10132==    by 0x86F4599: llvm::PluginLoader::operator=(std::string const&)
(PluginLoader.cpp:31)
==10132==    by 0x83D3D79: void llvm::cl::opt_storage<llvm::PluginLoader,
false, true>::setValue<std::string>(std::string const&) (CommandLine.h:697)
==10132==    by 0x83D3C45: llvm::cl::opt<llvm::PluginLoader, false,
llvm::cl::parser<std::string> >::handleOccurrence(unsigned, char const*,
std::string const&) ( CommandLine.h:742)
==10132==    by 0x86E9728: llvm::cl::Option::addOccurrence(unsigned, char
const*, std::string const&) (CommandLine.cpp:639)
==10132==    by 0x86EAE9F: ProvideOption(llvm::cl::Option*, char const*,
char const*, int, char**, int&) ( CommandLine.cpp:125)
==10132==    by 0x86E8BB0: llvm::cl::ParseCommandLineOptions(int&, char**,
char const*) (CommandLine.cpp:486)
==10132==    by 0x83D08E0: main (opt.cpp:75)
==10132==
==10132==
==10132== 27 bytes in 1 blocks are still reachable in loss record 7 of 33
==10132==    at 0x401C451: malloc (vg_replace_malloc.c:149)
==10132==    by 0x870736D: rpl_strdup (ltdl.c:275)
==10132==    by 0x8707697: lt_estrdup (ltdl.c:1040)
==10132==    by 0x8707F2C: tryall_dlopen (ltdl.c :2415)
==10132==    by 0x8709500: try_dlopen (ltdl.c:3374)
==10132==    by 0x87096A8: lt_dlopen (ltdl.c:3420)
==10132==    by 0x86FE22E:
llvm::sys::DynamicLibrary::LoadLibraryPermanently(char const*) (
DynamicLibrary.cpp :103)
==10132==    by 0x86F4599: llvm::PluginLoader::operator=(std::string const&)
(PluginLoader.cpp:31)
==10132==    by 0x83D3D79: void llvm::cl::opt_storage<llvm::PluginLoader,
false, true>::setValue<std::string>(std::string const&) ( CommandLine.h:697)
==10132==    by 0x83D3C45: llvm::cl::opt<llvm::PluginLoader, false,
llvm::cl::parser<std::string> >::handleOccurrence(unsigned, char const*,
std::string const&) (CommandLine.h:742)
==10132==    by 0x86E9728: llvm::cl::Option::addOccurrence(unsigned, char
const*, std::string const&) (CommandLine.cpp:639)
==10132==    by 0x86EAE9F: ProvideOption(llvm::cl::Option*, char const*,
char const*, int, char**, int&) ( CommandLine.cpp:125)
==10132==    by 0x86E8BB0: llvm::cl::ParseCommandLineOptions(int&, char**,
char const*) (CommandLine.cpp:486)
==10132==    by 0x83D08E0: main (opt.cpp:75)
==10132==
==10132==
==10132== 36 bytes in 1 blocks are still reachable in loss record 8 of 33
==10132==    at 0x401C7F0: operator new(unsigned) (vg_replace_malloc.c:164)
==10132==    by 0x84979CB: __static_initialization_and_destruction_0(int,
int) (Constants.cpp:28)
==10132==    by 0x8497DBE: _GLOBAL__I__ZN4llvm12ConstantBool4TrueE
(stl_map.h:120)
==10132==    by 0x870B518: (within /storage/llvm/bin/opt)
==10132==    by 0x83CF670: (within /storage/llvm/bin/opt)
==10132==    by 0x870B4C0: __libc_csu_init (in /storage/llvm/bin/opt)
==10132==    by 0x4154E2D: (below main) (in /lib/tls/libc.so.6)
==10132==
==10132==
==10132== 36 bytes in 1 blocks are still reachable in loss record 9 of 33
==10132==    at 0x401C7F0: operator new(unsigned) (vg_replace_malloc.c:164)
==10132==    by 0x8497960: __static_initialization_and_destruction_0(int,
int) ( Constants.cpp:27)
==10132==    by 0x8497DBE: _GLOBAL__I__ZN4llvm12ConstantBool4TrueE
(stl_map.h:120)
==10132==    by 0x870B518: (within /storage/llvm/bin/opt)
==10132==    by 0x83CF670: (within /storage/llvm/bin/opt)
==10132==    by 0x870B4C0: __libc_csu_init (in /storage/llvm/bin/opt)
==10132==    by 0x4154E2D: (below main) (in /lib/tls/libc.so.6)
==10132==
==10132==
==10132== 52 bytes in 1 blocks are still reachable in loss record 10 of 33
==10132==    at 0x401C451: malloc (vg_replace_malloc.c:149)
==10132==    by 0x400C575: _dl_map_object_deps (in /lib/ld-2.3.4.so)
==10132==    by 0x422C294: dl_open_worker (in /lib/tls/libc.so.6)
==10132==    by 0x400D185: _dl_catch_error (in /lib/ld-2.3.4.so)
==10132==    by 0x422BBDF: _dl_open (in /lib/tls/libc.so.6)
==10132==    by 0x404FDA7: dlopen_doit (in /lib/libdl.so.2)
==10132==    by 0x400D185: _dl_catch_error (in /lib/ld-2.3.4.so)
==10132==    by 0x40501B4: _dlerror_run (in /lib/libdl.so.2)
==10132==    by 0x404FD30: dlopen@@GLIBC_2.1 (in /lib/libdl.so.2)
==10132==    by 0x87076FC: sys_dl_open (ltdl.c:1110)
==10132==    by 0x8707F75: tryall_dlopen (ltdl.c:2431)
==10132==    by 0x8709500: try_dlopen (ltdl.c:3374)
==10132==    by 0x87096A8: lt_dlopen (ltdl.c:3420)
==10132==    by 0x86FE22E:
llvm::sys::DynamicLibrary::LoadLibraryPermanently(char const*) (
DynamicLibrary.cpp:103)
==10132==    by 0x86F4599: llvm::PluginLoader::operator=(std::string const&)
(PluginLoader.cpp:31)
==10132==    by 0x83D3D79: void llvm::cl::opt_storage<llvm::PluginLoader,
false, true>::setValue<std::string>(std::string const&) (CommandLine.h:697)
==10132==    by 0x83D3C45: llvm::cl::opt<llvm::PluginLoader, false,
llvm::cl::parser<std::string> >::handleOccurrence(unsigned, char const*,
std::string const&) ( CommandLine.h:742)
==10132==    by 0x86E9728: llvm::cl::Option::addOccurrence(unsigned, char
const*, std::string const&) (CommandLine.cpp:639)
==10132==    by 0x86EAE9F: ProvideOption(llvm::cl::Option*, char const*,
char const*, int, char**, int&) ( CommandLine.cpp:125)
==10132==    by 0x86E8BB0: llvm::cl::ParseCommandLineOptions(int&, char**,
char const*) (CommandLine.cpp:486)
==10132==    by 0x83D08E0: main (opt.cpp:75)
==10132==
==10132==
==10132== 80 bytes in 1 blocks are still reachable in loss record 11 of 33
==10132==    at 0x401C451: malloc (vg_replace_malloc.c:149)
==10132==    by 0x422BEDF: add_to_global (in /lib/tls/libc.so.6)
==10132==    by 0x422C791: dl_open_worker (in /lib/tls/libc.so.6)
==10132==    by 0x400D185: _dl_catch_error (in /lib/ld- 2.3.4.so)
==10132==    by 0x422BBDF: _dl_open (in /lib/tls/libc.so.6)
==10132==    by 0x404FDA7: dlopen_doit (in /lib/libdl.so.2)
==10132==    by 0x400D185: _dl_catch_error (in /lib/ld- 2.3.4.so)
==10132==    by 0x40501B4: _dlerror_run (in /lib/libdl.so.2)
==10132==    by 0x404FD30: dlopen@@GLIBC_2.1 (in /lib/libdl.so.2)
==10132==    by 0x87076FC: sys_dl_open (ltdl.c :1110)
==10132==    by 0x8707F75: tryall_dlopen (ltdl.c:2431)
==10132==    by 0x8709500: try_dlopen (ltdl.c:3374)
==10132==    by 0x87096A8: lt_dlopen (ltdl.c:3420)
==10132==    by 0x86FE22E:
llvm::sys::DynamicLibrary::LoadLibraryPermanently(char const*) (
DynamicLibrary.cpp:103)
==10132==    by 0x86F4599: llvm::PluginLoader::operator=(std::string const&)
(PluginLoader.cpp:31)
==10132==    by 0x83D3D79: void llvm::cl::opt_storage<llvm::PluginLoader,
false, true>::setValue<std::string>(std::string const&) ( CommandLine.h:697)
==10132==    by 0x83D3C45: llvm::cl::opt<llvm::PluginLoader, false,
llvm::cl::parser<std::string> >::handleOccurrence(unsigned, char const*,
std::string const&) (CommandLine.h:742)
==10132==    by 0x86E9728: llvm::cl::Option::addOccurrence(unsigned, char
const*, std::string const&) (CommandLine.cpp:639)
==10132==    by 0x86EAE9F: ProvideOption(llvm::cl::Option*, char const*,
char const*, int, char**, int&) ( CommandLine.cpp:125)
==10132==    by 0x86E8BB0: llvm::cl::ParseCommandLineOptions(int&, char**,
char const*) (CommandLine.cpp:486)
==10132==    by 0x83D08E0: main (opt.cpp:75)
==10132==
==10132==
==10132== 88 bytes in 2 blocks are still reachable in loss record 12 of 33
==10132==    at 0x401C7F0: operator new(unsigned) (vg_replace_malloc.c:164)
==10132==    by 0x84D9ABB: llvm::ConstantCreator<llvm::ConstantExpr,
llvm::Type, std::pair<unsigned, std::vector<llvm::Constant*,
std::allocator<llvm::Constant*> > > >::create(llvm::Type const*,
std::pair<unsigned, std::vector<llvm::Constant*,
std::allocator<llvm::Constant*> > > const&) ( Constants.cpp:1181)
==10132==    by 0x84D1134: (anonymous
namespace)::ValueMap<std::pair<unsigned, std::vector<llvm::Constant*,
std::allocator<llvm::Constant*> > >, llvm::Type, llvm::ConstantExpr,
false>::getOrCreate(llvm::Type const*, std::pair<unsigned,
std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const&) (
Constants.cpp:639)
==10132==    by 0x8494CA1: llvm::ConstantExpr::getCast(llvm::Constant*,
llvm::Type const*) (Constants.cpp:1262)
==10132==    by 0x83E23D9:
llvm::BytecodeReader::ParseConstantPoolValue(unsigned) (Reader.cpp :1476)
==10132==    by 0x83E44E0:
llvm::BytecodeReader::ParseConstantPool(std::vector<llvm::BytecodeReader::ValueList*,
std::allocator<llvm::BytecodeReader::ValueList*> >&,
std::vector<llvm::PATypeHolder, std::allocator<llvm::PATypeHolder> >&, bool)
( Reader.cpp:1749)
==10132==    by 0x83E68C8: llvm::BytecodeReader::ParseModule() (Reader.cpp
:2351)
==10132==    by 0x83E74EE: llvm::BytecodeReader::ParseBytecode(unsigned char
const*, unsigned, std::string const&) ( Reader.cpp:2469)
==10132==    by 0x83E7F4B: (anonymous
namespace)::BytecodeFileReader::BytecodeFileReader(std::string const&,
llvm::BytecodeHandler*) (ReaderWrappers.cpp:54)
==10132==    by 0x83EA259: llvm::getBytecodeModuleProvider(std::string
const&, llvm::BytecodeHandler*) ( ReaderWrappers.cpp:287)
==10132==    by 0x83EA32A: llvm::ParseBytecodeFile(std::string const&,
std::string*) (ReaderWrappers.cpp:297)
==10132==    by 0x83D0920: main (opt.cpp:87)
==10132==
==10132==
==10132== 108 bytes in 3 blocks are still reachable in loss record 13 of 33
==10132==    at 0x401C451: malloc (vg_replace_malloc.c:149)
==10132==    by 0x87075F2: lt_emalloc (ltdl.c:1019)
==10132==    by 0x870AF9D: lt_dlloader_add (ltdl.c:4305)
==10132==    by 0x8707B4F: lt_dlinit (ltdl.c :2215)
==10132==    by 0x86FE67D: check_ltdl_initialization() (DynamicLibrary.cpp
:51)
==10132==    by 0x86FE223:
llvm::sys::DynamicLibrary::LoadLibraryPermanently(char const*) (
DynamicLibrary.cpp:102)
==10132==    by 0x86F4599: llvm::PluginLoader::operator=(std::string const&)
( PluginLoader.cpp:31)
==10132==    by 0x83D3D79: void llvm::cl::opt_storage<llvm::PluginLoader,
false, true>::setValue<std::string>(std::string const&) (CommandLine.h:697)
==10132==    by 0x83D3C45: llvm::cl::opt<llvm::PluginLoader, false,
llvm::cl::parser<std::string> >::handleOccurrence(unsigned, char const*,
std::string const&) ( CommandLine.h:742)
==10132==    by 0x86E9728: llvm::cl::Option::addOccurrence(unsigned, char
const*, std::string const&) (CommandLine.cpp:639)
==10132==    by 0x86EAE9F: ProvideOption(llvm::cl::Option*, char const*,
char const*, int, char**, int&) ( CommandLine.cpp:125)
==10132==    by 0x86E8BB0: llvm::cl::ParseCommandLineOptions(int&, char**,
char const*) (CommandLine.cpp:486)
==10132==    by 0x83D08E0: main (opt.cpp:75)
==10132==
==10132==
==10132== 112 bytes in 1 blocks are still reachable in loss record 14 of 33
==10132==    at 0x401D73D: calloc (vg_replace_malloc.c:279)
==10132==    by 0x400E7CF: _dl_check_map_versions (in /lib/ld-2.3.4.so)
==10132==    by 0x422C2E3: dl_open_worker (in /lib/tls/libc.so.6)
==10132==    by 0x400D185: _dl_catch_error (in /lib/ld-2.3.4.so)
==10132==    by 0x422BBDF: _dl_open (in /lib/tls/libc.so.6)
==10132==    by 0x404FDA7: dlopen_doit (in /lib/libdl.so.2)
==10132==    by 0x400D185: _dl_catch_error (in /lib/ld-2.3.4.so)
==10132==    by 0x40501B4: _dlerror_run (in /lib/libdl.so.2)
==10132==    by 0x404FD30: dlopen@@GLIBC_2.1 (in /lib/libdl.so.2)
==10132==    by 0x87076FC: sys_dl_open (ltdl.c:1110)
==10132==    by 0x8707F75: tryall_dlopen (ltdl.c:2431)
==10132==    by 0x8709500: try_dlopen (ltdl.c:3374)
==10132==    by 0x87096A8: lt_dlopen (ltdl.c:3420)
==10132==    by 0x86FE22E:
llvm::sys::DynamicLibrary::LoadLibraryPermanently(char const*) (
DynamicLibrary.cpp:103)
==10132==    by 0x86F4599: llvm::PluginLoader::operator=(std::string const&)
(PluginLoader.cpp:31)
==10132==    by 0x83D3D79: void llvm::cl::opt_storage<llvm::PluginLoader,
false, true>::setValue<std::string>(std::string const&) (CommandLine.h:697)
==10132==    by 0x83D3C45: llvm::cl::opt<llvm::PluginLoader, false,
llvm::cl::parser<std::string> >::handleOccurrence(unsigned, char const*,
std::string const&) ( CommandLine.h:742)
==10132==    by 0x86E9728: llvm::cl::Option::addOccurrence(unsigned, char
const*, std::string const&) (CommandLine.cpp:639)
==10132==    by 0x86EAE9F: ProvideOption(llvm::cl::Option*, char const*,
char const*, int, char**, int&) ( CommandLine.cpp:125)
==10132==    by 0x86E8BB0: llvm::cl::ParseCommandLineOptions(int&, char**,
char const*) (CommandLine.cpp:486)
==10132==    by 0x83D08E0: main (opt.cpp:75)
==10132==
==10132==
==10132== 120 bytes in 3 blocks are still reachable in loss record 15 of 33
==10132==    at 0x401C7F0: operator new(unsigned) (vg_replace_malloc.c:164)
==10132==    by 0x83F39E5: llvm::OpaqueType::get() (DerivedTypes.h:363)
==10132==    by 0x84B5197: llvm::DerivedType::dropAllTypeUses() ( Type.cpp
:481)
==10132==    by 0x84B69F6:
llvm::DerivedType::refineAbstractTypeTo(llvm::Type const*) (Type.cpp:1288)
==10132==    by 0x852D604: llvm::TypeMap<llvm::PointerValType,
llvm::PointerType>::RefineAbstractType(llvm::PointerType*, llvm::DerivedType
const*, llvm::Type const*) ( Type.cpp:857)
==10132==    by 0x84B6CC6:
llvm::PointerType::refineAbstractType(llvm::DerivedType const*, llvm::Type
const*) (Type.cpp:1395)
==10132==    by 0x84B6A83:
llvm::DerivedType::refineAbstractTypeTo(llvm::Type const*) ( Type.cpp:1306)
==10132==    by 0x83E1DDB:
llvm::BytecodeReader::ParseTypes(std::vector<llvm::PATypeHolder,
std::allocator<llvm::PATypeHolder> >&, unsigned) (Reader.cpp:1408)
==10132==    by 0x83E5446: llvm::BytecodeReader::ParseGlobalTypes() (
Reader.cpp:1997)
==10132==    by 0x83E67E9: llvm::BytecodeReader::ParseModule() (Reader.cpp
:2339)
==10132==    by 0x83E74EE: llvm::BytecodeReader::ParseBytecode(unsigned char
const*, unsigned, std::string const&) ( Reader.cpp:2469)
==10132==    by 0x83E7F4B: (anonymous
namespace)::BytecodeFileReader::BytecodeFileReader(std::string const&,
llvm::BytecodeHandler*) (ReaderWrappers.cpp:54)
==10132==    by 0x83EA259: llvm::getBytecodeModuleProvider(std::string
const&, llvm::BytecodeHandler*) ( ReaderWrappers.cpp:287)
==10132==    by 0x83EA32A: llvm::ParseBytecodeFile(std::string const&,
std::string*) (ReaderWrappers.cpp:297)
==10132==    by 0x83D0920: main (opt.cpp:87)
==10132==
==10132==
==10132== 155 bytes in 1 blocks are still reachable in loss record 16 of 33
==10132==    at 0x401C451: malloc (vg_replace_malloc.c:149)
==10132==    by 0x401D7A6: realloc (vg_replace_malloc.c:306)
==10132==    by 0x4008D21: _dl_new_object (in /lib/ld-2.3.4.so )
==10132==    by 0x400542D: _dl_map_object_from_fd (in /lib/ld-2.3.4.so)
==10132==    by 0x4007050: _dl_map_object (in /lib/ld-2.3.4.so)
==10132==    by 0x422C23D: dl_open_worker (in /lib/tls/libc.so.6)
==10132==    by 0x400D185: _dl_catch_error (in /lib/ld-2.3.4.so)
==10132==    by 0x422BBDF: _dl_open (in /lib/tls/libc.so.6)
==10132==    by 0x404FDA7: dlopen_doit (in /lib/libdl.so.2)
==10132==    by 0x400D185: _dl_catch_error (in /lib/ld-2.3.4.so)
==10132==    by 0x40501B4: _dlerror_run (in /lib/libdl.so.2)
==10132==    by 0x404FD30: dlopen@@GLIBC_2.1 (in /lib/libdl.so.2)
==10132==    by 0x87076FC: sys_dl_open (ltdl.c:1110)
==10132==    by 0x8707F75: tryall_dlopen (ltdl.c:2431)
==10132==    by 0x8709500: try_dlopen (ltdl.c:3374)
==10132==    by 0x87096A8: lt_dlopen (ltdl.c:3420)
==10132==    by 0x86FE22E:
llvm::sys::DynamicLibrary::LoadLibraryPermanently(char const*) (
DynamicLibrary.cpp:103)
==10132==    by 0x86F4599: llvm::PluginLoader::operator=(std::string const&)
(PluginLoader.cpp:31)
==10132==    by 0x83D3D79: void llvm::cl::opt_storage<llvm::PluginLoader,
false, true>::setValue<std::string>(std::string const&) (CommandLine.h:697)
==10132==    by 0x83D3C45: llvm::cl::opt<llvm::PluginLoader, false,
llvm::cl::parser<std::string> >::handleOccurrence(unsigned, char const*,
std::string const&) ( CommandLine.h:742)
==10132==    by 0x86E9728: llvm::cl::Option::addOccurrence(unsigned, char
const*, std::string const&) (CommandLine.cpp:639)
==10132==    by 0x86EAE9F: ProvideOption(llvm::cl::Option*, char const*,
char const*, int, char**, int&) ( CommandLine.cpp:125)
==10132==    by 0x86E8BB0: llvm::cl::ParseCommandLineOptions(int&, char**,
char const*) (CommandLine.cpp:486)
==10132==    by 0x83D08E0: main (opt.cpp:75)
==10132==
==10132==
==10132== 252 bytes in 7 blocks are still reachable in loss record 17 of 33
==10132==    at 0x401C7F0: operator new(unsigned) (vg_replace_malloc.c:164)
==10132==    by 0x84D490B: llvm::ConstantCreator<llvm::ConstantFP,
llvm::Type, unsigned long long>::create(llvm::Type const*, unsigned long
long) ( Constants.cpp:804)
==10132==    by 0x84CFDE6: (anonymous namespace)::ValueMap<unsigned long
long, llvm::Type, llvm::ConstantFP, false>::getOrCreate(llvm::Type const*,
unsigned long long const&) (Constants.cpp :639)
==10132==    by 0x8493E97: llvm::ConstantFP::get(llvm::Type const*, double)
(Constants.cpp:834)
==10132==    by 0x83E362B:
llvm::BytecodeReader::ParseConstantPoolValue(unsigned) (Reader.cpp:1588)
==10132==    by 0x83E44E0:
llvm::BytecodeReader::ParseConstantPool(std::vector<llvm::BytecodeReader::ValueList*,
std::allocator<llvm::BytecodeReader::ValueList*> >&,
std::vector<llvm::PATypeHolder, std::allocator<llvm::PATypeHolder> >&, bool)
( Reader.cpp:1749)
==10132==    by 0x83E68C8: llvm::BytecodeReader::ParseModule() (Reader.cpp
:2351)
==10132==    by 0x83E74EE: llvm::BytecodeReader::ParseBytecode(unsigned char
const*, unsigned, std::string const&) ( Reader.cpp:2469)
==10132==    by 0x83E7F4B: (anonymous
namespace)::BytecodeFileReader::BytecodeFileReader(std::string const&,
llvm::BytecodeHandler*) (ReaderWrappers.cpp:54)
==10132==    by 0x83EA259: llvm::getBytecodeModuleProvider(std::string
const&, llvm::BytecodeHandler*) ( ReaderWrappers.cpp:287)
==10132==    by 0x83EA32A: llvm::ParseBytecodeFile(std::string const&,
std::string*) (ReaderWrappers.cpp:297)
==10132==    by 0x83D0920: main (opt.cpp:87)
==10132==
==10132==
==10132== 252 bytes in 7 blocks are still reachable in loss record 18 of 33
==10132==    at 0x401C7F0: operator new(unsigned) (vg_replace_malloc.c:164)
==10132==    by 0x84E8877: llvm::ConstantCreator<llvm::ConstantFP,
llvm::Type, unsigned>::create(llvm::Type const*, unsigned) (Constants.cpp:811)
==10132==    by 0x84D4BB0: (anonymous namespace)::ValueMap<unsigned,
llvm::Type, llvm::ConstantFP, false>::getOrCreate(llvm::Type const*,
unsigned const&) (Constants.cpp:639)
==10132==    by 0x8493E40: llvm::ConstantFP::get(llvm::Type const*, double)
( Constants.cpp:831)
==10132==    by 0x83E35BD:
llvm::BytecodeReader::ParseConstantPoolValue(unsigned) (Reader.cpp:1580)
==10132==    by 0x83E44E0:
llvm::BytecodeReader::ParseConstantPool(std::vector<llvm::BytecodeReader::ValueList*,
std::allocator<llvm::BytecodeReader::ValueList*> >&,
std::vector<llvm::PATypeHolder, std::allocator<llvm::PATypeHolder> >&, bool)
( Reader.cpp:1749)
==10132==    by 0x83E68C8: llvm::BytecodeReader::ParseModule() (Reader.cpp
:2351)
==10132==    by 0x83E74EE: llvm::BytecodeReader::ParseBytecode(unsigned char
const*, unsigned, std::string const&) ( Reader.cpp:2469)
==10132==    by 0x83E7F4B: (anonymous
namespace)::BytecodeFileReader::BytecodeFileReader(std::string const&,
llvm::BytecodeHandler*) (ReaderWrappers.cpp:54)
==10132==    by 0x83EA259: llvm::getBytecodeModuleProvider(std::string
const&, llvm::BytecodeHandler*) ( ReaderWrappers.cpp:287)
==10132==    by 0x83EA32A: llvm::ParseBytecodeFile(std::string const&,
std::string*) (ReaderWrappers.cpp:297)
==10132==    by 0x83D0920: main (opt.cpp:87)
==10132==
==10132==
==10132== 615 bytes in 1 blocks are still reachable in loss record 19 of 33
==10132==    at 0x401D73D: calloc (vg_replace_malloc.c:279)
==10132==    by 0x4008B60: _dl_new_object (in /lib/ld-2.3.4.so)
==10132==    by 0x400542D: _dl_map_object_from_fd (in /lib/ld- 2.3.4.so)
==10132==    by 0x4007050: _dl_map_object (in /lib/ld-2.3.4.so)
==10132==    by 0x422C23D: dl_open_worker (in /lib/tls/libc.so.6)
==10132==    by 0x400D185: _dl_catch_error (in /lib/ld- 2.3.4.so)
==10132==    by 0x422BBDF: _dl_open (in /lib/tls/libc.so.6)
==10132==    by 0x404FDA7: dlopen_doit (in /lib/libdl.so.2)
==10132==    by 0x400D185: _dl_catch_error (in /lib/ld- 2.3.4.so)
==10132==    by 0x40501B4: _dlerror_run (in /lib/libdl.so.2)
==10132==    by 0x404FD30: dlopen@@GLIBC_2.1 (in /lib/libdl.so.2)
==10132==    by 0x87076FC: sys_dl_open (ltdl.c :1110)
==10132==    by 0x8707F75: tryall_dlopen (ltdl.c:2431)
==10132==    by 0x8709500: try_dlopen (ltdl.c:3374)
==10132==    by 0x87096A8: lt_dlopen (ltdl.c:3420)
==10132==    by 0x86FE22E:
llvm::sys::DynamicLibrary::LoadLibraryPermanently(char const*) (
DynamicLibrary.cpp:103)
==10132==    by 0x86F4599: llvm::PluginLoader::operator=(std::string const&)
(PluginLoader.cpp:31)
==10132==    by 0x83D3D79: void llvm::cl::opt_storage<llvm::PluginLoader,
false, true>::setValue<std::string>(std::string const&) ( CommandLine.h:697)
==10132==    by 0x83D3C45: llvm::cl::opt<llvm::PluginLoader, false,
llvm::cl::parser<std::string> >::handleOccurrence(unsigned, char const*,
std::string const&) (CommandLine.h:742)
==10132==    by 0x86E9728: llvm::cl::Option::addOccurrence(unsigned, char
const*, std::string const&) (CommandLine.cpp:639)
==10132==    by 0x86EAE9F: ProvideOption(llvm::cl::Option*, char const*,
char const*, int, char**, int&) ( CommandLine.cpp:125)
==10132==    by 0x86E8BB0: llvm::cl::ParseCommandLineOptions(int&, char**,
char const*) (CommandLine.cpp:486)
==10132==    by 0x83D08E0: main (opt.cpp:75)
==10132==
==10132==
==10132== 1,152 bytes in 5 blocks are still reachable in loss record 20 of
33
==10132==    at 0x401C7F0: operator new(unsigned) (vg_replace_malloc.c:164)
==10132==    by 0x40D6384: std::__default_alloc_template<true,
0>::allocate(unsigned) (in /usr/lib/libstdc++.so.5.0.7)
==10132==    by 0x8530F87: std::__simple_alloc<llvm::PATypeHandle,
std::__default_alloc_template<true, 0> >::allocate(unsigned)
(stl_alloc.h:232)
==10132==    by 0x8530F60: std::_Vector_alloc_base<llvm::PATypeHandle,
std::allocator<llvm::PATypeHandle>, true>::_M_allocate(unsigned)
(stl_vector.h:127)
==10132==    by 0x8528C00: llvm::PATypeHandle*
std::vector<llvm::PATypeHandle, std::allocator<llvm::PATypeHandle>
>::_M_allocate_and_copy<llvm::PATypeHandle*>(unsigned, llvm::PATypeHandle*,
llvm::PATypeHandle*) (stl_vector.h:773)
==10132==    by 0x85275A6: std::vector<llvm::PATypeHandle,
std::allocator<llvm::PATypeHandle> >::reserve(unsigned) (vector.tcc:76)
==10132==    by 0x84B4D5D:
llvm::StructType::StructType(std::vector<llvm::Type const*,
std::allocator<llvm::Type const*> > const&) ( Type.cpp:432)
==10132==    by 0x84B6648: llvm::StructType::get(std::vector<llvm::Type
const*, std::allocator<llvm::Type const*> > const&) (Type.cpp:1149)
==10132==    by 0x83E1A91: llvm::BytecodeReader::ParseType() ( Reader.cpp
:1347)
==10132==    by 0x83E1CF5:
llvm::BytecodeReader::ParseTypes(std::vector<llvm::PATypeHolder,
std::allocator<llvm::PATypeHolder> >&, unsigned) (Reader.cpp:1397)
==10132==    by 0x83E5446: llvm::BytecodeReader::ParseGlobalTypes() (
Reader.cpp:1997)
==10132==    by 0x83E67E9: llvm::BytecodeReader::ParseModule() (Reader.cpp
:2339)
==10132==    by 0x83E74EE: llvm::BytecodeReader::ParseBytecode(unsigned char
const*, unsigned, std::string const&) ( Reader.cpp:2469)
==10132==    by 0x83E7F4B: (anonymous
namespace)::BytecodeFileReader::BytecodeFileReader(std::string const&,
llvm::BytecodeHandler*) (ReaderWrappers.cpp:54)
==10132==    by 0x83EA259: llvm::getBytecodeModuleProvider(std::string
const&, llvm::BytecodeHandler*) ( ReaderWrappers.cpp:287)
==10132==    by 0x83EA32A: llvm::ParseBytecodeFile(std::string const&,
std::string*) (ReaderWrappers.cpp:297)
==10132==    by 0x83D0920: main (opt.cpp:87)
==10132==
==10132==
==10132== 1,232 bytes in 44 blocks are still reachable in loss record 21 of
33
==10132==    at 0x401C7F0: operator new(unsigned) (vg_replace_malloc.c:164)
==10132==    by 0x84D55B7:
llvm::ConstantCreator<llvm::ConstantAggregateZero, llvm::Type,
char>::create(llvm::Type const*, char const&) ( Constants.cpp:845)
==10132==    by 0x84D5238: (anonymous namespace)::ValueMap<char, llvm::Type,
llvm::ConstantAggregateZero, false>::getOrCreate(llvm::Type const*, char
const&) (Constants.cpp:639)
==10132==    by 0x8493ECB: llvm::ConstantAggregateZero::get(llvm::Type
const*) ( Constants.cpp:866)
==10132==    by 0x84914EC: llvm::Constant::getNullValue(llvm::Type const*) (
Constants.cpp:118)
==10132==    by 0x83D9BC3: llvm::BytecodeReader::getValue(unsigned,
unsigned, bool) (Reader.cpp:441)
==10132==    by 0x83DAA61: llvm::BytecodeReader::getConstantValue(unsigned,
unsigned) (Reader.cpp:515)
==10132==    by 0x83E6ACD: llvm::BytecodeReader::ParseModule() (Reader.cpp
:2385)
==10132==    by 0x83E74EE: llvm::BytecodeReader::ParseBytecode(unsigned char
const*, unsigned, std::string const&) ( Reader.cpp:2469)
==10132==    by 0x83E7F4B: (anonymous
namespace)::BytecodeFileReader::BytecodeFileReader(std::string const&,
llvm::BytecodeHandler*) (ReaderWrappers.cpp:54)
==10132==    by 0x83EA259: llvm::getBytecodeModuleProvider(std::string
const&, llvm::BytecodeHandler*) ( ReaderWrappers.cpp:287)
==10132==    by 0x83EA32A: llvm::ParseBytecodeFile(std::string const&,
std::string*) (ReaderWrappers.cpp:297)
==10132==    by 0x83D0920: main (opt.cpp:87)
==10132==
==10132==
==10132== 1,520 bytes in 38 blocks are still reachable in loss record 22 of
33
==10132==    at 0x401C7F0: operator new(unsigned) (vg_replace_malloc.c:164)
==10132==    by 0x84B6630: llvm::StructType::get(std::vector<llvm::Type
const*, std::allocator<llvm::Type const*> > const&) ( Type.cpp:1149)
==10132==    by 0x83E1A91: llvm::BytecodeReader::ParseType() (Reader.cpp
:1347)
==10132==    by 0x83E1CF5:
llvm::BytecodeReader::ParseTypes(std::vector<llvm::PATypeHolder,
std::allocator<llvm::PATypeHolder> >&, unsigned) ( Reader.cpp:1397)
==10132==    by 0x83E5446: llvm::BytecodeReader::ParseGlobalTypes() (
Reader.cpp:1997)
==10132==    by 0x83E67E9: llvm::BytecodeReader::ParseModule() (Reader.cpp
:2339)
==10132==    by 0x83E74EE: llvm::BytecodeReader::ParseBytecode(unsigned char
const*, unsigned, std::string const&) ( Reader.cpp:2469)
==10132==    by 0x83E7F4B: (anonymous
namespace)::BytecodeFileReader::BytecodeFileReader(std::string const&,
llvm::BytecodeHandler*) (ReaderWrappers.cpp:54)
==10132==    by 0x83EA259: llvm::getBytecodeModuleProvider(std::string
const&, llvm::BytecodeHandler*) ( ReaderWrappers.cpp:287)
==10132==    by 0x83EA32A: llvm::ParseBytecodeFile(std::string const&,
std::string*) (ReaderWrappers.cpp:297)
==10132==    by 0x83D0920: main (opt.cpp:87)
==10132==
==10132==
==10132== 2,744 bytes in 98 blocks are still reachable in loss record 23 of
33
==10132==    at 0x401C7F0: operator new(unsigned) (vg_replace_malloc.c:164)
==10132==    by 0x84D252B: llvm::ConstantCreator<llvm::ConstantArray,
llvm::ArrayType, std::vector<llvm::Constant*,
std::allocator<llvm::Constant*> > >::create(llvm::ArrayType const*,
std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > const&) (
Constants.cpp:546)
==10132==    by 0x84D0086: (anonymous
namespace)::ValueMap<std::vector<llvm::Constant*,
std::allocator<llvm::Constant*> >, llvm::ArrayType, llvm::ConstantArray,
true>::getOrCreate(llvm::ArrayType const*, std::vector<llvm::Constant*,
std::allocator<llvm::Constant*> > const&) ( Constants.cpp:639)
==10132==    by 0x849405E: llvm::ConstantArray::get(llvm::ArrayType const*,
std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > const&) (
Constants.cpp:912)
==10132==    by 0x83E42ED:
llvm::BytecodeReader::ParseStringConstants(unsigned,
std::vector<llvm::BytecodeReader::ValueList*,
std::allocator<llvm::BytecodeReader::ValueList*> >&) ( Reader.cpp:1711)
==10132==    by 0x83E44B6:
llvm::BytecodeReader::ParseConstantPool(std::vector<llvm::BytecodeReader::ValueList*,
std::allocator<llvm::BytecodeReader::ValueList*> >&,
std::vector<llvm::PATypeHolder, std::allocator<llvm::PATypeHolder> >&, bool)
( Reader.cpp:1746)
==10132==    by 0x83E68C8: llvm::BytecodeReader::ParseModule() (Reader.cpp
:2351)
==10132==    by 0x83E74EE: llvm::BytecodeReader::ParseBytecode(unsigned char
const*, unsigned, std::string const&) ( Reader.cpp:2469)
==10132==    by 0x83E7F4B: (anonymous
namespace)::BytecodeFileReader::BytecodeFileReader(std::string const&,
llvm::BytecodeHandler*) (ReaderWrappers.cpp:54)
==10132==    by 0x83EA259: llvm::getBytecodeModuleProvider(std::string
const&, llvm::BytecodeHandler*) ( ReaderWrappers.cpp:287)
==10132==    by 0x83EA32A: llvm::ParseBytecodeFile(std::string const&,
std::string*) (ReaderWrappers.cpp:297)
==10132==    by 0x83D0920: main (opt.cpp:87)
==10132==
==10132==
==10132== 2,784 bytes in 58 blocks are still reachable in loss record 24 of
33
==10132==    at 0x401C7F0: operator new(unsigned) (vg_replace_malloc.c:164)
==10132==    by 0x84B644E: llvm::ArrayType::get(llvm::Type const*, unsigned
long long) (Type.cpp:1045)
==10132==    by 0x83E185C: llvm::BytecodeReader::ParseType() ( Reader.cpp
:1326)
==10132==    by 0x83E1CF5:
llvm::BytecodeReader::ParseTypes(std::vector<llvm::PATypeHolder,
std::allocator<llvm::PATypeHolder> >&, unsigned) (Reader.cpp:1397)
==10132==    by 0x83E5446: llvm::BytecodeReader::ParseGlobalTypes() (
Reader.cpp:1997)
==10132==    by 0x83E67E9: llvm::BytecodeReader::ParseModule() (Reader.cpp
:2339)
==10132==    by 0x83E74EE: llvm::BytecodeReader::ParseBytecode(unsigned char
const*, unsigned, std::string const&) ( Reader.cpp:2469)
==10132==    by 0x83E7F4B: (anonymous
namespace)::BytecodeFileReader::BytecodeFileReader(std::string const&,
llvm::BytecodeHandler*) (ReaderWrappers.cpp:54)
==10132==    by 0x83EA259: llvm::getBytecodeModuleProvider(std::string
const&, llvm::BytecodeHandler*) ( ReaderWrappers.cpp:287)
==10132==    by 0x83EA32A: llvm::ParseBytecodeFile(std::string const&,
std::string*) (ReaderWrappers.cpp:297)
==10132==    by 0x83D0920: main (opt.cpp:87)
==10132==
==10132==
==10132== 3,996 bytes in 111 blocks are still reachable in loss record 25 of
33
==10132==    at 0x401C7F0: operator new(unsigned) (vg_replace_malloc.c:164)
==10132==    by 0x84D4009: llvm::ConstantCreator<llvm::ConstantSInt,
llvm::Type, long long>::create(llvm::Type const*, long long const&) (
Constants.cpp:546)
==10132==    by 0x84D3C67: (anonymous namespace)::ValueMap<long long,
llvm::Type, llvm::ConstantSInt, false>::getOrCreate(llvm::Type const*, long
long const&) (Constants.cpp:639)
==10132==    by 0x8493CBB: llvm::ConstantSInt::get(llvm::Type const*, long
long) ( Constants.cpp:784)
==10132==    by 0x83E4265:
llvm::BytecodeReader::ParseStringConstants(unsigned,
std::vector<llvm::BytecodeReader::ValueList*,
std::allocator<llvm::BytecodeReader::ValueList*> >&) (Reader.cpp :1705)
==10132==    by 0x83E44B6:
llvm::BytecodeReader::ParseConstantPool(std::vector<llvm::BytecodeReader::ValueList*,
std::allocator<llvm::BytecodeReader::ValueList*> >&,
std::vector<llvm::PATypeHolder, std::allocator<llvm::PATypeHolder> >&, bool)
( Reader.cpp:1746)
==10132==    by 0x83E68C8: llvm::BytecodeReader::ParseModule() (Reader.cpp
:2351)
==10132==    by 0x83E74EE: llvm::BytecodeReader::ParseBytecode(unsigned char
const*, unsigned, std::string const&) ( Reader.cpp:2469)
==10132==    by 0x83E7F4B: (anonymous
namespace)::BytecodeFileReader::BytecodeFileReader(std::string const&,
llvm::BytecodeHandler*) (ReaderWrappers.cpp:54)
==10132==    by 0x83EA259: llvm::getBytecodeModuleProvider(std::string
const&, llvm::BytecodeHandler*) ( ReaderWrappers.cpp:287)
==10132==    by 0x83EA32A: llvm::ParseBytecodeFile(std::string const&,
std::string*) (ReaderWrappers.cpp:297)
==10132==    by 0x83D0920: main (opt.cpp:87)
==10132==
==10132==
==10132== 4,284 bytes in 119 blocks are still reachable in loss record 26 of
33
==10132==    at 0x401C7F0: operator new(unsigned) (vg_replace_malloc.c:164)
==10132==    by 0x84D46C1: llvm::ConstantCreator<llvm::ConstantUInt,
llvm::Type, unsigned long long>::create(llvm::Type const*, unsigned long
long const&) ( Constants.cpp:546)
==10132==    by 0x84D431F: (anonymous namespace)::ValueMap<unsigned long
long, llvm::Type, llvm::ConstantUInt, false>::getOrCreate(llvm::Type const*,
unsigned long long const&) (Constants.cpp :639)
==10132==    by 0x8493CE7: llvm::ConstantUInt::get(llvm::Type const*,
unsigned long long) (Constants.cpp:788)
==10132==    by 0x83E33AF:
llvm::BytecodeReader::ParseConstantPoolValue(unsigned) (Reader.cpp:1555)
==10132==    by 0x83E44E0:
llvm::BytecodeReader::ParseConstantPool(std::vector<llvm::BytecodeReader::ValueList*,
std::allocator<llvm::BytecodeReader::ValueList*> >&,
std::vector<llvm::PATypeHolder, std::allocator<llvm::PATypeHolder> >&, bool)
( Reader.cpp:1749)
==10132==    by 0x83E68C8: llvm::BytecodeReader::ParseModule() (Reader.cpp
:2351)
==10132==    by 0x83E74EE: llvm::BytecodeReader::ParseBytecode(unsigned char
const*, unsigned, std::string const&) ( Reader.cpp:2469)
==10132==    by 0x83E7F4B: (anonymous
namespace)::BytecodeFileReader::BytecodeFileReader(std::string const&,
llvm::BytecodeHandler*) (ReaderWrappers.cpp:54)
==10132==    by 0x83EA259: llvm::getBytecodeModuleProvider(std::string
const&, llvm::BytecodeHandler*) ( ReaderWrappers.cpp:287)
==10132==    by 0x83EA32A: llvm::ParseBytecodeFile(std::string const&,
std::string*) (ReaderWrappers.cpp:297)
==10132==    by 0x83D0920: main (opt.cpp:87)
==10132==
==10132==
==10132== 8,148 bytes in 291 blocks are still reachable in loss record 27 of
33
==10132==    at 0x401C7F0: operator new(unsigned) (vg_replace_malloc.c:164)
==10132==    by 0x84D811D: llvm::ConstantCreator<llvm::ConstantPointerNull,
llvm::PointerType, char>::create(llvm::PointerType const*, char const&) (
Constants.cpp:1092)
==10132==    by 0x84D7D9E: (anonymous namespace)::ValueMap<char,
llvm::PointerType, llvm::ConstantPointerNull,
false>::getOrCreate(llvm::PointerType const*, char const&) (Constants.cpp:639)

==10132==    by 0x849497B: llvm::ConstantPointerNull::get(llvm::PointerType
const*) (Constants.cpp:1116)
==10132==    by 0x84914D9: llvm::Constant::getNullValue(llvm::Type const*) (
Constants.cpp:113)
==10132==    by 0x83E14D3: llvm::BytecodeReader::ParseCompactionTable() (
Reader.cpp:1278)
==10132==    by 0x83E4AB6:
llvm::BytecodeReader::ParseFunctionBody(llvm::Function*) (Reader.cpp:1828)
==10132==    by 0x83E53D0: llvm::BytecodeReader::ParseAllFunctionBodies() (
Reader.cpp:1981)
==10132==    by 0x8406354: llvm::BytecodeReader::materializeModule() (
Reader.h:167)
==10132==    by 0x84074C9: llvm::ModuleProvider::releaseModule() (
ModuleProvider.h:53)
==10132==    by 0x8406370: llvm::BytecodeReader::releaseModule() (Reader.h
:177)
==10132==    by 0x83EA353: llvm::ParseBytecodeFile(std::string const&,
std::string*) ( ReaderWrappers.cpp:298)
==10132==    by 0x83D0920: main (opt.cpp:87)
==10132==
==10132==
==10132== 8,228 bytes in 187 blocks are still reachable in loss record 28 of
33
==10132==    at 0x401C7F0: operator new(unsigned) (vg_replace_malloc.c:164)
==10132==    by 0x84B6327: llvm::FunctionType::get(llvm::Type const*,
std::vector<llvm::Type const*, std::allocator<llvm::Type const*> > const&,
bool) (Type.cpp:996)
==10132==    by 0x84AC455:
llvm::ilist_traits<llvm::Function>::createSentinel() ( Module.cpp:32)
==10132==    by 0x850E85E: llvm::iplist<llvm::Function,
llvm::ilist_traits<llvm::Function> >::iplist() (ilist:238)
==10132==    by 0x84AC8ED: llvm::Module::Module(std::string const&) (
Module.cpp:64)
==10132==    by 0x83E6E4D: llvm::BytecodeReader::ParseBytecode(unsigned char
const*, unsigned, std::string const&) (Reader.cpp:2414)
==10132==    by 0x83E7F4B: (anonymous
namespace)::BytecodeFileReader::BytecodeFileReader(std::string const&,
llvm::BytecodeHandler*) ( ReaderWrappers.cpp:54)
==10132==    by 0x83EA259: llvm::getBytecodeModuleProvider(std::string
const&, llvm::BytecodeHandler*) (ReaderWrappers.cpp:287)
==10132==    by 0x83EA32A: llvm::ParseBytecodeFile(std::string const&,
std::string*) ( ReaderWrappers.cpp:297)
==10132==    by 0x83D0920: main (opt.cpp:87)
==10132==
==10132==
==10132== 12,200 bytes in 305 blocks are still reachable in loss record 29
of 33
==10132==    at 0x401C7F0: operator new(unsigned) (vg_replace_malloc.c:164)
==10132==    by 0x84B675E: llvm::PointerType::get(llvm::Type const*) (
Type.cpp:1203)
==10132==    by 0x849F822: llvm::GlobalVariable::GlobalVariable(llvm::Type
const*, bool, llvm::GlobalValue::LinkageTypes, llvm::Constant*, std::string
const&, llvm::Module*) ( Globals.cpp:79)
==10132==    by 0x84AC610:
llvm::ilist_traits<llvm::GlobalVariable>::createSentinel() (Module.cpp:40)
==10132==    by 0x850EB8E: llvm::iplist<llvm::GlobalVariable,
llvm::ilist_traits<llvm::GlobalVariable> >::iplist() (ilist:238)
==10132==    by 0x84AC8DB: llvm::Module::Module(std::string const&) (
Module.cpp:64)
==10132==    by 0x83E6E4D: llvm::BytecodeReader::ParseBytecode(unsigned char
const*, unsigned, std::string const&) (Reader.cpp :2414)
==10132==    by 0x83E7F4B: (anonymous
namespace)::BytecodeFileReader::BytecodeFileReader(std::string const&,
llvm::BytecodeHandler*) (ReaderWrappers.cpp:54)
==10132==    by 0x83EA259: llvm::getBytecodeModuleProvider(std::string
const&, llvm::BytecodeHandler*) ( ReaderWrappers.cpp:287)
==10132==    by 0x83EA32A: llvm::ParseBytecodeFile(std::string const&,
std::string*) (ReaderWrappers.cpp:297)
==10132==    by 0x83D0920: main (opt.cpp:87)
==10132==
==10132==
==10132== 37,576 bytes in 98 blocks are possibly lost in loss record 30 of
33
==10132==    at 0x401CC32: operator new[](unsigned)
(vg_replace_malloc.c:197)
==10132==    by 0x84922DB:
llvm::ConstantArray::ConstantArray(llvm::ArrayType const*,
std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > const&) (
Constants.cpp:247)
==10132==    by 0x84D2546: llvm::ConstantCreator<llvm::ConstantArray,
llvm::ArrayType, std::vector<llvm::Constant*,
std::allocator<llvm::Constant*> > >::create(llvm::ArrayType const*,
std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > const&) (
Constants.cpp:546)
==10132==    by 0x84D0086: (anonymous
namespace)::ValueMap<std::vector<llvm::Constant*,
std::allocator<llvm::Constant*> >, llvm::ArrayType, llvm::ConstantArray,
true>::getOrCreate(llvm::ArrayType const*, std::vector<llvm::Constant*,
std::allocator<llvm::Constant*> > const&) ( Constants.cpp:639)
==10132==    by 0x849405E: llvm::ConstantArray::get(llvm::ArrayType const*,
std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > const&) (
Constants.cpp:912)
==10132==    by 0x83E42ED:
llvm::BytecodeReader::ParseStringConstants(unsigned,
std::vector<llvm::BytecodeReader::ValueList*,
std::allocator<llvm::BytecodeReader::ValueList*> >&) ( Reader.cpp:1711)
==10132==    by 0x83E44B6:
llvm::BytecodeReader::ParseConstantPool(std::vector<llvm::BytecodeReader::ValueList*,
std::allocator<llvm::BytecodeReader::ValueList*> >&,
std::vector<llvm::PATypeHolder, std::allocator<llvm::PATypeHolder> >&, bool)
( Reader.cpp:1746)
==10132==    by 0x83E68C8: llvm::BytecodeReader::ParseModule() (Reader.cpp
:2351)
==10132==    by 0x83E74EE: llvm::BytecodeReader::ParseBytecode(unsigned char
const*, unsigned, std::string const&) ( Reader.cpp:2469)
==10132==    by 0x83E7F4B: (anonymous
namespace)::BytecodeFileReader::BytecodeFileReader(std::string const&,
llvm::BytecodeHandler*) (ReaderWrappers.cpp:54)
==10132==    by 0x83EA259: llvm::getBytecodeModuleProvider(std::string
const&, llvm::BytecodeHandler*) ( ReaderWrappers.cpp:287)
==10132==    by 0x83EA32A: llvm::ParseBytecodeFile(std::string const&,
std::string*) (ReaderWrappers.cpp:297)
==10132==    by 0x83D0920: main (opt.cpp:87)
==10132==
==10132==
==10132== 60,172 (15,624 direct, 44,548 indirect) bytes in 558 blocks are
definitely lost in loss record 31 of 33
==10132==    at 0x401C7F0: operator new(unsigned) (vg_replace_malloc.c:164)
==10132==    by 0x8499B7E: llvm::ETNode::setFather(llvm::ETNode*) (
Dominators.cpp:661)
==10132==    by 0x849A2CE:
llvm::ETForest::getNodeForBlock(llvm::BasicBlock*) ( Dominators.cpp:848)
==10132==    by 0x849A467:
llvm::ETForest::calculate(llvm::ImmediateDominators const&) (Dominators.cpp
:865)
==10132==    by 0x85010FD: llvm::ETForest::runOnFunction(llvm::Function&) (
Dominators.h :506)
==10132==    by 0x850FD3E:
llvm::FunctionPassManagerT::runPass(llvm::FunctionPass*, llvm::Function*) (
PassManagerT.h:795)
==10132==    by 0x85115E9:
llvm::PassManagerT<llvm::FTraits>::runPasses(llvm::Function*,
std::map<llvm::Pass*, std::vector<llvm::Pass*, std::allocator<llvm::Pass*>
>, std::less<llvm::Pass*>, std::allocator<std::pair<llvm::Pass* const,
std::vector<llvm::Pass*, std::allocator<llvm::Pass*> > > > >&) (
PassManagerT.h:596)
==10132==    by 0x851107A:
llvm::PassManagerT<llvm::FTraits>::runOnUnit(llvm::Function*) (
PassManagerT.h:282)
==10132==    by 0x85118AF:
llvm::FunctionPassManagerT::runOnFunction(llvm::Function&) ( PassManagerT.h
:884)
==10132==    by 0x84AED4D: llvm::FunctionPass::runOnModule(llvm::Module&) (
Pass.cpp:252)
==10132==    by 0x850FF38:
llvm::ModulePassManager::runPass(llvm::ModulePass*, llvm::Module*) (
PassManagerT.h :837)
==10132==    by 0x8512105:
llvm::PassManagerT<llvm::MTraits>::runPasses(llvm::Module*,
std::map<llvm::Pass*, std::vector<llvm::Pass*, std::allocator<llvm::Pass*>
>, std::less<llvm::Pass*>, std::allocator<std::pair<llvm::Pass* const,
std::vector<llvm::Pass*, std::allocator<llvm::Pass*> > > > >&) (
PassManagerT.h:596)
==10132==    by 0x8511B96:
llvm::PassManagerT<llvm::MTraits>::runOnUnit(llvm::Module*) (PassManagerT.h
:282)
==10132==    by 0x84ADD49:
llvm::ModulePassManager::runOnModule(llvm::Module&) ( PassManagerT.h:905)
==10132==    by 0x84AE0EE: llvm::PassManager::run(llvm::Module&) (Pass.cpp
:88)
==10132==    by 0x83D12BD: main (opt.cpp:167)
==10132==
==10132==
==10132== 44,548 bytes in 1,591 blocks are indirectly lost in loss record 32
of 33
==10132==    at 0x401C7F0: operator new(unsigned) (vg_replace_malloc.c:164)
==10132==    by 0x8499B7E: llvm::ETNode::setFather(llvm::ETNode*) (
Dominators.cpp:661)
==10132==    by 0x849A4ED:
llvm::ETForest::calculate(llvm::ImmediateDominators const&) ( Dominators.cpp
:870)
==10132==    by 0x85010FD: llvm::ETForest::runOnFunction(llvm::Function&) (
Dominators.h:506)
==10132==    by 0x850FD3E:
llvm::FunctionPassManagerT::runPass(llvm::FunctionPass*, llvm::Function*) (
PassManagerT.h:795)
==10132==    by 0x85115E9:
llvm::PassManagerT<llvm::FTraits>::runPasses(llvm::Function*,
std::map<llvm::Pass*, std::vector<llvm::Pass*, std::allocator<llvm::Pass*>
>, std::less<llvm::Pass*>, std::allocator<std::pair<llvm::Pass* const,
std::vector<llvm::Pass*, std::allocator<llvm::Pass*> > > > >&) (
PassManagerT.h:596)
==10132==    by 0x851107A:
llvm::PassManagerT<llvm::FTraits>::runOnUnit(llvm::Function*) (
PassManagerT.h:282)
==10132==    by 0x85118AF:
llvm::FunctionPassManagerT::runOnFunction(llvm::Function&) ( PassManagerT.h
:884)
==10132==    by 0x84AED4D: llvm::FunctionPass::runOnModule(llvm::Module&) (
Pass.cpp:252)
==10132==    by 0x850FF38:
llvm::ModulePassManager::runPass(llvm::ModulePass*, llvm::Module*) (
PassManagerT.h :837)
==10132==    by 0x8512105:
llvm::PassManagerT<llvm::MTraits>::runPasses(llvm::Module*,
std::map<llvm::Pass*, std::vector<llvm::Pass*, std::allocator<llvm::Pass*>
>, std::less<llvm::Pass*>, std::allocator<std::pair<llvm::Pass* const,
std::vector<llvm::Pass*, std::allocator<llvm::Pass*> > > > >&) (
PassManagerT.h:596)
==10132==    by 0x8511B96:
llvm::PassManagerT<llvm::MTraits>::runOnUnit(llvm::Module*) (PassManagerT.h
:282)
==10132==    by 0x84ADD49:
llvm::ModulePassManager::runOnModule(llvm::Module&) ( PassManagerT.h:905)
==10132==    by 0x84AE0EE: llvm::PassManager::run(llvm::Module&) (Pass.cpp
:88)
==10132==    by 0x83D12BD: main (opt.cpp:167)
==10132==
==10132==
==10132== 1,288,568 bytes in 72 blocks are still reachable in loss record 33
of 33
==10132==    at 0x401C7F0: operator new(unsigned) (vg_replace_malloc.c:164)
==10132==    by 0x40D6008: std::__default_alloc_template<true,
0>::_S_chunk_alloc(unsigned, int&) (in /usr/lib/libstdc++.so.5.0.7)
==10132==    by 0x40D60FC: std::__default_alloc_template<true,
0>::_S_refill(unsigned) (in /usr/lib/libstdc++.so.5.0.7)
==10132==    by 0x40D6416: std::__default_alloc_template<true,
0>::allocate(unsigned) (in /usr/lib/libstdc++.so.5.0.7)
==10132==    by 0x86FEC77:
std::__simple_alloc<std::_Rb_tree_node<std::pair<std::string const, void*>
>, std::__default_alloc_template<true, 0> >::allocate(unsigned)
(stl_alloc.h:232)
==10132==    by 0x86FEC45: std::_Rb_tree_alloc_base<std::pair<std::string
const, void*>, std::allocator<std::pair<std::string const, void*> >,
true>::_M_get_node() (stl_tree.h:564)
==10132==    by 0x86FEC1D: std::_Rb_tree_base<std::pair<std::string const,
void*>, std::allocator<std::pair<std::string const, void*> >
>::_Rb_tree_base(std::allocator<std::pair<std::string const, void*> >
const&) (stl_tree.h:579)
==10132==    by 0x86FEBD9: std::_Rb_tree<std::string, std::pair<std::string
const, void*>, std::_Select1st<std::pair<std::string const, void*> >,
std::less<std::string>, std::allocator<std::pair<std::string const, void*> >
>::_Rb_tree(std::less<std::string> const&,
std::allocator<std::pair<std::string const, void*> > const&)
(stl_tree.h:730)
==10132==    by 0x86FEB20: std::map<std::string, void*,
std::less<std::string>, std::allocator<std::pair<std::string const, void*> >
>::map() (stl_map.h:144)
==10132==    by 0x86FE5C6: __static_initialization_and_destruction_0(int,
int) ( DynamicLibrary.cpp:19)
==10132==    by 0x86FE76E:
_GLOBAL__I__ZN4llvm3sys14DynamicLibrary9AddSymbolEPKcPv (DynamicLibrary.cpp
:57)
==10132==    by 0x870B518: (within /storage/llvm/bin/opt)
==10132==    by 0x83CF670: (within /storage/llvm/bin/opt)
==10132==    by 0x870B4C0: __libc_csu_init (in /storage/llvm/bin/opt)
==10132==    by 0x4154E2D: (below main) (in /lib/tls/libc.so.6)
==10132==
==10132== LEAK SUMMARY:
==10132==    definitely lost: 15,624 bytes in 558 blocks.
==10132==    indirectly lost: 44,548 bytes in 1,591 blocks.
==10132==      possibly lost: 37,576 bytes in 98 blocks.
==10132==    still reachable: 1,336,876 bytes in 1,364 blocks.
==10132==         suppressed: 0 bytes in 0 blocks.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20060509/26448f6d/attachment.html>


More information about the llvm-dev mailing list