Bug 18968

Clang/llvm is core dumping in target independent code.

It’s a regression from yesterday. Files to reproduce this are in bug 18968 .

I have not tried to bisect the failure yet.

Starting program: /home/rkotler/llvmw/build/Debug+Asserts/bin/clang -cc1 -triple mipsel–linux-gnu -S -disable-free -main-file-name PpmdHandler.cpp -mrelocation-model static -fmath-errno -no-integrated-as -mconstructor-aliases -target-cpu mips32r2 -target-abi o32 -mfloat-abi hard -target-linker-version 2.22 -momit-leaf-frame-pointer -coverage-file /tmp/PpmdHandler-e3f606.s -resource-dir …/lib/clang/3.5 -D _GNU_SOURCE -D __STDC_LIMIT_MACROS -D NDEBUG -D SMALL_PROBLEM_SIZE -D BREAK_HANDLER -D UNICODE -D _UNICODE -D _FILE_OFFSET_BITS=64 -D _LARGEFILE_SOURCE -D NDEBUG -D REENTRANT -D ENV_UNIX -D 7ZIP_LARGE_PAGES -I /home/rkotler/llvmw/build/projects/test-suite/MultiSource/Benchmarks/7zip -I /home/rkotler/workspace/llvm/projects/test-suite/MultiSource/Benchmarks/7zip -I /home/rkotler/workspace/llvm/projects/test-suite/include -I …/…/…/include -I /home/rkotler/llvmw/build/include -I /home/rkotler/workspace/llvm/include -I /home/rkotler/workspace/llvm/projects/test-suite/MultiSource/Benchmarks/7zip/C -I /home/rkotler/workspace/llvm/projects/test-suite/MultiSource/Benchmarks/7zip/CPP/myWindows -I /home/rkotler/workspace/llvm/projects/test-suite/MultiSource/Benchmarks/7zip/CPP/include_windows -I /home/rkotler/workspace/llvm/projects/test-suite/MultiSource/Benchmarks/7zip/CPP -I . -internal-isystem /mips/arch/overflow/codesourcery/mips-linux-gnu/pro/release/2011.09-90/Linux/lib/gcc/mips-linux-gnu/4.5.2/…/…/…/…/mips-linux-gnu/include/c++/4.5.2 -internal-isystem /mips/arch/overflow/codesourcery/mips-linux-gnu/pro/release/2011.09-90/Linux/lib/gcc/mips-linux-gnu/4.5.2/…/…/…/…/mips-linux-gnu/include/c++/4.5.2/mips-linux-gnu/el -internal-isystem /mips/arch/overflow/codesourcery/mips-linux-gnu/pro/release/2011.09-90/Linux/lib/gcc/mips-linux-gnu/4.5.2/…/…/…/…/mips-l—Type to continue, or q to quit— inux-gnu/include/c++/4.5.2/backward -internal-isystem /mips/arch/overflow/codesourcery/mips-linux-gnu/pro/release/2011.09-90/Linux/lib/gcc/mips-linux-gnu/4.5.2/…/…/…/…/mips-linux-gnu/libc/el/usr/local/include -internal-isystem …/lib/clang/3.5/include -internal-externc-isystem /mips/arch/overflow/codesourcery/mips-linux-gnu/pro/release/2011.09-90/Linux/lib/gcc/mips-linux-gnu/4.5.2/include -internal-externc-isystem /mips/arch/overflow/codesourcery/mips-linux-gnu/pro/release/2011.09-90/Linux/lib/gcc/mips-linux-gnu/4.5.2/…/…/…/…/mips-linux-gnu/libc/usr/include -internal-externc-isystem /mips/arch/overflow/codesourcery/mips-linux-gnu/pro/release/2011.09-90/Linux/lib/gcc/mips-linux-gnu/4.5.2/…/…/…/…/mips-linux-gnu/libc/el/include -internal-externc-isystem /mips/arch/overflow/codesourcery/mips-linux-gnu/pro/release/2011.09-90/Linux/lib/gcc/mips-linux-gnu/4.5.2/…/…/…/…/mips-linux-gnu/libc/el/usr/include -O3 -fdeprecated-macro -fno-dwarf-directory-asm -fdebug-compilation-dir /home/rkotler/llvmw/build/projects/test-suite/MultiSource/Benchmarks/7zip -ferror-limit 19 -fmessage-length 0 -pthread -mstackrealign -fobjc-runtime=gcc -fcxx-exceptions -fexceptions -fdiagnostics-show-option -vectorize-loops -vectorize-slp -o /tmp/PpmdHandler-e3f606.s -x c++ /home/rkotler/workspace/llvm/projects/test-suite/MultiSource/Benchmarks/7zip/CPP/7zip/Archive/PpmdHandler.cpp [Thread debugging using libthread_db enabled] Using host libthread_db library “/lib/x86_64-linux-gnu/libthread_db.so.1”. Program received signal SIGSEGV, Segmentation fault. 0x0000000000fb763c in llvm::Instruction::getParent (this=0x301) at /home/rkotler/workspace/llvm/include/llvm/IR/Instruction.h:54 54 inline BasicBlock getParent() { return Parent; } (gdb) bt #0 0x0000000000fb763c in llvm::Instruction::getParent (this=0x301) at /home/rkotler/workspace/llvm/include/llvm/IR/Instruction.h:54 #1 0x000000000306c6d2 in isSafePHIToSpeculate (PN=…, DL=0x5ff5030) at /home/rkotler/workspace/llvm/lib/Transforms/Scalar/SROA.cpp:1046 #2 0x0000000003076ecc in (anonymous namespace)::SROA::rewritePartition(llvm::AllocaInst &, (anonymous namespace)::AllocaSlices &, (anonymous namespace)::AllocaSlices::iterator, (anonymous namespace)::AllocaSlices::iterator, int64_t, int64_t, llvm::ArrayRef<{anonymous}::Slice>) (this=0x600aac0, AI=…, S=…, B=0x6091370, E=0x60917d8, BeginOffset=0, EndOffset=4, SplitUses=…) at /home/rkotler/workspace/llvm/lib/Transforms/Scalar/SROA.cpp:3168 #3 0x000000000307781f in (anonymous namespace)::SROA::splitAlloca ( this=0x600aac0, AI=…, S=…) at /home/rkotler/workspace/llvm/lib/Transforms/Scalar/SROA.cpp:3304 #4 0x000000000307807c in (anonymous namespace)::SROA::runOnAlloca ( this=0x600aac0, AI=…) at /home/rkotler/workspace/llvm/lib/Transforms/Scalar/SROA.cpp:3439 #5 0x0000000003078d93 in (anonymous namespace)::SROA::runOnFunction ( this=0x600aac0, F=…) at /home/rkotler/workspace/llvm/lib/Transforms/Scalar/SROA.cpp:3618 #6 0x00000000034c45ba in llvm::FPPassManager::runOnFunction (this=0x600b370, F=…) at /home/rkotler/workspace/llvm/lib/IR/LegacyPassManager.cpp:1537 #7 0x00000000031b4beb in (anonymous namespace)::CGPassManager::RunPassOnSCC ( this=0x6009230, P=0x600b370, CurSCC=…, CG=…, —Type to continue, or q to quit— CallGraphUpToDate=@0x7fffffffbc56: true, DevirtualizedCall=@0x7fffffffbcf8: false) at /home/rkotler/workspace/llvm/lib/Analysis/IPA/CallGraphSCCPass.cpp:148 #8 0x00000000031b5a45 in (anonymous namespace)::CGPassManager::RunAllPassesOnSCC (this=0x6009230, CurSCC=…, CG=…, DevirtualizedCall=@0x7fffffffbcf8: false) at /home/rkotler/workspace/llvm/lib/Analysis/IPA/CallGraphSCCPass.cpp:405 #9 0x00000000031b5dc4 in (anonymous namespace)::CGPassManager::runOnModule ( this=0x6009230, M=…) at /home/rkotler/workspace/llvm/lib/Analysis/IPA/CallGraphSCCPass.cpp:460 #10 0x00000000034c4acf in (anonymous namespace)::MPPassManager::runOnModule ( this=0x5ff4e50, M=…) at /home/rkotler/workspace/llvm/lib/IR/LegacyPassManager.cpp:1615 #11 0x00000000034c50c3 in llvm::legacy::PassManagerImpl::run (this=0x6003300, M=…) at /home/rkotler/workspace/llvm/lib/IR/LegacyPassManager.cpp:1710 #12 0x00000000034c52d5 in llvm::legacy::PassManager::run (this=0x5b22510, M=…) at /home/rkotler/workspace/llvm/lib/IR/LegacyPassManager.cpp:1745 #13 0x0000000000f6ce13 in (anonymous namespace)::EmitAssemblyHelper::EmitAssembly (this=0x7fffffffc020, Action=clang::Backend_EmitAssembly, OS=0x5b4b460) at /home/rkotler/workspace/llvm/tools/clang/lib/CodeGen/BackendUtil.cpp:602 #14 0x0000000000f6cf34 in clang::EmitBackendOutput (Diags=…, CGOpts=…, TOpts=…, LOpts=…, TDesc=…, M=0x5b4dab0, Action=clang::Backend_EmitAssembly, OS=0x5b4b460) —Type to continue, or q to quit— at /home/rkotler/workspace/llvm/tools/clang/lib/CodeGen/BackendUtil.cpp:619 #15 0x0000000000f666b5 in clang::BackendConsumer::HandleTranslationUnit ( this=0x5b4dd40, C=…) at /home/rkotler/workspace/llvm/tools/clang/lib/CodeGen/CodeGenAction.cpp:161 #16 0x0000000001189d15 in clang::ParseAST (S=…, PrintStats=false, SkipFunctionBodies=false) at /home/rkotler/workspace/llvm/tools/clang/lib/Parse/ParseAST.cpp:153 #17 0x0000000000ce8223 in clang::ASTFrontendAction::ExecuteAction ( this=0x5b26fa0) at /home/rkotler/workspace/llvm/tools/clang/lib/Frontend/FrontendAction.cpp:476 #18 0x0000000000f681a2 in clang::CodeGenAction::ExecuteAction (this=0x5b26fa0) at /home/rkotler/workspace/llvm/tools/clang/lib/CodeGen/CodeGenAction.cpp:545 #19 0x0000000000ce7d52 in clang::FrontendAction::Execute (this=0x5b26fa0) at /home/rkotler/workspace/llvm/tools/clang/lib/Frontend/FrontendAction.cpp:378 #20 0x0000000000cbb222 in clang::CompilerInstance::ExecuteAction ( this=0x5b22ac0, Act=…) at /home/rkotler/workspace/llvm/tools/clang/lib/Frontend/CompilerInstance.cpp:715 #21 0x0000000000c87c66 in clang::ExecuteCompilerInvocation (Clang=0x5b22ac0) —Type to continue, or q to quit— at /home/rkotler/workspace/llvm/tools/clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp:239 #22 0x0000000000c795a5 in cc1_main (ArgBegin=0x7fffffffd298, ArgEnd=0x7fffffffd618, Argv0=0x7fffffffe111 “/home/rkotler/llvmw/build/Debug+Asserts/bin/clang”, MainAddr=0xc8201c) at /home/rkotler/workspace/llvm/tools/clang/tools/driver/cc1_main.cpp:101 #23 0x0000000000c83611 in main (argc=114, argv=0x7fffffffdb98) at /home/rkotler/workspace/llvm/tools/clang/tools/driver/driver.cpp:315 (gdb) quit A debugging session is active. Inferior 1 [process 6801] will be killed.

From: "reed kotler" <rkotler@mips.com>
To: LLVMdev@cs.uiuc.edu
Sent: Tuesday, February 25, 2014 2:34:53 PM
Subject: [LLVMdev] Bug 18968

Clang/llvm is core dumping in target independent code.

It's a regression from yesterday. Files to reproduce this are in bug
18968 .

I have not tried to bisect the failure yet.

Yep; Chandler did a bunch of work on SROA last night and early this morning. I've cc'd him on the bug.

-Hal