==32557== Memcheck, a memory error detector ==32557== Copyright (C) 2002-2015, and GNU GPL'd, by Julian Seward et al. ==32557== Using Valgrind-3.11.0 and LibVEX; rerun with -h for copyright info ==32557== Command: ./llvm-dis ./tmp.bc ==32557== ==32557== ==32557== HEAP SUMMARY: ==32557== in use at exit: 140,344 bytes in 4 blocks ==32557== total heap usage: 889 allocs, 885 frees, 538,121 bytes allocated ==32557== ==32557== 16 bytes in 1 blocks are still reachable in loss record 1 of 4 ==32557== at 0x4C2E0EF: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) ==32557== by 0x7DEB33: initializeMutex() (ManagedStatic.cpp:27) ==32557== by 0x7DF388: void std::_Bind_simple::_M_invoke<>(std::_Index_tuple<>) (functional:1700) ==32557== by 0x7DF315: std::_Bind_simple::operator()() (functional:1688) ==32557== by 0x7DF22E: void std::__once_call_impl >() (mutex:714) ==32557== by 0x4E48A98: __pthread_once_slow (pthread_once.c:116) ==32557== by 0x7DEB17: __gthread_once(int*, void (*)()) (gthr-default.h:699) ==32557== by 0x7DF131: void std::call_once(std::once_flag&, void (&)()) (mutex:746) ==32557== by 0x7DEF9C: void llvm::call_once(std::once_flag&, void (&)()) (Threading.h:101) ==32557== by 0x7DEB68: getManagedStaticMutex() (ManagedStatic.cpp:31) ==32557== by 0x7DEBCC: llvm::ManagedStaticBase::RegisterManagedStatic(void* (*)(), void (*)(void*)) const (ManagedStatic.cpp:39) ==32557== by 0x7C3469: llvm::ManagedStatic<(anonymous namespace)::CommandLineParser, llvm::object_creator<(anonymous namespace)::CommandLineParser>, llvm::object_deleter<(anonymous namespace)::CommandLineParser> >::operator*() (ManagedStatic.h:67) ==32557== ==32557== 40 bytes in 1 blocks are still reachable in loss record 2 of 4 ==32557== at 0x4C2DB8F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) ==32557== by 0x43868D: llvm::safe_malloc(unsigned long) (MemAlloc.h:27) ==32557== by 0x854E5C: llvm::sys::MutexImpl::MutexImpl(bool) (Mutex.cpp:50) ==32557== by 0x7DEF48: llvm::sys::SmartMutex::SmartMutex(bool) (Mutex.h:98) ==32557== by 0x7DEB43: initializeMutex() (ManagedStatic.cpp:27) ==32557== by 0x7DF388: void std::_Bind_simple::_M_invoke<>(std::_Index_tuple<>) (functional:1700) ==32557== by 0x7DF315: std::_Bind_simple::operator()() (functional:1688) ==32557== by 0x7DF22E: void std::__once_call_impl >() (mutex:714) ==32557== by 0x4E48A98: __pthread_once_slow (pthread_once.c:116) ==32557== by 0x7DEB17: __gthread_once(int*, void (*)()) (gthr-default.h:699) ==32557== by 0x7DF131: void std::call_once(std::once_flag&, void (&)()) (mutex:746) ==32557== by 0x7DEF9C: void llvm::call_once(std::once_flag&, void (&)()) (Threading.h:101) ==32557== ==32557== 67,584 bytes in 1 blocks are still reachable in loss record 3 of 4 ==32557== at 0x4C2DB8F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) ==32557== by 0x43868D: llvm::safe_malloc(unsigned long) (MemAlloc.h:27) ==32557== by 0x86CDFD: CreateSigAltStack() (Signals.inc:254) ==32557== by 0x86D050: RegisterHandlers() (Signals.inc:277) ==32557== by 0x86D481: llvm::sys::AddSignalHandler(void (*)(void*), void*) (Signals.inc:386) ==32557== by 0x7E7582: RegisterCrashPrinter() (PrettyStackTrace.cpp:180) ==32557== by 0x7E75B5: llvm::EnablePrettyStackTrace() (PrettyStackTrace.cpp:188) ==32557== by 0x7DEA5D: llvm::PrettyStackTraceProgram::PrettyStackTraceProgram(int, char const* const*) (PrettyStackTrace.h:77) ==32557== by 0x7DE96F: llvm::InitLLVM::InitLLVM(int&, char const**&) (InitLLVM.cpp:25) ==32557== by 0x40A2C2: llvm::InitLLVM::InitLLVM(int&, char**&) (InitLLVM.h:35) ==32557== by 0x4070FF: main (llvm-dis.cpp:152) ==32557== ==32557== 72,704 bytes in 1 blocks are still reachable in loss record 4 of 4 ==32557== at 0x4C2DB8F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) ==32557== by 0x530F3B5: ??? (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.25) ==32557== by 0x40106B9: call_init.part.0 (dl-init.c:72) ==32557== by 0x40107CA: call_init (dl-init.c:30) ==32557== by 0x40107CA: _dl_init (dl-init.c:120) ==32557== by 0x4000C69: ??? (in /lib/x86_64-linux-gnu/ld-2.23.so) ==32557== by 0x1: ??? ==32557== by 0xFFF00058A: ??? ==32557== by 0xFFF000595: ??? ==32557== ==32557== LEAK SUMMARY: ==32557== definitely lost: 0 bytes in 0 blocks ==32557== indirectly lost: 0 bytes in 0 blocks ==32557== possibly lost: 0 bytes in 0 blocks ==32557== still reachable: 140,344 bytes in 4 blocks ==32557== suppressed: 0 bytes in 0 blocks ==32557== ==32557== For counts of detected and suppressed errors, rerun with: -v ==32557== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)