-
Notifications
You must be signed in to change notification settings - Fork 14.8k
Description
Bugzilla Link | 1651 |
Resolution | FIXED |
Resolved on | Mar 06, 2010 13:59 |
Version | unspecified |
OS | Linux |
Reporter | LLVM Bugzilla Contributor |
CC | @asl |
Extended Description
(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::_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, 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, 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, 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, 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::_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::lessstd::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::lessstd::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::lessstd::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::lessstd::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::allocatorllvm::cl::Option* >&, std::map<std::string, llvm::cl::Option*, std::lessstd::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::lessllvm::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::lessllvm::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::lessllvm::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::lessllvm::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::lessllvm::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::lessllvm::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::_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::DenseMapKeyInfollvm::BasicBlock* >::CopyFrom(llvm::DenseMap<llvm::BasicBlock*, llvm::Value*, llvm::DenseMapKeyInfollvm::BasicBlock* > const&) (DenseMap.h:184)
==20768== by 0x8C827E2: llvm::DenseMap<llvm::BasicBlock*, llvm::Value*, llvm::DenseMapKeyInfollvm::BasicBlock* >::DenseMap(llvm::DenseMap<llvm::BasicBlock*, llvm::Value*, llvm::DenseMapKeyInfollvm::BasicBlock* > const&) (DenseMap.h:63)
==20768== by 0x8C83191: llvm::DenseMap<llvm::Instruction*, llvm::DenseMap<llvm::BasicBlock*, llvm::Value*, llvm::DenseMapKeyInfollvm::BasicBlock* >, llvm::DenseMapKeyInfollvm::Instruction* >::InsertIntoBucket(llvm::Instruction* const&, llvm::DenseMap<llvm::BasicBlock*, llvm::Value*, llvm::DenseMapKeyInfollvm::BasicBlock* > const&, std::pair<llvm::Instruction*, llvm::DenseMap<llvm::BasicBlock*, llvm::Value*, llvm::DenseMapKeyInfollvm::BasicBlock* > >) (DenseMap.h:228)
==20768== by 0x8C831EC: llvm::DenseMap<llvm::Instruction, llvm::DenseMap<llvm::BasicBlock*, llvm::Value*, llvm::DenseMapKeyInfollvm::BasicBlock* >, llvm::DenseMapKeyInfollvm::Instruction* >::operator[](llvm::Instruction* const&) (DenseMap.h:174)
==20768== by 0x8C81A0A: llvm::MemoryDependenceAnalysis::getNonLocalDependency(llvm::Instruction*, llvm::DenseMap<llvm::BasicBlock*, llvm::Value*, llvm::DenseMapKeyInfollvm::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::DenseMapKeyInfollvm::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::DenseMapKeyInfollvm::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_allocatorllvm::SDNode*::deallocate(llvm::SDNode**, unsigned) (new_allocator.h:97)
==20768== by 0x862D200: std::_Vector_base<llvm::SDNode*, std::allocatorllvm::SDNode* >::_M_deallocate(llvm::SDNode**, unsigned) (stl_vector.h:134)
==20768== by 0x8983C61: std::vector<llvm::SDNode*, std::allocatorllvm::SDNode* >::_M_insert_aux(__gnu_cxx::__normal_iterator<llvm::SDNode**, std::vector<llvm::SDNode*, std::allocatorllvm::SDNode* > >, llvm::SDNode* const&) (vector.tcc:299)
==20768== by 0x8983D20: std::vector<llvm::SDNode*, std::allocatorllvm::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::_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_allocatorllvm::SDNode*::deallocate(llvm::SDNode**, unsigned) (new_allocator.h:97)
==20768== by 0x862D200: std::_Vector_base<llvm::SDNode*, std::allocatorllvm::SDNode* >::_M_deallocate(llvm::SDNode**, unsigned) (stl_vector.h:134)
==20768== by 0x862D27D: std::_Vector_base<llvm::SDNode*, std::allocatorllvm::SDNode* >::~_Vector_base() (stl_vector.h:120)
==20768== by 0x862D2DF: std::vector<llvm::SDNode*, std::allocatorllvm::SDNode* >::~vector() (stl_vector.h:268)
==20768== by 0x8AAF308: (anonymous namespace)::DAGCombiner::DAGCombiner() (DAGCombiner.cpp:76)_Vector_base() (stl_vector.h:120)
==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::_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_allocatorllvm::SUnit*::deallocate(llvm::SUnit**, unsigned) (new_allocator.h:97)
==20768== by 0x862D08E: std::_Vector_base<llvm::SUnit*, std::allocatorllvm::SUnit* >::_M_deallocate(llvm::SUnit**, unsigned) (stl_vector.h:134)
==20768== by 0x8AE6ABF: std::vector<llvm::SUnit*, std::allocatorllvm::SUnit* >::_M_insert_aux(__gnu_cxx::__normal_iterator<llvm::SUnit**, std::vector<llvm::SUnit*, std::allocatorllvm::SUnit* > >, llvm::SUnit* const&) (vector.tcc:299)
==20768== by 0x8AE6B7E: std::vector<llvm::SUnit*, std::allocatorllvm::SUnit* >::push_back(llvm::SUnit* const&) (stl_vector.h:610)
==20768== by 0x8AEB15A: std::priority_queue<llvm::SUnit*, std::vector<llvm::SUnit*, std::allocatorllvm::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::_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_allocatorllvm::SUnit*::deallocate(llvm::SUnit**, unsigned) (new_allocator.h:97)
==20768== by 0x862D08E: std::_Vector_base<llvm::SUnit*, std::allocatorllvm::SUnit* >::_M_deallocate(llvm::SUnit**, unsigned) (stl_vector.h:134)
==20768== by 0x862D10B: std::_Vector_base<llvm::SUnit*, std::allocatorllvm::SUnit* >::
==20768== by 0x862D16D: std::vector<llvm::SUnit*, std::allocatorllvm::SUnit* >::~vector() (stl_vector.h:268)
==20768== by 0x8AE982F: std::priority_queue<llvm::SUnit*, std::vector<llvm::SUnit*, std::allocatorllvm::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)_List_base() (stl_list.h:348)
==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::_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 > > >::deallocate(std::_List_node<std::vector<unsigned, std::allocator > >, unsigned) (new_allocator.h:97)
==20768== by 0x862D4DF: std::_List_base<std::vector<unsigned, std::allocator >, std::allocator<std::vector<unsigned, std::allocator > > >::_M_put_node(std::_List_node<std::vector<unsigned, std::allocator > >) (stl_list.h:321)
==20768== by 0x862E0C9: std::_List_base<std::vector<unsigned, std::allocator >, std::allocator<std::vector<unsigned, std::allocator > > >::_M_clear() (list.tcc:79)
==20768== by 0x862E108: std::_List_base<std::vector<unsigned, std::allocator >, std::allocator<std::vector<unsigned, std::allocator > > >::
==20768== by 0x862E126: std::list<std::vector<unsigned, std::allocator >, std::allocator<std::vector<unsigned, std::allocator > > >::~list() (stl_list.h:408)
==20768== by 0x8A39E50: llvm::SelectionDAG::SelectionDAG() (SelectionDAG.cpp:669)_Vector_base() (stl_vector.h:120)
==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::_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_allocatorllvm::CondCodeSDNode*::deallocate(llvm::CondCodeSDNode**, unsigned) (new_allocator.h:97)
==20768== by 0x862D372: std::_Vector_base<llvm::CondCodeSDNode*, std::allocatorllvm::CondCodeSDNode* >::_M_deallocate(llvm::CondCodeSDNode**, unsigned) (stl_vector.h:134)
==20768== by 0x862D3EF: std::_Vector_base<llvm::CondCodeSDNode*, std::allocatorllvm::CondCodeSDNode* >::
==20768== by 0x862D451: std::vector<llvm::CondCodeSDNode*, std::allocatorllvm::CondCodeSDNode* >::~vector() (stl_vector.h:268)
==20768== by 0x8A39E3E: llvm::SelectionDAG::SelectionDAG() (SelectionDAG.cpp:669)_Vector_base() (stl_vector.h:120)
==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::_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::allocatorllvm::Instruction* >::_M_allocate(unsigned) (stl_vector.h:117)
==20768== by 0x88F7C82: std::vector<llvm::Instruction*, std::allocatorllvm::Instruction* >::_M_insert_aux(__gnu_cxx::__normal_iterator<llvm::Instruction**, std::vector<llvm::Instruction*, std::allocatorllvm::Instruction* > >, llvm::Instruction* const&) (vector.tcc:275)
==20768== by 0x88F7EDA: std::vector<llvm::Instruction*, std::allocatorllvm::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::deallocate(int*, unsigned) (new_allocator.h:97)
==20768== by 0x862E1CE: std::_Vector_base<int, std::allocator >::_M_deallocate(int*, unsigned) (stl_vector.h:134)
==20768== by 0x862E24B: std::_Vector_base<int, std::allocator >::
==20768== by 0x862E2AD: std::vector<int, std::allocator >::~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)_Rb_tree() (stl_tree.h:592)
==20768== by 0x8B4DE76: std::auto_ptrllvm::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::_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::lessstd::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::lessstd::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::lessstd::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::lessstd::string, std::allocator<std::pair<std::string const, llvm::SDNode*> > >::
==20768== by 0x862B40E: std::map<std::string, llvm::SDNode*, std::lessstd::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::_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, 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, 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, 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, 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, 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.