https://bugs.llvm.org/show_bug.cgi?id=35357
Bug ID: 35357
Summary: clang crashes on valid code at -O1 and above:
Assertion `I != ValueState.end() && "V not found in
ValueState nor Paramstate map!"' failed
Product: clang
Version: unspecified
Hardware: PC
OS: All
Status: NEW
Severity: enhancement
Priority: P
Component: -New Bugs
Assignee: unassignedclangb...@nondot.org
Reporter: s...@cs.ucdavis.edu
CC: llvm-bugs@lists.llvm.org
$ clangpolly -v
clang version 6.0.0 (http://llvm.org/git/clang.git
d80246686d6ad2a749d11470afbbd1bbe4d1b561) (llvm/trunk 318634)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /home/su/bin
Found candidate GCC installation: /usr/lib/gcc/i686-linux-gnu/4.9
Found candidate GCC installation: /usr/lib/gcc/i686-linux-gnu/4.9.4
Found candidate GCC installation: /usr/lib/gcc/i686-linux-gnu/5
Found candidate GCC installation: /usr/lib/gcc/i686-linux-gnu/5.3.0
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.4
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.4.7
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.6
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.6.4
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.7
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.7.3
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.8
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.8.5
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.9
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.9.4
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/5
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/5.3.0
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/6
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/6.2.0
Selected GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.9
Candidate multilib: .;@m64
Candidate multilib: 32;@m32
Candidate multilib: x32;@mx32
Selected multilib: .;@m64
$
$ clangpolly -O0 -w small.c
$
$ clangpolly -O1 -w small.c
clang-6.0: /home/su/software/tmp/polly/llvm/lib/Transforms/Scalar/SCCP.cpp:337:
llvm::ValueLatticeElement
{anonymous}::SCCPSolver::getLatticeValueFor(llvm::Value*): Assertion `I !=
ValueState.end() && "V not found in ValueState nor Paramstate map!"' failed.
#0 0x023b798a llvm::sys::PrintStackTrace(llvm::raw_ostream&)
/home/su/software/tmp/polly/llvm/lib/Support/Unix/Signals.inc:402:0
#1 0x023b5b3e llvm::sys::RunSignalHandlers()
/home/su/software/tmp/polly/llvm/lib/Support/Signals.cpp:50:0
#2 0x023b5ca0 SignalHandler(int)
/home/su/software/tmp/polly/llvm/lib/Support/Unix/Signals.inc:242:0
#3 0x7fa35cd44330 __restore_rt
(/lib/x86_64-linux-gnu/libpthread.so.0+0x10330)
#4 0x7fa35bb2cc37 gsignal
/build/eglibc-SvCtMH/eglibc-2.19/signal/../nptl/sysdeps/unix/sysv/linux/raise.c:56:0
#5 0x7fa35bb30028 abort
/build/eglibc-SvCtMH/eglibc-2.19/stdlib/abort.c:91:0
#6 0x7fa35bb25bf6 __assert_fail_base
/build/eglibc-SvCtMH/eglibc-2.19/assert/assert.c:92:0
#7 0x7fa35bb25ca2 (/lib/x86_64-linux-gnu/libc.so.6+0x2fca2)
#8 0x022dbf00 llvm::APInt::operator=(llvm::APInt&&)
/home/su/software/tmp/polly/llvm/lib/Transforms/Scalar/SCCP.cpp:336:0
#9 0x022dbf00 operator=
/home/su/software/tmp/polly/llvm/include/llvm/IR/ConstantRange.h:47:0
#10 0x022dbf00 operator=
/home/su/software/tmp/polly/llvm/include/llvm/Analysis/ValueLattice.h:27:0
#11 0x022dbf00 (anonymous
namespace)::SCCPSolver::getLatticeValueFor(llvm::Value*)
/home/su/software/tmp/polly/llvm/lib/Transforms/Scalar/SCCP.cpp:338:0
#12 0x022e0693 tryToReplaceWithConstantRange
/home/su/software/tmp/polly/llvm/lib/Transforms/Scalar/SCCP.cpp:1619:0
#13 0x022e0693 runIPSCCP(llvm::Module&, llvm::DataLayout const&,
llvm::TargetLibraryInfo const*)
/home/su/software/tmp/polly/llvm/lib/Transforms/Scalar/SCCP.cpp:1872:0
#14 0x01f1d77a runOnModule
/home/su/software/tmp/polly/llvm/lib/IR/LegacyPassManager.cpp:1591:0
#15 0x01f1d77a llvm::legacy::PassManagerImpl::run(llvm::Module&)
/home/su/software/tmp/polly/llvm/lib/IR/LegacyPassManager.cpp:1694:0
#16 0x0254f2c5 ~PrettyStackTraceString
/home/su/software/tmp/polly/llvm/include/llvm/Support/PrettyStackTrace.h:52:0
#17 0x0254f2c5 (anonymous
namespace)::EmitAssemblyHelper::EmitAssembly(clang::BackendAction,
std::unique_ptr >)
/home/su/software/tmp/polly/llvm/tools/clang/lib/CodeGen/BackendUtil.cpp:790:0
#18 0x02550690 ~unique_ptr /usr/include/c++/4.9/bits/unique_ptr.h:235:0
#19 0x02550690 clang::EmitBackendOutput(clang::DiagnosticsEngine&,
clang::HeaderSearchOptions const&, clang::CodeGenOptions const&,
clang::TargetOptions const&, clang::LangOptions const&, llvm::