llvm / llvm-project

The LLVM Project is a collection of modular and reusable compiler and toolchain technologies.
http://llvm.org
Other
29.01k stars 11.96k forks source link

Assertion `getConstant() == V && "Marking constant with different value"' failed. #11729

Closed regehr closed 13 years ago

regehr commented 13 years ago
Bugzilla Link 11357
Resolution FIXED
Resolved on Nov 10, 2011 19:16
Version trunk
OS Linux
CC @efriedma-quic

Extended Description

[regehr@gamow tmp059]$ clang -v

clang version 3.1 (trunk 144292) Target: x86_64-unknown-linux-gnu Thread model: posix

[regehr@gamow tmp059]$ clang -O1 -c -w small.c

clang: SCCP.cpp:111: bool::LatticeVal::markConstant(llvm::Constant): Assertion `getConstant() == V && "Marking constant with different value"' failed. 0 clang 0x0000000001cfd31f 1 clang 0x0000000001cff592 2 libpthread.so.0 0x00007ffff7bcf8f0 3 libc.so.6 0x00007ffff6ebea75 gsignal + 53 4 libc.so.6 0x00007ffff6ec25c0 abort + 384 5 libc.so.6 0x00007ffff6eb7941 __assert_fail + 241 6 clang 0x00000000019b0e28 7 clang 0x00000000019b13a4 8 clang 0x00000000019b2a4a 9 clang 0x00000000019b3ea5 10 clang 0x00000000019b686d 11 clang 0x00000000019b70b1 12 clang 0x0000000001c51987 llvm::MPPassManager::runOnModule(llvm::Module&) + 503 13 clang 0x0000000001c51b1b llvm::PassManagerImpl::run(llvm::Module&) + 187 14 clang 0x0000000000830c41 clang::EmitBackendOutput(clang::DiagnosticsEngine&, clang::CodeGenOptions const&, clang::TargetOptions const&, clang::LangOptions const&, llvm::Module, clang::BackendAction, llvm::raw_ostream) + 1505 15 clang 0x000000000082e411 clang::BackendConsumer::HandleTranslationUnit(clang::ASTContext&) + 353 16 clang 0x000000000097b12f clang::ParseAST(clang::Sema&, bool) + 431 17 clang 0x000000000082cff4 clang::CodeGenAction::ExecuteAction() + 68 18 clang 0x00000000006ec765 clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) + 373 19 clang 0x00000000006d04c9 clang::ExecuteCompilerInvocation(clang::CompilerInstance) + 1401 20 clang 0x00000000006c6757 cc1_main(char const, char const, char const, void) + 791 21 clang 0x00000000006cf297 main + 7175 22 libc.so.6 0x00007ffff6ea9c4d __libc_start_main + 253 23 clang 0x00000000006c4359 Stack dump:

  1. Program arguments: /uusoc/exports/scratch/regehr/z/llvm-install/bin/clang -cc1 -triple x86_64-unknown-linux-gnu -emit-obj -disable-free -main-file-name small.c -mrelocation-model static -mdisable-fp-elim -masm-verbose -mconstructor-aliases -munwind-tables -target-cpu x86-64 -target-linker-version 2.20.1 -momit-leaf-frame-pointer -coverage-file small.o -resource-dir /uusoc/exports/scratch/regehr/z/llvm-install/bin/../lib/clang/3.1 -fmodule-cache-path /var/tmp/clang-module-cache -I /opt/intel/composerxe-2011.5.220/mkl/include -I /opt/intel/composerxe-2011.5.220/tbb/include -internal-isystem /usr/local/include -internal-isystem /uusoc/exports/scratch/regehr/z/llvm-install/bin/../lib/clang/3.1/include -internal-externc-isystem /include -internal-externc-isystem /usr/include -O1 -w -fdebug-compilation-dir /home/regehr/z/volatile/bugs/tmp059 -ferror-limit 19 -fmessage-length 101 -fgnu-runtime -fobjc-runtime-has-arc -fobjc-runtime-has-weak -fobjc-fragile-abi -fdiagnostics-show-option -fcolor-diagnostics -o small.o -x c small.c
  2. parser at end of file
  3. Per-module optimization passes
  4. Running pass 'Interprocedural Sparse Conditional Constant Propagation' on module 'small.c'. clang: error: unable to execute command: Aborted clang: error: clang frontend command failed due to signal 2 (use -v to see invocation) clang: note: diagnostic msg: Please submit a bug report to http://llvm.org/bugs/ and include command line arguments and all diagnostic information. clang: note: diagnostic msg: Preprocessed source(s) and associated run script(s) are located at: clang: note: diagnostic msg: /tmp/small-rATpui.i clang: note: diagnostic msg: /tmp/small-rATpui.sh

[regehr@gamow tmp059]$ cat small.c

int func_10 (int si1, int si2) { return 0; }

int func_75 (int p_77, int p_78, int p_79) { int l_86; int l_108 = 0; for (;;) { int l_109; l_109 = l_108 |= l_86; l_86 = func_10 (0, l_108 = 1 != l_109); } }

efriedma-quic commented 13 years ago

r144352.