Running pass: LoopRotatePass on Loop at depth 1 containing: %while.cond<header><exiting>,%_ZN7TempPtrI1CED2Ev.exit26,%delete.notnull.i29,%_ZN7TempPtrI1CED2Ev.exit30<exiting>,%_ZN7TempPtrI1CED2Ev.exit34<latch>
Running pass: LICMPass on Loop at depth 1 containing: %_ZN7TempPtrI1CED2Ev.exit26<header>,%while.cond<latch><exiting>,%delete.notnull.i29,%_ZN7TempPtrI1CED2Ev.exit30<exiting>
Running pass: SimpleLoopUnswitchPass on Loop at depth 1 containing: %_ZN7TempPtrI1CED2Ev.exit26<header>,%while.cond<latch><exiting>,%delete.notnull.i29,%_ZN7TempPtrI1CED2Ev.exit30<exiting>
Running pass: IndVarSimplifyPass on Loop at depth 1 containing: %_ZN7TempPtrI1CED2Ev.exit26<header>,%delete.notnull.i29,%_ZN7TempPtrI1CED2Ev.exit30<exiting>,%while.cond<latch><exiting>
Running pass: LoopIdiomRecognizePass on Loop at depth 1 containing: %_ZN7TempPtrI1CED2Ev.exit26<header>,%delete.notnull.i29,%_ZN7TempPtrI1CED2Ev.exit30<exiting>,%while.cond<latch><exiting>
Running pass: LoopDeletionPass on Loop at depth 1 containing: %_ZN7TempPtrI1CED2Ev.exit26<header>,%delete.notnull.i29,%_ZN7TempPtrI1CED2Ev.exit30<exiting>,%while.cond<latch><exiting>
Running pass: LoopFullUnrollPass on Loop at depth 1 containing: %_ZN7TempPtrI1CED2Ev.exit26<header>,%delete.notnull.i29,%_ZN7TempPtrI1CED2Ev.exit30<exiting>,%while.cond<latch><exiting>
Finished Loop pass manager run.
Running pass: MergedLoadStoreMotionPass on _ZN1CD2Ev
Running pass: GVN on _ZN1CD2Ev
Running pass: MemCpyOptPass on _ZN1CD2Ev
Running pass: SCCPPass on _ZN1CD2Ev
Running pass: BDCEPass on _ZN1CD2Ev
Running pass: InstCombinePass on _ZN1CD2Ev
Running pass: JumpThreadingPass on _ZN1CD2Ev
Running pass: CorrelatedValuePropagationPass on _ZN1CD2Ev
Running pass: DSEPass on _ZN1CD2Ev
Running pass: FunctionToLoopPassAdaptor<llvm::LICMPass> on _ZN1CD2Ev
Running pass: ADCEPass on _ZN1CD2Ev
Running pass: SimplifyCFGPass on _ZN1CD2Ev
Running pass: InstCombinePass on _ZN1CD2Ev
Finished llvm::Function pass manager run.
Finished CGSCC pass manager run.
Starting CGSCC pass manager run.
Running pass: InlinerPass on (_ZN1CD2Ev)
Running pass: PostOrderFunctionAttrsPass on (_ZN1CD2Ev)
Running pass: ArgumentPromotionPass on (_ZN1CD2Ev)
Running pass: CGSCCToFunctionPassAdaptor<llvm::PassManager<llvm::Function> > on (_ZN1CD2Ev)
Starting llvm::Function pass manager run.
Running pass: SROA on _ZN1CD2Ev
Running pass: EarlyCSEPass on _ZN1CD2Ev
Running pass: SpeculativeExecutionPass on _ZN1CD2Ev
Running pass: JumpThreadingPass on _ZN1CD2Ev
Running pass: CorrelatedValuePropagationPass on _ZN1CD2Ev
Running pass: SimplifyCFGPass on _ZN1CD2Ev
Running pass: InstCombinePass on _ZN1CD2Ev
Running pass: LibCallsShrinkWrapPass on _ZN1CD2Ev
Running pass: TailCallElimPass on _ZN1CD2Ev
Running pass: SimplifyCFGPass on _ZN1CD2Ev
Running pass: ReassociatePass on _ZN1CD2Ev
Running pass: RequireAnalysisPass<llvm::OptimizationRemarkEmitterAnalysis, llvm::Function, llvm::AnalysisManager<llvm::Function>> on _ZN1CD2Ev
Running pass: LoopRotatePass on Loop at depth 1 containing: %_ZN7TempPtrI1CED2Ev.exit26<header>,%delete.notnull.i29,%_ZN7TempPtrI1CED2Ev.exit30<exiting>,%while.cond<latch>
Running pass: LICMPass on Loop at depth 1 containing: %_ZN7TempPtrI1CED2Ev.exit26<header>,%delete.notnull.i29,%_ZN7TempPtrI1CED2Ev.exit30<latch><exiting>
Running pass: SimpleLoopUnswitchPass on Loop at depth 1 containing: %_ZN7TempPtrI1CED2Ev.exit26<header>,%delete.notnull.i29,%_ZN7TempPtrI1CED2Ev.exit30<latch><exiting>
Running pass: IndVarSimplifyPass on Loop at depth 1 containing: %_ZN7TempPtrI1CED2Ev.exit26<header>,%delete.notnull.i29,%_ZN7TempPtrI1CED2Ev.exit30<latch><exiting>
Running pass: LoopIdiomRecognizePass on Loop at depth 1 containing: %_ZN7TempPtrI1CED2Ev.exit26<header>,%delete.notnull.i29,%_ZN7TempPtrI1CED2Ev.exit30<latch><exiting>
Running pass: LoopDeletionPass on Loop at depth 1 containing: %_ZN7TempPtrI1CED2Ev.exit26<header>,%delete.notnull.i29,%_ZN7TempPtrI1CED2Ev.exit30<latch><exiting>
Running pass: LoopFullUnrollPass on Loop at depth 1 containing: %_ZN7TempPtrI1CED2Ev.exit26<header>,%delete.notnull.i29,%_ZN7TempPtrI1CED2Ev.exit30<latch><exiting>
Finished Loop pass manager run.
Running pass: MergedLoadStoreMotionPass on _ZN1CD2Ev
Running pass: GVN on _ZN1CD2Ev
Running pass: MemCpyOptPass on _ZN1CD2Ev
Running pass: SCCPPass on _ZN1CD2Ev
Running pass: BDCEPass on _ZN1CD2Ev
Running pass: InstCombinePass on _ZN1CD2Ev
Running pass: JumpThreadingPass on _ZN1CD2Ev
Running pass: CorrelatedValuePropagationPass on _ZN1CD2Ev
Running pass: DSEPass on _ZN1CD2Ev
Running pass: FunctionToLoopPassAdaptor<llvm::LICMPass> on _ZN1CD2Ev
#40 0x67c4567 in clang::BackendConsumer::HandleTranslationUnit(clang::ASTContext&) /src/llvm/tools/clang/lib/CodeGen/CodeGenAction.cpp:292:7
#41 0x768db0b in clang::ParseAST(clang::Sema&, bool, bool) /src/llvm/tools/clang/lib/Parse/ParseAST.cpp:159:13
#42 0x67c111c in clang::CodeGenAction::ExecuteAction() /src/llvm/tools/clang/lib/CodeGen/CodeGenAction.cpp:1031:28
#43 0x5d012ae in clang::FrontendAction::Execute() /src/llvm/tools/clang/lib/Frontend/FrontendAction.cpp:897:8
#44 0x5c25be4 in clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) /src/llvm/tools/clang/lib/Frontend/CompilerInstance.cpp:991:11
#45 0x5ee46e7 in clang::ExecuteCompilerInvocation(clang::CompilerInstance*) /src/llvm/tools/clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp:252:25
#46 0xb30d6f in cc1_main(llvm::ArrayRef<char const*>, char const*, void*) /src/llvm/tools/clang/tools/driver/cc1_main.cpp:221:13
#47 0xb2b19f in ExecuteCC1Tool(llvm::ArrayRef<char const*>, llvm::StringRef) /src/llvm/tools/clang/tools/driver/driver.cpp:309:12
#48 0xb2b19f in main /src/llvm/tools/clang/tools/driver/driver.cpp:388
#49 0x7fb83cb1d2b0 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x202b0)
#50 0xa55719 in _start (/build/stage3/bin/clang-6.0+0xa55719)
0x6060000043b0 is located 16 bytes inside of 64-byte region [0x6060000043a0,0x6060000043e0)
freed by thread T0 here:
#0 0xb221f2 in operator delete(void*) /home/snd-local/releases/5.0/release/final/llvm.src/projects/compiler-rt/lib/asan/asan_new_delete.cc:137:3
#1 0x3c02351 in llvm::ilist_alloc_traits<llvm::BasicBlock>::deleteNode(llvm::BasicBlock*) /src/llvm/include/llvm/ADT/ilist.h:42:39
#23 0x67c4567 in clang::BackendConsumer::HandleTranslationUnit(clang::ASTContext&) /src/llvm/tools/clang/lib/CodeGen/CodeGenAction.cpp:292:7
#24 0x768db0b in clang::ParseAST(clang::Sema&, bool, bool) /src/llvm/tools/clang/lib/Parse/ParseAST.cpp:159:13
#25 0x67c111c in clang::CodeGenAction::ExecuteAction() /src/llvm/tools/clang/lib/CodeGen/CodeGenAction.cpp:1031:28
#26 0x5d012ae in clang::FrontendAction::Execute() /src/llvm/tools/clang/lib/Frontend/FrontendAction.cpp:897:8
#27 0x5c25be4 in clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) /src/llvm/tools/clang/lib/Frontend/CompilerInstance.cpp:991:11
#28 0x5ee46e7 in clang::ExecuteCompilerInvocation(clang::CompilerInstance*) /src/llvm/tools/clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp:252:25
#29 0xb30d6f in cc1_main(llvm::ArrayRef<char const*>, char const*, void*) /src/llvm/tools/clang/tools/driver/cc1_main.cpp:221:13
#30 0xb2b19f in ExecuteCC1Tool(llvm::ArrayRef<char const*>, llvm::StringRef) /src/llvm/tools/clang/tools/driver/driver.cpp:309:12
#31 0xb2b19f in main /src/llvm/tools/clang/tools/driver/driver.cpp:388
#32 0x7fb83cb1d2b0 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x202b0)
previously allocated by thread T0 here:
#0 0xb215d2 in operator new(unsigned long) /home/snd-local/releases/5.0/release/final/llvm.src/projects/compiler-rt/lib/asan/asan_new_delete.cc:92:3
#1 0x51858ea in llvm::BasicBlock::Create(llvm::LLVMContext&, llvm::Twine const&, llvm::Function*, llvm::BasicBlock*) /src/llvm/include/llvm/IR/BasicBlock.h:104:12
#2 0x51858ea in clang::CodeGen::CodeGenFunction::createBasicBlock(llvm::Twine const&, llvm::Function*, llvm::BasicBlock*) /src/llvm/tools/clang/lib/CodeGen/CodeGenFunction.h:1860
#3 0x51858ea in clang::CodeGen::CodeGenFunction::getJumpDestInCurrentScope(llvm::StringRef) /src/llvm/tools/clang/lib/CodeGen/CodeGenFunction.h:822
#4 0x51858ea in clang::CodeGen::CodeGenFunction::EmitWhileStmt(clang::WhileStmt const&, llvm::ArrayRef<clang::Attr const*>) /src/llvm/tools/clang/lib/CodeGen/CGStmt.cpp:674
#5 0x518362d in clang::CodeGen::CodeGenFunction::EmitStmt(clang::Stmt const*, llvm::ArrayRef<clang::Attr const*>) /src/llvm/tools/clang/lib/CodeGen/CGStmt.cpp:135:32
#6 0x519d1e2 in clang::CodeGen::CodeGenFunction::EmitCompoundStmtWithoutScope(clang::CompoundStmt const&, bool, clang::CodeGen::AggValueSlot) /src/llvm/tools/clang/lib/CodeGen/CGStmt.cpp:381:5
#7 0x519af44 in clang::CodeGen::CodeGenFunction::EmitCompoundStmt(clang::CompoundStmt const&, bool, clang::CodeGen::AggValueSlot) /src/llvm/tools/clang/lib/CodeGen/CGStmt.cpp:371:10
#8 0x5183fc9 in clang::CodeGen::CodeGenFunction::EmitSimpleStmt(clang::Stmt const*) /src/llvm/tools/clang/lib/CodeGen/CGStmt.cpp:344:33
#9 0x518327a in clang::CodeGen::CodeGenFunction::EmitStmt(clang::Stmt const*, llvm::ArrayRef<clang::Attr const*>) /src/llvm/tools/clang/lib/CodeGen/CGStmt.cpp:53:7
#10 0x5557c28 in clang::CodeGen::CodeGenFunction::EmitDestructorBody(clang::CodeGen::FunctionArgList&) /src/llvm/tools/clang/lib/CodeGen/CGClass.cpp:1480:7
#11 0x5259006 in clang::CodeGen::CodeGenFunction::GenerateCode(clang::GlobalDecl, llvm::Function*, clang::CodeGen::CGFunctionInfo const&) /src/llvm/tools/clang/lib/CodeGen/CodeGenFunction.cpp:1283:5
#12 0x54f9fc9 in clang::CodeGen::CodeGenModule::codegenCXXStructor(clang::CXXMethodDecl const*, clang::CodeGen::StructorType) /src/llvm/tools/clang/lib/CodeGen/CGCXX.cpp:232:26
#13 0x53d4f65 in (anonymous namespace)::ItaniumCXXABI::emitCXXStructor(clang::CXXMethodDecl const*, clang::CodeGen::StructorType) /src/llvm/tools/clang/lib/CodeGen/ItaniumCXXABI.cpp:3679:28
#14 0x528a985 in clang::CodeGen::CodeGenModule::EmitGlobalDefinition(clang::GlobalDecl, llvm::GlobalValue*) /src/llvm/tools/clang/lib/CodeGen/CodeGenModule.cpp
#15 0x5293ed2 in clang::CodeGen::CodeGenModule::EmitGlobal(clang::GlobalDecl) /src/llvm/tools/clang/lib/CodeGen/CodeGenModule.cpp:1812:5
#16 0x53c7698 in (anonymous namespace)::ItaniumCXXABI::EmitCXXDestructors(clang::CXXDestructorDecl const*) /src/llvm/tools/clang/lib/CodeGen/ItaniumCXXABI.cpp:1408:7
#17 0x52a068c in clang::CodeGen::CodeGenModule::EmitTopLevelDecl(clang::Decl*) /src/llvm/tools/clang/lib/CodeGen/CodeGenModule.cpp
#18 0x67cca3d in (anonymous namespace)::CodeGeneratorImpl::HandleTopLevelDecl(clang::DeclGroupRef) /src/llvm/tools/clang/lib/CodeGen/ModuleBuilder.cpp:160:18
#19 0x67c31c3 in clang::BackendConsumer::HandleTopLevelDecl(clang::DeclGroupRef) /src/llvm/tools/clang/lib/CodeGen/CodeGenAction.cpp:168:12
#20 0x768da04 in clang::ParseAST(clang::Sema&, bool, bool) /src/llvm/tools/clang/lib/Parse/ParseAST.cpp:151:29
#21 0x67c111c in clang::CodeGenAction::ExecuteAction() /src/llvm/tools/clang/lib/CodeGen/CodeGenAction.cpp:1031:28
#22 0x5d012ae in clang::FrontendAction::Execute() /src/llvm/tools/clang/lib/Frontend/FrontendAction.cpp:897:8
#23 0x5c25be4 in clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) /src/llvm/tools/clang/lib/Frontend/CompilerInstance.cpp:991:11
#24 0x5ee46e7 in clang::ExecuteCompilerInvocation(clang::CompilerInstance*) /src/llvm/tools/clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp:252:25
#25 0xb30d6f in cc1_main(llvm::ArrayRef<char const*>, char const*, void*) /src/llvm/tools/clang/tools/driver/cc1_main.cpp:221:13
#26 0xb2b19f in ExecuteCC1Tool(llvm::ArrayRef<char const*>, llvm::StringRef) /src/llvm/tools/clang/tools/driver/driver.cpp:309:12
#27 0xb2b19f in main /src/llvm/tools/clang/tools/driver/driver.cpp:388
#28 0x7fb83cb1d2b0 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x202b0)
SUMMARY: AddressSanitizer: heap-use-after-free /src/llvm/include/llvm/IR/Value.h:460:12 in llvm::Value::getValueID() const
Shadow bytes around the buggy address:
0x0c0c7fff8820: 00 00 00 00 00 00 00 00 fa fa fa fa fd fd fd fd
0x0c0c7fff8830: fd fd fd fd fa fa fa fa fd fd fd fd fd fd fd fd
0x0c0c7fff8840: fa fa fa fa 00 00 00 00 00 00 00 fa fa fa fa fa
0x0c0c7fff8850: 00 00 00 00 00 00 00 fa fa fa fa fa 00 00 00 00
0x0c0c7fff8860: 00 00 00 00 fa fa fa fa 00 00 00 00 00 00 00 00
=>0x0c0c7fff8870: fa fa fa fa fd fd[fd]fd fd fd fd fd fa fa fa fa
0x0c0c7fff8880: fd fd fd fd fd fd fd fd fa fa fa fa fd fd fd fd
0x0c0c7fff8890: fd fd fd fd fa fa fa fa 00 00 00 00 00 00 01 fa
0x0c0c7fff88a0: fa fa fa fa fd fd fd fd fd fd fd fd fa fa fa fa
0x0c0c7fff88b0: fd fd fd fd fd fd fd fd fa fa fa fa 00 00 00 00
0x0c0c7fff88c0: 00 00 00 00 fa fa fa fa 00 00 00 00 00 00 00 fa