[LLVMbugs] [Bug 1651] New: ICE building llvm-gcc-4.2 - invalid free

bugzilla-daemon at cs.uiuc.edu bugzilla-daemon at cs.uiuc.edu
Tue Sep 11 05:14:15 PDT 2007


http://llvm.org/bugs/show_bug.cgi?id=1651

           Summary: ICE building llvm-gcc-4.2 - invalid free
           Product: new-bugs
           Version: unspecified
          Platform: Other
        OS/Version: Linux
            Status: NEW
          Keywords: build-problem
          Severity: major
          Priority: P2
         Component: new bugs
        AssignedTo: unassignedbugs at nondot.org
        ReportedBy: kenneth.hoste at elis.ugent.be
                CC: llvmbugs at cs.uiuc.edu


(this is my first bug report here, so please be gentle ;) )

While compiling llvm-gcc-4.2 on Linux/x86 (Fedora Core 4, 32-bit), I ran into
an ICE during stage1. 

More specifically, the following command fails:

/work/LLVM/llvm-gcc-4.2-obj/./gcc/xgcc -B/work/LLVM/llvm-gcc-4.2-obj/./gcc/
-B/work/LLVM/llvm-gcc-4.2-bin/i686-pc-linux-gnu/bin/
-B/work/LLVM/llvm-gcc-4.2-bin/i686-pc-linux-gnu/lib/ -isystem
/work/LLVM/llvm-gcc-4.2-bin/i686-pc-linux-gnu/include -isystem
/work/LLVM/llvm-gcc-4.2-bin/i686-pc-linux-gnu/sys-include -O2 -O2 -g -O2 
-DIN_GCC    -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes
-Wold-style-definition  -isystem ./include  -I. -I. -I../../llvm-gcc-4.2/gcc
-I../../llvm-gcc-4.2/gcc/. -I../../llvm-gcc-4.2/gcc/../include
-I../../llvm-gcc-4.2/gcc/../libcpp/include 
-I../../llvm-gcc-4.2/gcc/../libdecnumber -I../libdecnumber
-I/home/kehoste/work/LLVM/llvm/include -I/work/LLVM/llvm-obj/include  -g0
-finhibit-size-directive -fno-inline-functions -fno-exceptions
-fno-zero-initialized-in-bss -fno-toplevel-reorder  -fno-omit-frame-pointer \
  -c ../../llvm-gcc-4.2/gcc/crtstuff.c -DCRT_BEGIN \
  -o crtbegin.o

with

../../llvm-gcc-4.2/gcc/crtstuff.c:1: internal compiler error: Aborted

Running valgrind on it produces the output below. It seems the call to 'erase'
at llvm::PMDataManager::removeNotPreservedAnalysis(llvm::Pass*)
(PassManager.cpp:628) is the cause of this?




==20768== Memcheck, a memory error detector for x86-linux.
==20768== Copyright (C) 2002-2005, and GNU GPL'd, by Julian Seward et al.
==20768== Using valgrind-2.4.0, a program supervision framework for x86-linux.
==20768== Copyright (C) 2000-2005, and GNU GPL'd, by Julian Seward et al.
==20768== For more details, rerun with: -v
==20768== 
ignoring nonexistent directory
"/work/LLVM/llvm-gcc-4.2-bin/i686-pc-linux-gnu/include"
ignoring nonexistent directory
"/work/LLVM/llvm-gcc-4.2-bin/i686-pc-linux-gnu/sys-include"
ignoring duplicate directory "./include"
ignoring nonexistent directory
"/home/kehoste/work/LLVM/llvm-gcc-4.2-obj/gcc/../lib/gcc/i686-pc-linux-gnu/4.2.1/include"
ignoring nonexistent directory
"/home/kehoste/work/LLVM/llvm-gcc-4.2-obj/gcc/../lib/gcc/i686-pc-linux-gnu/4.2.1/../../../../i686-pc-linux-gnu/include"
ignoring nonexistent directory "/work/LLVM/llvm-gcc-4.2-bin/include"
ignoring nonexistent directory
"/work/LLVM/llvm-gcc-4.2-bin/lib/gcc/i686-pc-linux-gnu/4.2.1/include"
ignoring nonexistent directory
"/work/LLVM/llvm-gcc-4.2-bin/i686-pc-linux-gnu/include"
ignoring duplicate directory "."
ignoring duplicate directory "../../llvm-gcc-4.2/gcc/."
#include "..." search starts here:
#include <...> search starts here:
 .
 ../../llvm-gcc-4.2/gcc
 ../../llvm-gcc-4.2/gcc/../include
 ../../llvm-gcc-4.2/gcc/../libcpp/include
 ../../llvm-gcc-4.2/gcc/../libdecnumber
 ../libdecnumber
 /home/kehoste/work/LLVM/llvm/include
 /work/LLVM/llvm-obj/include
 /work/LLVM/llvm-gcc-4.2-obj/./gcc/include
 /usr/local/include
 /usr/include
End of search list.
GNU C version 4.2.1(llvm) (Based on Apple Inc. build 5530) (i686-pc-linux-gnu)
        compiled by GNU C version 4.2.0.
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=8192
Compiler executable checksum: 67319a9093bf38f24f1a85fc8270533a
==20768== Invalid free() / delete / delete[]
==20768==    at 0x1B9098CF: operator delete(void*) (vg_replace_malloc.c:155)
==20768==    by 0x862B67A:
_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKPKN4llvm8PassInfoEPNS3_4PassEEEE10deallocateEPSB_j
(new_allocator.h:97)
==20768==    by 0x862B69F: std::_Rb_tree<llvm::PassInfo const*,
std::pair<llvm::PassInfo const* const, llvm::Pass*>,
std::_Select1st<std::pair<llvm::PassInfo const* const, llvm::Pass*> >,
std::less<llvm::PassInfo const*>, std::allocator<std::pair<llvm::PassInfo
const* const, llvm::Pass*> >
>::_M_put_node(std::_Rb_tree_node<std::pair<llvm::PassInfo const* const,
llvm::Pass*> >*) (stl_tree.h:371)
==20768==    by 0x8C64703: std::_Rb_tree<llvm::PassInfo const*,
std::pair<llvm::PassInfo const* const, llvm::Pass*>,
std::_Select1st<std::pair<llvm::PassInfo const* const, llvm::Pass*> >,
std::less<llvm::PassInfo const*>, std::allocator<std::pair<llvm::PassInfo
const* const, llvm::Pass*> >
>::destroy_node(std::_Rb_tree_node<std::pair<llvm::PassInfo const* const,
llvm::Pass*> >*) (stl_tree.h:390)
==20768==    by 0x8D14000: std::_Rb_tree<llvm::PassInfo const*,
std::pair<llvm::PassInfo const* const, llvm::Pass*>,
std::_Select1st<std::pair<llvm::PassInfo const* const, llvm::Pass*> >,
std::less<llvm::PassInfo const*>, std::allocator<std::pair<llvm::PassInfo
const* const, llvm::Pass*> >
>::erase(std::_Rb_tree_iterator<std::pair<llvm::PassInfo const* const,
llvm::Pass*> >) (stl_tree.h:1034)
==20768==    by 0x8D1402B:
_ZNSt3mapIPKN4llvm8PassInfoEPNS0_4PassESt4lessIS3_ESaISt4pairIKS3_S5_EEE5eraseESt17_Rb_tree_iteratorISA_E
(stl_map.h:410)
==20768==    by 0x8D0DB85:
llvm::PMDataManager::removeNotPreservedAnalysis(llvm::Pass*)
(PassManager.cpp:628)
==20768==    by 0x8D1015B: llvm::PMDataManager::add(llvm::Pass*, bool)
(PassManager.cpp:749)
==20768==    by 0x8D10692:
llvm::FunctionPass::assignPassManager(llvm::PMStack&, llvm::PassManagerType)
(PassManager.cpp:1487)
==20768==    by 0x8D190D4:
llvm::FunctionPassManagerImpl::addTopLevelPass(llvm::Pass*)
(PassManager.cpp:164)
==20768==    by 0x8D0E1C6: llvm::PMTopLevelManager::schedulePass(llvm::Pass*)
(PassManager.cpp:445)
==20768==    by 0x8D14ADD: llvm::FunctionPassManagerImpl::add(llvm::Pass*)
(PassManager.cpp:132)
==20768==  Address 0x1BA686A8 is 3896 bytes inside a block of size 4080 alloc'd
==20768==    at 0x1B90939A: operator new(unsigned) (vg_replace_malloc.c:132)
==20768==    by 0x1B96FF56: __gnu_cxx::__pool<true>::_M_reserve_block(unsigned,
unsigned) (mt_allocator.cc:340)
==20768==    by 0x8D0B234:
__gnu_cxx::__mt_alloc<std::_Rb_tree_node<std::pair<int const, llvm::PassInfo*>
>, __gnu_cxx::__common_pool_policy<__gnu_cxx::__pool, true>
>::allocate(unsigned, void const*) (mt_allocator.h:698)
==20768==    by 0x8D0B25B: std::_Rb_tree<int, std::pair<int const,
llvm::PassInfo*>, std::_Select1st<std::pair<int const, llvm::PassInfo*> >,
std::less<int>, std::allocator<std::pair<int const, llvm::PassInfo*> >
>::_M_get_node() (stl_tree.h:356)
==20768==    by 0x8D0B273: std::_Rb_tree<int, std::pair<int const,
llvm::PassInfo*>, std::_Select1st<std::pair<int const, llvm::PassInfo*> >,
std::less<int>, std::allocator<std::pair<int const, llvm::PassInfo*> >
>::_M_create_node(std::pair<int const, llvm::PassInfo*> const&)
(stl_tree.h:365)
==20768==    by 0x8D0B330:
_ZNSt8_Rb_treeIiSt4pairIKiPN4llvm8PassInfoEESt10_Select1stIS5_ESt4lessIiESaIS5_EE9_M_insertEPSt18_Rb_tree_node_baseSD_RKS5_
(stl_tree.h:794)
==20768==    by 0x8D0B487: std::_Rb_tree<int, std::pair<int const,
llvm::PassInfo*>, std::_Select1st<std::pair<int const, llvm::PassInfo*> >,
std::less<int>, std::allocator<std::pair<int const, llvm::PassInfo*> >
>::insert_unique(std::pair<int const, llvm::PassInfo*> const&) (stl_tree.h:883)
==20768==    by 0x8D0B572: std::map<int, llvm::PassInfo*, std::less<int>,
std::allocator<std::pair<int const, llvm::PassInfo*> > >::insert(std::pair<int
const, llvm::PassInfo*> const&) (stl_map.h:360)
==20768==    by 0x8D0B5E3: (anonymous
namespace)::PassRegistrar::RegisterPass(llvm::PassInfo&) (Pass.cpp:157)
==20768==    by 0x8D082C2: llvm::RegisterPassBase::registerPass()
(Pass.cpp:221)
==20768==    by 0x8647CF8: llvm::RegisterPassBase::RegisterPassBase(char
const*, char const*, int, llvm::Pass* (*)(), bool) (PassSupport.h:145)
==20768==    by 0x8D3CBE5: llvm::RegisterPass<(anonymous
namespace)::Verifier>::RegisterPass(char const*, char const*, bool)
(PassSupport.h:169)
==20768== 
==20768== Invalid free() / delete / delete[]
==20768==    at 0x1B9098CF: operator delete(void*) (vg_replace_malloc.c:155)
==20768==    by 0x862B67A:
_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKPKN4llvm8PassInfoEPNS3_4PassEEEE10deallocateEPSB_j
(new_allocator.h:97)
==20768==    by 0x862B69F: std::_Rb_tree<llvm::PassInfo const*,
std::pair<llvm::PassInfo const* const, llvm::Pass*>,
std::_Select1st<std::pair<llvm::PassInfo const* const, llvm::Pass*> >,
std::less<llvm::PassInfo const*>, std::allocator<std::pair<llvm::PassInfo
const* const, llvm::Pass*> >
>::_M_put_node(std::_Rb_tree_node<std::pair<llvm::PassInfo const* const,
llvm::Pass*> >*) (stl_tree.h:371)
==20768==    by 0x862B6EF: std::_Rb_tree<llvm::PassInfo const*,
std::pair<llvm::PassInfo const* const, llvm::Pass*>,
std::_Select1st<std::pair<llvm::PassInfo const* const, llvm::Pass*> >,
std::less<llvm::PassInfo const*>, std::allocator<std::pair<llvm::PassInfo
const* const, llvm::Pass*> >
>::_M_destroy_node(std::_Rb_tree_node<std::pair<llvm::PassInfo const* const,
llvm::Pass*> >*) (stl_tree.h:401)
==20768==    by 0x862B737: std::_Rb_tree<llvm::PassInfo const*,
std::pair<llvm::PassInfo const* const, llvm::Pass*>,
std::_Select1st<std::pair<llvm::PassInfo const* const, llvm::Pass*> >,
std::less<llvm::PassInfo const*>, std::allocator<std::pair<llvm::PassInfo
const* const, llvm::Pass*> >
>::_M_erase(std::_Rb_tree_node<std::pair<llvm::PassInfo const* const,
llvm::Pass*> >*) (stl_tree.h:1325)
==20768==    by 0x862B717: std::_Rb_tree<llvm::PassInfo const*,
std::pair<llvm::PassInfo const* const, llvm::Pass*>,
std::_Select1st<std::pair<llvm::PassInfo const* const, llvm::Pass*> >,
std::less<llvm::PassInfo const*>, std::allocator<std::pair<llvm::PassInfo
const* const, llvm::Pass*> >
>::_M_erase(std::_Rb_tree_node<std::pair<llvm::PassInfo const* const,
llvm::Pass*> >*) (stl_tree.h:1323)
==20768==    by 0x862B766: std::_Rb_tree<llvm::PassInfo const*,
std::pair<llvm::PassInfo const* const, llvm::Pass*>,
std::_Select1st<std::pair<llvm::PassInfo const* const, llvm::Pass*> >,
std::less<llvm::PassInfo const*>, std::allocator<std::pair<llvm::PassInfo
const* const, llvm::Pass*> > >::clear() (stl_tree.h:711)
==20768==    by 0x862B7CC: std::map<llvm::PassInfo const*, llvm::Pass*,
std::less<llvm::PassInfo const*>, std::allocator<std::pair<llvm::PassInfo
const* const, llvm::Pass*> > >::clear() (stl_map.h:509)
==20768==    by 0x862B7E3: llvm::PMDataManager::initializeAnalysisInfo()
(PassManagers.h:242)
==20768==    by 0x8D0D975: llvm::PMStack::pop() (PassManager.cpp:1388)
==20768==    by 0x8D10218: llvm::ModulePass::assignPassManager(llvm::PMStack&,
llvm::PassManagerType) (PassManager.cpp:1437)
==20768==    by 0x8D18FEE: llvm::PassManagerImpl::addTopLevelPass(llvm::Pass*)
(PassManager.cpp:294)
==20768==  Address 0x1BAA8A68 is 736 bytes inside a block of size 4080 alloc'd
==20768==    at 0x1B90939A: operator new(unsigned) (vg_replace_malloc.c:132)
==20768==    by 0x1B96FF56: __gnu_cxx::__pool<true>::_M_reserve_block(unsigned,
unsigned) (mt_allocator.cc:340)
==20768==    by 0x8D5F1FC:
__gnu_cxx::__mt_alloc<std::_Rb_tree_node<std::pair<std::string const,
llvm::cl::Option*> >, __gnu_cxx::__common_pool_policy<__gnu_cxx::__pool, true>
>::allocate(unsigned, void const*) (mt_allocator.h:698)
==20768==    by 0x8D5F223: std::_Rb_tree<std::string, std::pair<std::string
const, llvm::cl::Option*>, std::_Select1st<std::pair<std::string const,
llvm::cl::Option*> >, std::less<std::string>,
std::allocator<std::pair<std::string const, llvm::cl::Option*> >
>::_M_get_node() (stl_tree.h:356)
==20768==    by 0x8D5F23B: std::_Rb_tree<std::string, std::pair<std::string
const, llvm::cl::Option*>, std::_Select1st<std::pair<std::string const,
llvm::cl::Option*> >, std::less<std::string>,
std::allocator<std::pair<std::string const, llvm::cl::Option*> >
>::_M_create_node(std::pair<std::string const, llvm::cl::Option*> const&)
(stl_tree.h:365)
==20768==    by 0x8D5F2F8:
_ZNSt8_Rb_treeISsSt4pairIKSsPN4llvm2cl6OptionEESt10_Select1stIS6_ESt4lessISsESaIS6_EE9_M_insertEPSt18_Rb_tree_node_baseSE_RKS6_
(stl_tree.h:794)
==20768==    by 0x8D5F4D8: std::_Rb_tree<std::string, std::pair<std::string
const, llvm::cl::Option*>, std::_Select1st<std::pair<std::string const,
llvm::cl::Option*> >, std::less<std::string>,
std::allocator<std::pair<std::string const, llvm::cl::Option*> >
>::insert_unique(std::pair<std::string const, llvm::cl::Option*> const&)
(stl_tree.h:887)
==20768==    by 0x8D5F53A: std::map<std::string, llvm::cl::Option*,
std::less<std::string>, std::allocator<std::pair<std::string const,
llvm::cl::Option*> > >::insert(std::pair<std::string const, llvm::cl::Option*>
const&) (stl_map.h:360)
==20768==    by 0x8D57A9F: GetOptionInfo(std::vector<llvm::cl::Option*,
std::allocator<llvm::cl::Option*> >&, std::map<std::string, llvm::cl::Option*,
std::less<std::string>, std::allocator<std::pair<std::string const,
llvm::cl::Option*> > >&) (CommandLine.cpp:116)
==20768==    by 0x8D57D0F: llvm::cl::ParseCommandLineOptions(int&, char**, char
const*) (CommandLine.cpp:340)
==20768==    by 0x860C771: llvm_initialize_backend (llvm-backend.cpp:143)
==20768==    by 0x85667B4: backend_init (toplev.c:2089)
==20768== 
==20768== Invalid free() / delete / delete[]
==20768==    at 0x1B9098CF: operator delete(void*) (vg_replace_malloc.c:155)
==20768==    by 0x862B900:
_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKPN4llvm10BasicBlockEPNS3_4LoopEEEE10deallocateEPSA_j
(new_allocator.h:97)
==20768==    by 0x862B925: std::_Rb_tree<llvm::BasicBlock*,
std::pair<llvm::BasicBlock* const, llvm::Loop*>,
std::_Select1st<std::pair<llvm::BasicBlock* const, llvm::Loop*> >,
std::less<llvm::BasicBlock*>, std::allocator<std::pair<llvm::BasicBlock* const,
llvm::Loop*> > >::_M_put_node(std::_Rb_tree_node<std::pair<llvm::BasicBlock*
const, llvm::Loop*> >*) (stl_tree.h:371)
==20768==    by 0x862B975: std::_Rb_tree<llvm::BasicBlock*,
std::pair<llvm::BasicBlock* const, llvm::Loop*>,
std::_Select1st<std::pair<llvm::BasicBlock* const, llvm::Loop*> >,
std::less<llvm::BasicBlock*>, std::allocator<std::pair<llvm::BasicBlock* const,
llvm::Loop*> >
>::_M_destroy_node(std::_Rb_tree_node<std::pair<llvm::BasicBlock* const,
llvm::Loop*> >*) (stl_tree.h:401)
==20768==    by 0x862B9BD: std::_Rb_tree<llvm::BasicBlock*,
std::pair<llvm::BasicBlock* const, llvm::Loop*>,
std::_Select1st<std::pair<llvm::BasicBlock* const, llvm::Loop*> >,
std::less<llvm::BasicBlock*>, std::allocator<std::pair<llvm::BasicBlock* const,
llvm::Loop*> > >::_M_erase(std::_Rb_tree_node<std::pair<llvm::BasicBlock*
const, llvm::Loop*> >*) (stl_tree.h:1325)
==20768==    by 0x862B99D: std::_Rb_tree<llvm::BasicBlock*,
std::pair<llvm::BasicBlock* const, llvm::Loop*>,
std::_Select1st<std::pair<llvm::BasicBlock* const, llvm::Loop*> >,
std::less<llvm::BasicBlock*>, std::allocator<std::pair<llvm::BasicBlock* const,
llvm::Loop*> > >::_M_erase(std::_Rb_tree_node<std::pair<llvm::BasicBlock*
const, llvm::Loop*> >*) (stl_tree.h:1323)
==20768==    by 0x8C7A972: std::_Rb_tree<llvm::BasicBlock*,
std::pair<llvm::BasicBlock* const, llvm::Loop*>,
std::_Select1st<std::pair<llvm::BasicBlock* const, llvm::Loop*> >,
std::less<llvm::BasicBlock*>, std::allocator<std::pair<llvm::BasicBlock* const,
llvm::Loop*> > >::clear() (stl_tree.h:667)
==20768==    by 0x8C7A9EB: std::map<llvm::BasicBlock*, llvm::Loop*,
std::less<llvm::BasicBlock*>, std::allocator<std::pair<llvm::BasicBlock* const,
llvm::Loop*> > >::clear() (stl_map.h:465)
==20768==    by 0x8C7792C: llvm::LoopInfo::releaseMemory() (LoopInfo.cpp:115)
==20768==    by 0x8D0E9AF: llvm::PMDataManager::removeDeadPasses(llvm::Pass*,
char const*, llvm::PassDebuggingString) (PassManager.cpp:670)
==20768==    by 0x8D0F671: llvm::FPPassManager::runOnFunction(llvm::Function&)
(PassManager.cpp:1178)
==20768==    by 0x8D0F727: llvm::FPPassManager::runOnModule(llvm::Module&)
(PassManager.cpp:1188)
==20768==  Address 0x1BB135A0 is 3336 bytes inside a block of size 4080 alloc'd
==20768==    at 0x1B90939A: operator new(unsigned) (vg_replace_malloc.c:132)
==20768==    by 0x1B96FF56: __gnu_cxx::__pool<true>::_M_reserve_block(unsigned,
unsigned) (mt_allocator.cc:340)
==20768==    by 0x8CD19E5:
__gnu_cxx::__mt_alloc<std::_Rb_tree_node<std::pair<std::pair<llvm::Type const*,
char> const, llvm::Constant*> >,
__gnu_cxx::__common_pool_policy<__gnu_cxx::__pool, true> >::allocate(unsigned,
void const*) (mt_allocator.h:698)
==20768==    by 0x8CD1A0D: std::_Rb_tree<std::pair<llvm::Type const*, char>,
std::pair<std::pair<llvm::Type const*, char> const, llvm::Constant*>,
std::_Select1st<std::pair<std::pair<llvm::Type const*, char> const,
llvm::Constant*> >, std::less<std::pair<llvm::Type const*, char> >,
std::allocator<std::pair<std::pair<llvm::Type const*, char> const,
llvm::Constant*> > >::_M_get_node() (stl_tree.h:356)
==20768==    by 0x8CD1A25: std::_Rb_tree<std::pair<llvm::Type const*, char>,
std::pair<std::pair<llvm::Type const*, char> const, llvm::Constant*>,
std::_Select1st<std::pair<std::pair<llvm::Type const*, char> const,
llvm::Constant*> >, std::less<std::pair<llvm::Type const*, char> >,
std::allocator<std::pair<std::pair<llvm::Type const*, char> const,
llvm::Constant*> > >::_M_create_node(std::pair<std::pair<llvm::Type const*,
char> const, llvm::Constant*> const&) (stl_tree.h:365)
==20768==    by 0x8CD1AE2:
_ZNSt8_Rb_treeISt4pairIPKN4llvm4TypeEcES0_IKS5_PNS1_8ConstantEESt10_Select1stIS9_ESt4lessIS5_ESaIS9_EE9_M_insertEPSt18_Rb_tree_node_baseSH_RKS9_
(stl_tree.h:794)
==20768==    by 0x8CD1C39: std::_Rb_tree<std::pair<llvm::Type const*, char>,
std::pair<std::pair<llvm::Type const*, char> const, llvm::Constant*>,
std::_Select1st<std::pair<std::pair<llvm::Type const*, char> const,
llvm::Constant*> >, std::less<std::pair<llvm::Type const*, char> >,
std::allocator<std::pair<std::pair<llvm::Type const*, char> const,
llvm::Constant*> > >::insert_unique(std::pair<std::pair<llvm::Type const*,
char> const, llvm::Constant*> const&) (stl_tree.h:883)
==20768==    by 0x8CD1DE1: std::_Rb_tree<std::pair<llvm::Type const*, char>,
std::pair<std::pair<llvm::Type const*, char> const, llvm::Constant*>,
std::_Select1st<std::pair<std::pair<llvm::Type const*, char> const,
llvm::Constant*> >, std::less<std::pair<llvm::Type const*, char> >,
std::allocator<std::pair<std::pair<llvm::Type const*, char> const,
llvm::Constant*> >
>::insert_unique(std::_Rb_tree_iterator<std::pair<std::pair<llvm::Type const*,
char> const, llvm::Constant*> >, std::pair<std::pair<llvm::Type const*, char>
const, llvm::Constant*> const&) (stl_tree.h:905)
==20768==    by 0x8CD2115:
_ZNSt3mapISt4pairIPKN4llvm4TypeEcEPNS1_8ConstantESt4lessIS5_ESaIS0_IKS5_S7_EEE6insertESt17_Rb_tree_iteratorISB_ERKSB_
(stl_map.h:384)
==20768==    by 0x8CD93EA: llvm::ValueMap<char, llvm::Type,
llvm::ConstantAggregateZero, false>::getOrCreate(llvm::Type const*, char
const&) (Constants.cpp:825)
==20768==    by 0x8CC53AD: llvm::ConstantAggregateZero::get(llvm::Type const*)
(Constants.cpp:993)
==20768==    by 0x8CC62F9: llvm::Constant::getNullValue(llvm::Type const*)
(Constants.cpp:122)
==20768== 
==20768== Conditional jump or move depends on uninitialised value(s)
==20768==    at 0x8C826E0: llvm::DenseMap<llvm::BasicBlock*, llvm::Value*,
llvm::DenseMapKeyInfo<llvm::BasicBlock*>
>::CopyFrom(llvm::DenseMap<llvm::BasicBlock*, llvm::Value*,
llvm::DenseMapKeyInfo<llvm::BasicBlock*> > const&) (DenseMap.h:184)
==20768==    by 0x8C827E2: llvm::DenseMap<llvm::BasicBlock*, llvm::Value*,
llvm::DenseMapKeyInfo<llvm::BasicBlock*>
>::DenseMap(llvm::DenseMap<llvm::BasicBlock*, llvm::Value*,
llvm::DenseMapKeyInfo<llvm::BasicBlock*> > const&) (DenseMap.h:63)
==20768==    by 0x8C83191: llvm::DenseMap<llvm::Instruction*,
llvm::DenseMap<llvm::BasicBlock*, llvm::Value*,
llvm::DenseMapKeyInfo<llvm::BasicBlock*> >,
llvm::DenseMapKeyInfo<llvm::Instruction*>
>::InsertIntoBucket(llvm::Instruction* const&,
llvm::DenseMap<llvm::BasicBlock*, llvm::Value*,
llvm::DenseMapKeyInfo<llvm::BasicBlock*> > const&,
std::pair<llvm::Instruction*, llvm::DenseMap<llvm::BasicBlock*, llvm::Value*,
llvm::DenseMapKeyInfo<llvm::BasicBlock*> > >*) (DenseMap.h:228)
==20768==    by 0x8C831EC: llvm::DenseMap<llvm::Instruction*,
llvm::DenseMap<llvm::BasicBlock*, llvm::Value*,
llvm::DenseMapKeyInfo<llvm::BasicBlock*> >,
llvm::DenseMapKeyInfo<llvm::Instruction*> >::operator[](llvm::Instruction*
const&) (DenseMap.h:174)
==20768==    by 0x8C81A0A:
llvm::MemoryDependenceAnalysis::getNonLocalDependency(llvm::Instruction*,
llvm::DenseMap<llvm::BasicBlock*, llvm::Value*,
llvm::DenseMapKeyInfo<llvm::BasicBlock*> >&) (MemoryDependenceAnalysis.cpp:225)
==20768==    by 0x8B8E13B: (anonymous
namespace)::GVN::processNonLocalLoad(llvm::LoadInst*,
llvm::SmallVector<llvm::Instruction*, 4>&) (GVN.cpp:808)
==20768==    by 0x8B8E6D4: (anonymous
namespace)::GVN::processLoad(llvm::LoadInst*, llvm::DenseMap<llvm::Value*,
llvm::LoadInst*, llvm::DenseMapKeyInfo<llvm::Value*> >&,
llvm::SmallVector<llvm::Instruction*, 4>&) (GVN.cpp:880)
==20768==    by 0x8B8E8D0: (anonymous
namespace)::GVN::processInstruction(llvm::Instruction*, (anonymous
namespace)::ValueNumberedSet&, llvm::DenseMap<llvm::Value*, llvm::LoadInst*,
llvm::DenseMapKeyInfo<llvm::Value*> >&, llvm::SmallVector<llvm::Instruction*,
4>&) (GVN.cpp:943)
==20768==    by 0x8B8ECC9: (anonymous
namespace)::GVN::iterateOnFunction(llvm::Function&) (GVN.cpp:1023)
==20768==    by 0x8B8EE1B: (anonymous
namespace)::GVN::runOnFunction(llvm::Function&) (GVN.cpp:985)
==20768==    by 0x8D0F586: llvm::FPPassManager::runOnFunction(llvm::Function&)
(PassManager.cpp:1168)
==20768==    by 0x8D0F727: llvm::FPPassManager::runOnModule(llvm::Module&)
(PassManager.cpp:1188)
==20768== 
==20768== Invalid free() / delete / delete[]
==20768==    at 0x1B9098CF: operator delete(void*) (vg_replace_malloc.c:155)
==20768==    by 0x862D1D6:
__gnu_cxx::new_allocator<llvm::SDNode*>::deallocate(llvm::SDNode**, unsigned)
(new_allocator.h:97)
==20768==    by 0x862D200: std::_Vector_base<llvm::SDNode*,
std::allocator<llvm::SDNode*> >::_M_deallocate(llvm::SDNode**, unsigned)
(stl_vector.h:134)
==20768==    by 0x8983C61: std::vector<llvm::SDNode*,
std::allocator<llvm::SDNode*>
>::_M_insert_aux(__gnu_cxx::__normal_iterator<llvm::SDNode**,
std::vector<llvm::SDNode*, std::allocator<llvm::SDNode*> > >, llvm::SDNode*
const&) (vector.tcc:299)
==20768==    by 0x8983D20: std::vector<llvm::SDNode*,
std::allocator<llvm::SDNode*> >::push_back(llvm::SDNode* const&)
(stl_vector.h:610)
==20768==    by 0x8AAE317: (anonymous namespace)::DAGCombiner::Run(bool)
(DAGCombiner.cpp:546)
==20768==    by 0x8AAE98D: llvm::SelectionDAG::Combine(bool,
llvm::AliasAnalysis&) (DAGCombiner.cpp:4758)
==20768==    by 0x8A5594B:
llvm::SelectionDAGISel::CodeGenAndEmitDAG(llvm::SelectionDAG&)
(SelectionDAGISel.cpp:4614)
==20768==    by 0x8A6B0A3:
llvm::SelectionDAGISel::SelectBasicBlock(llvm::BasicBlock*,
llvm::MachineFunction&, llvm::FunctionLoweringInfo&)
(SelectionDAGISel.cpp:4651)
==20768==    by 0x8A6C6AF:
llvm::SelectionDAGISel::runOnFunction(llvm::Function&)
(SelectionDAGISel.cpp:4352)
==20768==    by 0x897D6A3: (anonymous
namespace)::X86DAGToDAGISel::runOnFunction(llvm::Function&)
(X86ISelDAGToDAG.cpp:122)
==20768==    by 0x8D0F586: llvm::FPPassManager::runOnFunction(llvm::Function&)
(PassManager.cpp:1168)
==20768==  Address 0x1BAAB478 is 80 bytes inside a block of size 4080 alloc'd
==20768==    at 0x1B90939A: operator new(unsigned) (vg_replace_malloc.c:132)
==20768==    by 0x1B96FF56: __gnu_cxx::__pool<true>::_M_reserve_block(unsigned,
unsigned) (mt_allocator.cc:340)
==20768==    by 0x8CB2744: __gnu_cxx::__mt_alloc<std::pair<unsigned,
llvm::TargetMachineRegistry::Entry const*>,
__gnu_cxx::__common_pool_policy<__gnu_cxx::__pool, true> >::allocate(unsigned,
void const*) (mt_allocator.h:698)
==20768==    by 0x8CB276C: std::_Vector_base<std::pair<unsigned,
llvm::TargetMachineRegistry::Entry const*>, std::allocator<std::pair<unsigned,
llvm::TargetMachineRegistry::Entry const*> > >::_M_allocate(unsigned)
(stl_vector.h:117)
==20768==    by 0x8CB2E1A: std::vector<std::pair<unsigned,
llvm::TargetMachineRegistry::Entry const*>, std::allocator<std::pair<unsigned,
llvm::TargetMachineRegistry::Entry const*> >
>::_M_insert_aux(__gnu_cxx::__normal_iterator<std::pair<unsigned,
llvm::TargetMachineRegistry::Entry const*>*, std::vector<std::pair<unsigned,
llvm::TargetMachineRegistry::Entry const*>, std::allocator<std::pair<unsigned,
llvm::TargetMachineRegistry::Entry const*> > > >, std::pair<unsigned,
llvm::TargetMachineRegistry::Entry const*> const&) (vector.tcc:275)
==20768==    by 0x8CB3072: std::vector<std::pair<unsigned,
llvm::TargetMachineRegistry::Entry const*>, std::allocator<std::pair<unsigned,
llvm::TargetMachineRegistry::Entry const*> > >::push_back(std::pair<unsigned,
llvm::TargetMachineRegistry::Entry const*> const&) (stl_vector.h:610)
==20768==    by 0x8CB1A78:
llvm::TargetMachineRegistry::getClosestStaticTargetForModule(llvm::Module
const&, std::string&) (TargetMachineRegistry.cpp:58)
==20768==    by 0x860CA60: llvm_initialize_backend (llvm-backend.cpp:167)
==20768==    by 0x85667B4: backend_init (toplev.c:2089)
==20768==    by 0x85669AE: do_compile (toplev.c:2252)
==20768==    by 0x8566A29: toplev_main (toplev.c:2288)
==20768==    by 0x8112BB3: main (llvm-main.cpp:39)
==20768== 
==20768== Invalid free() / delete / delete[]
==20768==    at 0x1B9098CF: operator delete(void*) (vg_replace_malloc.c:155)
==20768==    by 0x862D1D6:
__gnu_cxx::new_allocator<llvm::SDNode*>::deallocate(llvm::SDNode**, unsigned)
(new_allocator.h:97)
==20768==    by 0x862D200: std::_Vector_base<llvm::SDNode*,
std::allocator<llvm::SDNode*> >::_M_deallocate(llvm::SDNode**, unsigned)
(stl_vector.h:134)
==20768==    by 0x862D27D: std::_Vector_base<llvm::SDNode*,
std::allocator<llvm::SDNode*> >::~_Vector_base() (stl_vector.h:120)
==20768==    by 0x862D2DF: std::vector<llvm::SDNode*,
std::allocator<llvm::SDNode*> >::~vector() (stl_vector.h:268)
==20768==    by 0x8AAF308: (anonymous namespace)::DAGCombiner::~DAGCombiner()
(DAGCombiner.cpp:76)
==20768==    by 0x8AAE99C: llvm::SelectionDAG::Combine(bool,
llvm::AliasAnalysis&) (DAGCombiner.cpp:4758)
==20768==    by 0x8A5594B:
llvm::SelectionDAGISel::CodeGenAndEmitDAG(llvm::SelectionDAG&)
(SelectionDAGISel.cpp:4614)
==20768==    by 0x8A6B0A3:
llvm::SelectionDAGISel::SelectBasicBlock(llvm::BasicBlock*,
llvm::MachineFunction&, llvm::FunctionLoweringInfo&)
(SelectionDAGISel.cpp:4651)
==20768==    by 0x8A6C6AF:
llvm::SelectionDAGISel::runOnFunction(llvm::Function&)
(SelectionDAGISel.cpp:4352)
==20768==    by 0x897D6A3: (anonymous
namespace)::X86DAGToDAGISel::runOnFunction(llvm::Function&)
(X86ISelDAGToDAG.cpp:122)
==20768==    by 0x8D0F586: llvm::FPPassManager::runOnFunction(llvm::Function&)
(PassManager.cpp:1168)
==20768==  Address 0x1BE49B60 is 2936 bytes inside a block of size 4080 alloc'd
==20768==    at 0x1B90939A: operator new(unsigned) (vg_replace_malloc.c:132)
==20768==    by 0x1B96FF56: __gnu_cxx::__pool<true>::_M_reserve_block(unsigned,
unsigned) (mt_allocator.cc:340)
==20768==    by 0x8D17FBC:
__gnu_cxx::__mt_alloc<std::_Rb_tree_node<std::pair<llvm::PassInfo const* const,
llvm::Pass*> >, __gnu_cxx::__common_pool_policy<__gnu_cxx::__pool, true>
>::allocate(unsigned, void const*) (mt_allocator.h:698)
==20768==    by 0x8D17FE3: std::_Rb_tree<llvm::PassInfo const*,
std::pair<llvm::PassInfo const* const, llvm::Pass*>,
std::_Select1st<std::pair<llvm::PassInfo const* const, llvm::Pass*> >,
std::less<llvm::PassInfo const*>, std::allocator<std::pair<llvm::PassInfo
const* const, llvm::Pass*> > >::_M_get_node() (stl_tree.h:356)
==20768==    by 0x8D17FFB: std::_Rb_tree<llvm::PassInfo const*,
std::pair<llvm::PassInfo const* const, llvm::Pass*>,
std::_Select1st<std::pair<llvm::PassInfo const* const, llvm::Pass*> >,
std::less<llvm::PassInfo const*>, std::allocator<std::pair<llvm::PassInfo
const* const, llvm::Pass*> > >::_M_create_node(std::pair<llvm::PassInfo const*
const, llvm::Pass*> const&) (stl_tree.h:365)
==20768==    by 0x8D180B8:
_ZNSt8_Rb_treeIPKN4llvm8PassInfoESt4pairIKS3_PNS0_4PassEESt10_Select1stIS8_ESt4lessIS3_ESaIS8_EE9_M_insertEPSt18_Rb_tree_node_baseSG_RKS8_
(stl_tree.h:794)
==20768==    by 0x8D18515: std::_Rb_tree<llvm::PassInfo const*,
std::pair<llvm::PassInfo const* const, llvm::Pass*>,
std::_Select1st<std::pair<llvm::PassInfo const* const, llvm::Pass*> >,
std::less<llvm::PassInfo const*>, std::allocator<std::pair<llvm::PassInfo
const* const, llvm::Pass*> >
>::insert_unique(std::_Rb_tree_iterator<std::pair<llvm::PassInfo const* const,
llvm::Pass*> >, std::pair<llvm::PassInfo const* const, llvm::Pass*> const&)
(stl_tree.h:921)
==20768==    by 0x8D186EB:
_ZNSt3mapIPKN4llvm8PassInfoEPNS0_4PassESt4lessIS3_ESaISt4pairIKS3_S5_EEE6insertESt17_Rb_tree_iteratorISA_ERKSA_
(stl_map.h:384)
==20768==    by 0x8D187CA: std::map<llvm::PassInfo const*, llvm::Pass*,
std::less<llvm::PassInfo const*>, std::allocator<std::pair<llvm::PassInfo
const* const, llvm::Pass*> > >::operator[](llvm::PassInfo const* const&)
(stl_map.h:339)
==20768==    by 0x8D0F0E0:
llvm::PMDataManager::recordAvailableAnalysis(llvm::Pass*) (PassManager.cpp:564)
==20768==    by 0x8D0F64C: llvm::FPPassManager::runOnFunction(llvm::Function&)
(PassManager.cpp:1177)
==20768==    by 0x8D0F727: llvm::FPPassManager::runOnModule(llvm::Module&)
(PassManager.cpp:1188)
==20768== 
==20768== Invalid free() / delete / delete[]
==20768==    at 0x1B9098CF: operator delete(void*) (vg_replace_malloc.c:155)
==20768==    by 0x862D064:
__gnu_cxx::new_allocator<llvm::SUnit*>::deallocate(llvm::SUnit**, unsigned)
(new_allocator.h:97)
==20768==    by 0x862D08E: std::_Vector_base<llvm::SUnit*,
std::allocator<llvm::SUnit*> >::_M_deallocate(llvm::SUnit**, unsigned)
(stl_vector.h:134)
==20768==    by 0x8AE6ABF: std::vector<llvm::SUnit*,
std::allocator<llvm::SUnit*>
>::_M_insert_aux(__gnu_cxx::__normal_iterator<llvm::SUnit**,
std::vector<llvm::SUnit*, std::allocator<llvm::SUnit*> > >, llvm::SUnit*
const&) (vector.tcc:299)
==20768==    by 0x8AE6B7E: std::vector<llvm::SUnit*,
std::allocator<llvm::SUnit*> >::push_back(llvm::SUnit* const&)
(stl_vector.h:610)
==20768==    by 0x8AEB15A: std::priority_queue<llvm::SUnit*,
std::vector<llvm::SUnit*, std::allocator<llvm::SUnit*> >, (anonymous
namespace)::bu_ls_rr_sort>::push(llvm::SUnit* const&) (stl_queue.h:429)
==20768==    by 0x8AEB22A: (anonymous
namespace)::RegReductionPriorityQueue<(anonymous
namespace)::bu_ls_rr_sort>::push(llvm::SUnit*) (ScheduleDAGRRList.cpp:445)
==20768==    by 0x8AE8CB8: (anonymous
namespace)::ScheduleDAGRRList::ListScheduleBottomUp()
(ScheduleDAGRRList.cpp:232)
==20768==    by 0x8AE90FB: (anonymous namespace)::ScheduleDAGRRList::Schedule()
(ScheduleDAGRRList.cpp:100)
==20768==    by 0x8ADDA43: llvm::ScheduleDAG::Run() (ScheduleDAG.cpp:834)
==20768==    by 0x8A55B9C:
llvm::SelectionDAGISel::ScheduleAndEmitDAG(llvm::SelectionDAG&)
(SelectionDAGISel.cpp:4857)
==20768==    by 0x8949D0A: (anonymous
namespace)::X86DAGToDAGISel::InstructionSelectBasicBlock(llvm::SelectionDAG&)
(X86ISelDAGToDAG.cpp:479)
==20768==  Address 0x1BAAB528 is 256 bytes inside a block of size 4080 alloc'd
==20768==    at 0x1B90939A: operator new(unsigned) (vg_replace_malloc.c:132)
==20768==    by 0x1B96FF56: __gnu_cxx::__pool<true>::_M_reserve_block(unsigned,
unsigned) (mt_allocator.cc:340)
==20768==    by 0x8CB2744: __gnu_cxx::__mt_alloc<std::pair<unsigned,
llvm::TargetMachineRegistry::Entry const*>,
__gnu_cxx::__common_pool_policy<__gnu_cxx::__pool, true> >::allocate(unsigned,
void const*) (mt_allocator.h:698)
==20768==    by 0x8CB276C: std::_Vector_base<std::pair<unsigned,
llvm::TargetMachineRegistry::Entry const*>, std::allocator<std::pair<unsigned,
llvm::TargetMachineRegistry::Entry const*> > >::_M_allocate(unsigned)
(stl_vector.h:117)
==20768==    by 0x8CB2E1A: std::vector<std::pair<unsigned,
llvm::TargetMachineRegistry::Entry const*>, std::allocator<std::pair<unsigned,
llvm::TargetMachineRegistry::Entry const*> >
>::_M_insert_aux(__gnu_cxx::__normal_iterator<std::pair<unsigned,
llvm::TargetMachineRegistry::Entry const*>*, std::vector<std::pair<unsigned,
llvm::TargetMachineRegistry::Entry const*>, std::allocator<std::pair<unsigned,
llvm::TargetMachineRegistry::Entry const*> > > >, std::pair<unsigned,
llvm::TargetMachineRegistry::Entry const*> const&) (vector.tcc:275)
==20768==    by 0x8CB3072: std::vector<std::pair<unsigned,
llvm::TargetMachineRegistry::Entry const*>, std::allocator<std::pair<unsigned,
llvm::TargetMachineRegistry::Entry const*> > >::push_back(std::pair<unsigned,
llvm::TargetMachineRegistry::Entry const*> const&) (stl_vector.h:610)
==20768==    by 0x8CB1A78:
llvm::TargetMachineRegistry::getClosestStaticTargetForModule(llvm::Module
const&, std::string&) (TargetMachineRegistry.cpp:58)
==20768==    by 0x860CA60: llvm_initialize_backend (llvm-backend.cpp:167)
==20768==    by 0x85667B4: backend_init (toplev.c:2089)
==20768==    by 0x85669AE: do_compile (toplev.c:2252)
==20768==    by 0x8566A29: toplev_main (toplev.c:2288)
==20768==    by 0x8112BB3: main (llvm-main.cpp:39)
==20768== 
==20768== Invalid free() / delete / delete[]
==20768==    at 0x1B9098CF: operator delete(void*) (vg_replace_malloc.c:155)
==20768==    by 0x862D064:
__gnu_cxx::new_allocator<llvm::SUnit*>::deallocate(llvm::SUnit**, unsigned)
(new_allocator.h:97)
==20768==    by 0x862D08E: std::_Vector_base<llvm::SUnit*,
std::allocator<llvm::SUnit*> >::_M_deallocate(llvm::SUnit**, unsigned)
(stl_vector.h:134)
==20768==    by 0x862D10B: std::_Vector_base<llvm::SUnit*,
std::allocator<llvm::SUnit*> >::~_Vector_base() (stl_vector.h:120)
==20768==    by 0x862D16D: std::vector<llvm::SUnit*,
std::allocator<llvm::SUnit*> >::~vector() (stl_vector.h:268)
==20768==    by 0x8AE982F: std::priority_queue<llvm::SUnit*,
std::vector<llvm::SUnit*, std::allocator<llvm::SUnit*> >, (anonymous
namespace)::bu_ls_rr_sort>::~priority_queue() (stl_queue.h:338)
==20768==    by 0x8AE98E8: (anonymous
namespace)::RegReductionPriorityQueue<(anonymous
namespace)::bu_ls_rr_sort>::~RegReductionPriorityQueue()
(ScheduleDAGRRList.cpp:398)
==20768==    by 0x8AEA4A5: (anonymous
namespace)::BURegReductionPriorityQueue<(anonymous
namespace)::bu_ls_rr_sort>::~BURegReductionPriorityQueue()
(ScheduleDAGRRList.cpp:466)
==20768==    by 0x8AE9693: (anonymous
namespace)::ScheduleDAGRRList::~ScheduleDAGRRList() (ScheduleDAGRRList.cpp:67)
==20768==    by 0x8A55BE1:
llvm::SelectionDAGISel::ScheduleAndEmitDAG(llvm::SelectionDAG&)
(SelectionDAGISel.cpp:4861)
==20768==    by 0x8949D0A: (anonymous
namespace)::X86DAGToDAGISel::InstructionSelectBasicBlock(llvm::SelectionDAG&)
(X86ISelDAGToDAG.cpp:479)
==20768==    by 0x8A55A70:
llvm::SelectionDAGISel::CodeGenAndEmitDAG(llvm::SelectionDAG&)
(SelectionDAGISel.cpp:4633)
==20768==  Address 0x1BAAB538 is 272 bytes inside a block of size 4080 alloc'd
==20768==    at 0x1B90939A: operator new(unsigned) (vg_replace_malloc.c:132)
==20768==    by 0x1B96FF56: __gnu_cxx::__pool<true>::_M_reserve_block(unsigned,
unsigned) (mt_allocator.cc:340)
==20768==    by 0x8CB2744: __gnu_cxx::__mt_alloc<std::pair<unsigned,
llvm::TargetMachineRegistry::Entry const*>,
__gnu_cxx::__common_pool_policy<__gnu_cxx::__pool, true> >::allocate(unsigned,
void const*) (mt_allocator.h:698)
==20768==    by 0x8CB276C: std::_Vector_base<std::pair<unsigned,
llvm::TargetMachineRegistry::Entry const*>, std::allocator<std::pair<unsigned,
llvm::TargetMachineRegistry::Entry const*> > >::_M_allocate(unsigned)
(stl_vector.h:117)
==20768==    by 0x8CB2E1A: std::vector<std::pair<unsigned,
llvm::TargetMachineRegistry::Entry const*>, std::allocator<std::pair<unsigned,
llvm::TargetMachineRegistry::Entry const*> >
>::_M_insert_aux(__gnu_cxx::__normal_iterator<std::pair<unsigned,
llvm::TargetMachineRegistry::Entry const*>*, std::vector<std::pair<unsigned,
llvm::TargetMachineRegistry::Entry const*>, std::allocator<std::pair<unsigned,
llvm::TargetMachineRegistry::Entry const*> > > >, std::pair<unsigned,
llvm::TargetMachineRegistry::Entry const*> const&) (vector.tcc:275)
==20768==    by 0x8CB3072: std::vector<std::pair<unsigned,
llvm::TargetMachineRegistry::Entry const*>, std::allocator<std::pair<unsigned,
llvm::TargetMachineRegistry::Entry const*> > >::push_back(std::pair<unsigned,
llvm::TargetMachineRegistry::Entry const*> const&) (stl_vector.h:610)
==20768==    by 0x8CB1A78:
llvm::TargetMachineRegistry::getClosestStaticTargetForModule(llvm::Module
const&, std::string&) (TargetMachineRegistry.cpp:58)
==20768==    by 0x860CA60: llvm_initialize_backend (llvm-backend.cpp:167)
==20768==    by 0x85667B4: backend_init (toplev.c:2089)
==20768==    by 0x85669AE: do_compile (toplev.c:2252)
==20768==    by 0x8566A29: toplev_main (toplev.c:2288)
==20768==    by 0x8112BB3: main (llvm-main.cpp:39)
==20768== 
==20768== Invalid free() / delete / delete[]
==20768==    at 0x1B9098CF: operator delete(void*) (vg_replace_malloc.c:155)
==20768==    by 0x862D4BA:
__gnu_cxx::new_allocator<std::_List_node<std::vector<unsigned,
std::allocator<unsigned> > >
>::deallocate(std::_List_node<std::vector<unsigned, std::allocator<unsigned> >
>*, unsigned) (new_allocator.h:97)
==20768==    by 0x862D4DF: std::_List_base<std::vector<unsigned,
std::allocator<unsigned> >, std::allocator<std::vector<unsigned,
std::allocator<unsigned> > >
>::_M_put_node(std::_List_node<std::vector<unsigned, std::allocator<unsigned> >
>*) (stl_list.h:321)
==20768==    by 0x862E0C9: std::_List_base<std::vector<unsigned,
std::allocator<unsigned> >, std::allocator<std::vector<unsigned,
std::allocator<unsigned> > > >::_M_clear() (list.tcc:79)
==20768==    by 0x862E108: std::_List_base<std::vector<unsigned,
std::allocator<unsigned> >, std::allocator<std::vector<unsigned,
std::allocator<unsigned> > > >::~_List_base() (stl_list.h:348)
==20768==    by 0x862E126: std::list<std::vector<unsigned,
std::allocator<unsigned> >, std::allocator<std::vector<unsigned,
std::allocator<unsigned> > > >::~list() (stl_list.h:408)
==20768==    by 0x8A39E50: llvm::SelectionDAG::~SelectionDAG()
(SelectionDAG.cpp:669)
==20768==    by 0x8A6B0B5:
llvm::SelectionDAGISel::SelectBasicBlock(llvm::BasicBlock*,
llvm::MachineFunction&, llvm::FunctionLoweringInfo&)
(SelectionDAGISel.cpp:4651)
==20768==    by 0x8A6C6AF:
llvm::SelectionDAGISel::runOnFunction(llvm::Function&)
(SelectionDAGISel.cpp:4352)
==20768==    by 0x897D6A3: (anonymous
namespace)::X86DAGToDAGISel::runOnFunction(llvm::Function&)
(X86ISelDAGToDAG.cpp:122)
==20768==    by 0x8D0F586: llvm::FPPassManager::runOnFunction(llvm::Function&)
(PassManager.cpp:1168)
==20768==    by 0x8D0F7F0: llvm::FunctionPassManagerImpl::run(llvm::Function&)
(PassManager.cpp:1126)
==20768==  Address 0x1BE49BB0 is 3016 bytes inside a block of size 4080 alloc'd
==20768==    at 0x1B90939A: operator new(unsigned) (vg_replace_malloc.c:132)
==20768==    by 0x1B96FF56: __gnu_cxx::__pool<true>::_M_reserve_block(unsigned,
unsigned) (mt_allocator.cc:340)
==20768==    by 0x8D17FBC:
__gnu_cxx::__mt_alloc<std::_Rb_tree_node<std::pair<llvm::PassInfo const* const,
llvm::Pass*> >, __gnu_cxx::__common_pool_policy<__gnu_cxx::__pool, true>
>::allocate(unsigned, void const*) (mt_allocator.h:698)
==20768==    by 0x8D17FE3: std::_Rb_tree<llvm::PassInfo const*,
std::pair<llvm::PassInfo const* const, llvm::Pass*>,
std::_Select1st<std::pair<llvm::PassInfo const* const, llvm::Pass*> >,
std::less<llvm::PassInfo const*>, std::allocator<std::pair<llvm::PassInfo
const* const, llvm::Pass*> > >::_M_get_node() (stl_tree.h:356)
==20768==    by 0x8D17FFB: std::_Rb_tree<llvm::PassInfo const*,
std::pair<llvm::PassInfo const* const, llvm::Pass*>,
std::_Select1st<std::pair<llvm::PassInfo const* const, llvm::Pass*> >,
std::less<llvm::PassInfo const*>, std::allocator<std::pair<llvm::PassInfo
const* const, llvm::Pass*> > >::_M_create_node(std::pair<llvm::PassInfo const*
const, llvm::Pass*> const&) (stl_tree.h:365)
==20768==    by 0x8D180B8:
_ZNSt8_Rb_treeIPKN4llvm8PassInfoESt4pairIKS3_PNS0_4PassEESt10_Select1stIS8_ESt4lessIS3_ESaIS8_EE9_M_insertEPSt18_Rb_tree_node_baseSG_RKS8_
(stl_tree.h:794)
==20768==    by 0x8D18515: std::_Rb_tree<llvm::PassInfo const*,
std::pair<llvm::PassInfo const* const, llvm::Pass*>,
std::_Select1st<std::pair<llvm::PassInfo const* const, llvm::Pass*> >,
std::less<llvm::PassInfo const*>, std::allocator<std::pair<llvm::PassInfo
const* const, llvm::Pass*> >
>::insert_unique(std::_Rb_tree_iterator<std::pair<llvm::PassInfo const* const,
llvm::Pass*> >, std::pair<llvm::PassInfo const* const, llvm::Pass*> const&)
(stl_tree.h:921)
==20768==    by 0x8D186EB:
_ZNSt3mapIPKN4llvm8PassInfoEPNS0_4PassESt4lessIS3_ESaISt4pairIKS3_S5_EEE6insertESt17_Rb_tree_iteratorISA_ERKSA_
(stl_map.h:384)
==20768==    by 0x8D187CA: std::map<llvm::PassInfo const*, llvm::Pass*,
std::less<llvm::PassInfo const*>, std::allocator<std::pair<llvm::PassInfo
const* const, llvm::Pass*> > >::operator[](llvm::PassInfo const* const&)
(stl_map.h:339)
==20768==    by 0x8D0F0E0:
llvm::PMDataManager::recordAvailableAnalysis(llvm::Pass*) (PassManager.cpp:564)
==20768==    by 0x8D0F64C: llvm::FPPassManager::runOnFunction(llvm::Function&)
(PassManager.cpp:1177)
==20768==    by 0x8D0F727: llvm::FPPassManager::runOnModule(llvm::Module&)
(PassManager.cpp:1188)
==20768== 
==20768== Invalid free() / delete / delete[]
==20768==    at 0x1B9098CF: operator delete(void*) (vg_replace_malloc.c:155)
==20768==    by 0x862D348:
__gnu_cxx::new_allocator<llvm::CondCodeSDNode*>::deallocate(llvm::CondCodeSDNode**,
unsigned) (new_allocator.h:97)
==20768==    by 0x862D372: std::_Vector_base<llvm::CondCodeSDNode*,
std::allocator<llvm::CondCodeSDNode*> >::_M_deallocate(llvm::CondCodeSDNode**,
unsigned) (stl_vector.h:134)
==20768==    by 0x862D3EF: std::_Vector_base<llvm::CondCodeSDNode*,
std::allocator<llvm::CondCodeSDNode*> >::~_Vector_base() (stl_vector.h:120)
==20768==    by 0x862D451: std::vector<llvm::CondCodeSDNode*,
std::allocator<llvm::CondCodeSDNode*> >::~vector() (stl_vector.h:268)
==20768==    by 0x8A39E3E: llvm::SelectionDAG::~SelectionDAG()
(SelectionDAG.cpp:669)
==20768==    by 0x8A6B0B5:
llvm::SelectionDAGISel::SelectBasicBlock(llvm::BasicBlock*,
llvm::MachineFunction&, llvm::FunctionLoweringInfo&)
(SelectionDAGISel.cpp:4651)
==20768==    by 0x8A6C6AF:
llvm::SelectionDAGISel::runOnFunction(llvm::Function&)
(SelectionDAGISel.cpp:4352)
==20768==    by 0x897D6A3: (anonymous
namespace)::X86DAGToDAGISel::runOnFunction(llvm::Function&)
(X86ISelDAGToDAG.cpp:122)
==20768==    by 0x8D0F586: llvm::FPPassManager::runOnFunction(llvm::Function&)
(PassManager.cpp:1168)
==20768==    by 0x8D0F7F0: llvm::FunctionPassManagerImpl::run(llvm::Function&)
(PassManager.cpp:1126)
==20768==    by 0x8D0F93A: llvm::FunctionPassManager::run(llvm::Function&)
(PassManager.cpp:1071)
==20768==  Address 0x1BB15B58 is 560 bytes inside a block of size 4080 alloc'd
==20768==    at 0x1B90939A: operator new(unsigned) (vg_replace_malloc.c:132)
==20768==    by 0x1B96FF56: __gnu_cxx::__pool<true>::_M_reserve_block(unsigned,
unsigned) (mt_allocator.cc:340)
==20768==    by 0x88F6186: __gnu_cxx::__mt_alloc<llvm::Instruction*,
__gnu_cxx::__common_pool_policy<__gnu_cxx::__pool, true> >::allocate(unsigned,
void const*) (mt_allocator.h:698)
==20768==    by 0x88F61AE: std::_Vector_base<llvm::Instruction*,
std::allocator<llvm::Instruction*> >::_M_allocate(unsigned) (stl_vector.h:117)
==20768==    by 0x88F7C82: std::vector<llvm::Instruction*,
std::allocator<llvm::Instruction*>
>::_M_insert_aux(__gnu_cxx::__normal_iterator<llvm::Instruction**,
std::vector<llvm::Instruction*, std::allocator<llvm::Instruction*> > >,
llvm::Instruction* const&) (vector.tcc:275)
==20768==    by 0x88F7EDA: std::vector<llvm::Instruction*,
std::allocator<llvm::Instruction*> >::push_back(llvm::Instruction* const&)
(stl_vector.h:610)
==20768==    by 0x8BD72E4: (anonymous
namespace)::InstCombiner::AddToWorkList(llvm::Instruction*)
(InstructionCombining.cpp:86)
==20768==    by 0x8BCF6AD: AddReachableCodeToWorklist(llvm::BasicBlock*,
llvm::SmallPtrSet<llvm::BasicBlock*, 64>&, (anonymous
namespace)::InstCombiner&, llvm::TargetData const*)
(InstructionCombining.cpp:9940)
==20768==    by 0x8BCFA46: (anonymous
namespace)::InstCombiner::DoOneIteration(llvm::Function&, unsigned)
(InstructionCombining.cpp:9984)
==20768==    by 0x8BD03BA: (anonymous
namespace)::InstCombiner::runOnFunction(llvm::Function&)
(InstructionCombining.cpp:10143)
==20768==    by 0x8D0F586: llvm::FPPassManager::runOnFunction(llvm::Function&)
(PassManager.cpp:1168)
==20768==    by 0x8D0F7F0: llvm::FunctionPassManagerImpl::run(llvm::Function&)
(PassManager.cpp:1126)
==20768== 
==20768== Invalid free() / delete / delete[]
==20768==    at 0x1B9098CF: operator delete(void*) (vg_replace_malloc.c:155)
==20768==    by 0x862E1A4: __gnu_cxx::new_allocator<int>::deallocate(int*,
unsigned) (new_allocator.h:97)
==20768==    by 0x862E1CE: std::_Vector_base<int, std::allocator<int>
>::_M_deallocate(int*, unsigned) (stl_vector.h:134)
==20768==    by 0x862E24B: std::_Vector_base<int, std::allocator<int>
>::~_Vector_base() (stl_vector.h:120)
==20768==    by 0x862E2AD: std::vector<int, std::allocator<int> >::~vector()
(stl_vector.h:268)
==20768==    by 0x8B4A247: llvm::IndexedMap<int,
llvm::VirtReg2IndexFunctor>::~IndexedMap() (IndexedMap.h:36)
==20768==    by 0x8B4DC38: llvm::VirtRegMap::~VirtRegMap() (VirtRegMap.h:31)
==20768==    by 0x8B4DE76:
std::auto_ptr<llvm::VirtRegMap>::reset(llvm::VirtRegMap*) (memory:333)
==20768==    by 0x8B4717C: (anonymous
namespace)::RALinScan::runOnMachineFunction(llvm::MachineFunction&)
(RegAllocLinearScan.cpp:220)
==20768==    by 0x869B117:
llvm::MachineFunctionPass::runOnFunction(llvm::Function&)
(MachineFunctionPass.h:41)
==20768==    by 0x8D0F586: llvm::FPPassManager::runOnFunction(llvm::Function&)
(PassManager.cpp:1168)
==20768==    by 0x8D0F7F0: llvm::FunctionPassManagerImpl::run(llvm::Function&)
(PassManager.cpp:1126)
==20768==  Address 0x1BA69BF8 is 2248 bytes inside a block of size 4080 alloc'd
==20768==    at 0x1B90939A: operator new(unsigned) (vg_replace_malloc.c:132)
==20768==    by 0x1B96FF56: __gnu_cxx::__pool<true>::_M_reserve_block(unsigned,
unsigned) (mt_allocator.cc:340)
==20768==    by 0x8D0BF3E:
__gnu_cxx::__mt_alloc<std::_Rb_tree_node<std::pair<llvm::PassInfo const* const,
(anonymous namespace)::PassRegistrar::AnalysisGroupInfo> >,
__gnu_cxx::__common_pool_policy<__gnu_cxx::__pool, true> >::allocate(unsigned,
void const*) (mt_allocator.h:698)
==20768==    by 0x8D0BF65: std::_Rb_tree<llvm::PassInfo const*,
std::pair<llvm::PassInfo const* const, (anonymous
namespace)::PassRegistrar::AnalysisGroupInfo>,
std::_Select1st<std::pair<llvm::PassInfo const* const, (anonymous
namespace)::PassRegistrar::AnalysisGroupInfo> >, std::less<llvm::PassInfo
const*>, std::allocator<std::pair<llvm::PassInfo const* const, (anonymous
namespace)::PassRegistrar::AnalysisGroupInfo> > >::_M_get_node()
(stl_tree.h:356)
==20768==    by 0x8D0BF7D: std::_Rb_tree<llvm::PassInfo const*,
std::pair<llvm::PassInfo const* const, (anonymous
namespace)::PassRegistrar::AnalysisGroupInfo>,
std::_Select1st<std::pair<llvm::PassInfo const* const, (anonymous
namespace)::PassRegistrar::AnalysisGroupInfo> >, std::less<llvm::PassInfo
const*>, std::allocator<std::pair<llvm::PassInfo const* const, (anonymous
namespace)::PassRegistrar::AnalysisGroupInfo> >
>::_M_create_node(std::pair<llvm::PassInfo const* const, (anonymous
namespace)::PassRegistrar::AnalysisGroupInfo> const&) (stl_tree.h:365)
==20768==    by 0x8D0C03A:
_ZNSt8_Rb_treeIPKN4llvm8PassInfoESt4pairIKS3_N77_GLOBAL__N__home_kehoste_work_LLVM_llvm_lib_VMCore_Pass.cpp_00000000_F5B4444913PassRegistrar17AnalysisGroupInfoEESt10_Select1stIS9_ESt4lessIS3_ESaIS9_EE9_M_insertEPSt18_Rb_tree_node_baseSH_RKS9_
(stl_tree.h:794)
==20768==    by 0x8D0C191: std::_Rb_tree<llvm::PassInfo const*,
std::pair<llvm::PassInfo const* const, (anonymous
namespace)::PassRegistrar::AnalysisGroupInfo>,
std::_Select1st<std::pair<llvm::PassInfo const* const, (anonymous
namespace)::PassRegistrar::AnalysisGroupInfo> >, std::less<llvm::PassInfo
const*>, std::allocator<std::pair<llvm::PassInfo const* const, (anonymous
namespace)::PassRegistrar::AnalysisGroupInfo> >
>::insert_unique(std::pair<llvm::PassInfo const* const, (anonymous
namespace)::PassRegistrar::AnalysisGroupInfo> const&) (stl_tree.h:883)
==20768==    by 0x8D0C339: std::_Rb_tree<llvm::PassInfo const*,
std::pair<llvm::PassInfo const* const, (anonymous
namespace)::PassRegistrar::AnalysisGroupInfo>,
std::_Select1st<std::pair<llvm::PassInfo const* const, (anonymous
namespace)::PassRegistrar::AnalysisGroupInfo> >, std::less<llvm::PassInfo
const*>, std::allocator<std::pair<llvm::PassInfo const* const, (anonymous
namespace)::PassRegistrar::AnalysisGroupInfo> >
>::insert_unique(std::_Rb_tree_iterator<std::pair<llvm::PassInfo const* const,
(anonymous namespace)::PassRegistrar::AnalysisGroupInfo> >,
std::pair<llvm::PassInfo const* const, (anonymous
namespace)::PassRegistrar::AnalysisGroupInfo> const&) (stl_tree.h:905)
==20768==    by 0x8D0C66D:
_ZNSt3mapIPKN4llvm8PassInfoEN77_GLOBAL__N__home_kehoste_work_LLVM_llvm_lib_VMCore_Pass.cpp_00000000_F5B4444913PassRegistrar17AnalysisGroupInfoESt4lessIS3_ESaISt4pairIKS3_S6_EEE6insertESt17_Rb_tree_iteratorISB_ERKSB_
(stl_map.h:384)
==20768==    by 0x8D0C754:
_ZNSt3mapIPKN4llvm8PassInfoEN77_GLOBAL__N__home_kehoste_work_LLVM_llvm_lib_VMCore_Pass.cpp_00000000_F5B4444913PassRegistrar17AnalysisGroupInfoESt4lessIS3_ESaISt4pairIKS3_S6_EEEixERSA_
(stl_map.h:339)
==20768==    by 0x8D0C7B8: (anonymous
namespace)::PassRegistrar::RegisterAnalysisGroup(llvm::PassInfo*,
llvm::PassInfo const*, bool) (Pass.cpp:181)
==20768==    by 0x8D08591: llvm::RegisterAGBase::RegisterAGBase(int, int, bool)
(Pass.cpp:264)
==20768== 
==20768== Invalid free() / delete / delete[]
==20768==    at 0x1B9098CF: operator delete(void*) (vg_replace_malloc.c:155)
==20768==    by 0x862B2B2:
__gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<std::string const,
llvm::SDNode*> > >::deallocate(std::_Rb_tree_node<std::pair<std::string const,
llvm::SDNode*> >*, unsigned) (new_allocator.h:97)
==20768==    by 0x862B2D7: std::_Rb_tree<std::string, std::pair<std::string
const, llvm::SDNode*>, std::_Select1st<std::pair<std::string const,
llvm::SDNode*> >, std::less<std::string>, std::allocator<std::pair<std::string
const, llvm::SDNode*> > >::_M_put_node(std::_Rb_tree_node<std::pair<std::string
const, llvm::SDNode*> >*) (stl_tree.h:371)
==20768==    by 0x862B327: std::_Rb_tree<std::string, std::pair<std::string
const, llvm::SDNode*>, std::_Select1st<std::pair<std::string const,
llvm::SDNode*> >, std::less<std::string>, std::allocator<std::pair<std::string
const, llvm::SDNode*> >
>::_M_destroy_node(std::_Rb_tree_node<std::pair<std::string const,
llvm::SDNode*> >*) (stl_tree.h:401)
==20768==    by 0x862B38F: std::_Rb_tree<std::string, std::pair<std::string
const, llvm::SDNode*>, std::_Select1st<std::pair<std::string const,
llvm::SDNode*> >, std::less<std::string>, std::allocator<std::pair<std::string
const, llvm::SDNode*> > >::_M_erase(std::_Rb_tree_node<std::pair<std::string
const, llvm::SDNode*> >*) (stl_tree.h:1325)
==20768==    by 0x862B3BE: std::_Rb_tree<std::string, std::pair<std::string
const, llvm::SDNode*>, std::_Select1st<std::pair<std::string const,
llvm::SDNode*> >, std::less<std::string>, std::allocator<std::pair<std::string
const, llvm::SDNode*> > >::~_Rb_tree() (stl_tree.h:592)
==20768==    by 0x862B40E: std::map<std::string, llvm::SDNode*,
std::less<std::string>, std::allocator<std::pair<std::string const,
llvm::SDNode*> > >::~map() (stl_map.h:94)
==20768==    by 0x8A39E08: llvm::SelectionDAG::~SelectionDAG()
(SelectionDAG.cpp:669)
==20768==    by 0x8A6B0B5:
llvm::SelectionDAGISel::SelectBasicBlock(llvm::BasicBlock*,
llvm::MachineFunction&, llvm::FunctionLoweringInfo&)
(SelectionDAGISel.cpp:4651)
==20768==    by 0x8A6C6AF:
llvm::SelectionDAGISel::runOnFunction(llvm::Function&)
(SelectionDAGISel.cpp:4352)
==20768==    by 0x897D6A3: (anonymous
namespace)::X86DAGToDAGISel::runOnFunction(llvm::Function&)
(X86ISelDAGToDAG.cpp:122)
==20768==    by 0x8D0F586: llvm::FPPassManager::runOnFunction(llvm::Function&)
(PassManager.cpp:1168)
==20768==  Address 0x1BE94078 is 1856 bytes inside a block of size 4080 alloc'd
==20768==    at 0x1B90939A: operator new(unsigned) (vg_replace_malloc.c:132)
==20768==    by 0x1B96FF56: __gnu_cxx::__pool<true>::_M_reserve_block(unsigned,
unsigned) (mt_allocator.cc:340)
==20768==    by 0x8B4E570:
__gnu_cxx::__mt_alloc<std::_Rb_tree_node<std::pair<unsigned const,
llvm::TargetRegisterClass const*> >,
__gnu_cxx::__common_pool_policy<__gnu_cxx::__pool, true> >::allocate(unsigned,
void const*) (mt_allocator.h:698)
==20768==    by 0x8B4E597: std::_Rb_tree<unsigned, std::pair<unsigned const,
llvm::TargetRegisterClass const*>, std::_Select1st<std::pair<unsigned const,
llvm::TargetRegisterClass const*> >, std::less<unsigned>,
std::allocator<std::pair<unsigned const, llvm::TargetRegisterClass const*> >
>::_M_get_node() (stl_tree.h:356)
==20768==    by 0x8B4E5AF: std::_Rb_tree<unsigned, std::pair<unsigned const,
llvm::TargetRegisterClass const*>, std::_Select1st<std::pair<unsigned const,
llvm::TargetRegisterClass const*> >, std::less<unsigned>,
std::allocator<std::pair<unsigned const, llvm::TargetRegisterClass const*> >
>::_M_create_node(std::pair<unsigned const, llvm::TargetRegisterClass const*>
const&) (stl_tree.h:365)
==20768==    by 0x8B4E66C:
_ZNSt8_Rb_treeIjSt4pairIKjPKN4llvm19TargetRegisterClassEESt10_Select1stIS6_ESt4lessIjESaIS6_EE9_M_insertEPSt18_Rb_tree_node_baseSE_RKS6_
(stl_tree.h:794)
==20768==    by 0x8B4EAC9: std::_Rb_tree<unsigned, std::pair<unsigned const,
llvm::TargetRegisterClass const*>, std::_Select1st<std::pair<unsigned const,
llvm::TargetRegisterClass const*> >, std::less<unsigned>,
std::allocator<std::pair<unsigned const, llvm::TargetRegisterClass const*> >
>::insert_unique(std::_Rb_tree_iterator<std::pair<unsigned const,
llvm::TargetRegisterClass const*> >, std::pair<unsigned const,
llvm::TargetRegisterClass const*> const&) (stl_tree.h:921)
==20768==    by 0x8B4EC9F: std::map<unsigned, llvm::TargetRegisterClass const*,
std::less<unsigned>, std::allocator<std::pair<unsigned const,
llvm::TargetRegisterClass const*> >
>::insert(std::_Rb_tree_iterator<std::pair<unsigned const,
llvm::TargetRegisterClass const*> >, std::pair<unsigned const,
llvm::TargetRegisterClass const*> const&) (stl_map.h:384)
==20768==    by 0x8B4ED7E: std::map<unsigned, llvm::TargetRegisterClass const*,
std::less<unsigned>, std::allocator<std::pair<unsigned const,
llvm::TargetRegisterClass const*> > >::operator[](unsigned const&)
(stl_map.h:339)
==20768==    by 0x8B46E83: (anonymous
namespace)::RALinScan::ComputeRelatedRegClasses() (RegAllocLinearScan.cpp:172)
==20768==    by 0x8B47043: (anonymous
namespace)::RALinScan::runOnMachineFunction(llvm::MachineFunction&)
(RegAllocLinearScan.cpp:207)
==20768==    by 0x869B117:
llvm::MachineFunctionPass::runOnFunction(llvm::Function&)
(MachineFunctionPass.h:41)
==20768== 
==20768== ERROR SUMMARY: 478 errors from 12 contexts (suppressed: 21 from 1)
==20768== malloc/free: in use at exit: 1118021 bytes in 2525 blocks.
==20768== malloc/free: 11439 allocs, 9387 frees, 5218694 bytes allocated.
==20768== For counts of detected errors, rerun with: -v
==20768== searching for pointers to 2525 not-freed blocks.
==20768== checked 5192716 bytes.
==20768== 
==20768== LEAK SUMMARY:
==20768==    definitely lost: 3895 bytes in 14 blocks.
==20768==      possibly lost: 1548 bytes in 22 blocks.
==20768==    still reachable: 1112578 bytes in 2489 blocks.
==20768==         suppressed: 0 bytes in 0 blocks.
==20768== Use --leak-check=full to see details of leaked memory.


-- 
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.



More information about the llvm-bugs mailing list