[llvm-bugs] [Bug 41476] New: Segfault in llvm::ConstantFoldCompareInstruction due to reaching an llvm_unreachable.
via llvm-bugs
llvm-bugs at lists.llvm.org
Thu Apr 11 21:43:11 PDT 2019
https://bugs.llvm.org/show_bug.cgi?id=41476
Bug ID: 41476
Summary: Segfault in llvm::ConstantFoldCompareInstruction due
to reaching an llvm_unreachable.
Product: libraries
Version: trunk
Hardware: PC
OS: Linux
Status: NEW
Severity: normal
Priority: P
Component: Scalar Optimizations
Assignee: unassignedbugs at nondot.org
Reporter: bmoses at google.com
CC: llvm-bugs at lists.llvm.org
Created attachment 21765
--> https://bugs.llvm.org/attachment.cgi?id=21765&action=edit
Reduced testcase
If we build the attached .cpp file with a version of Clang that's compiled to
warn on reaching unreachable code, and using "-O2" or higher, we get an error
like the following:
Invalid FCmp Predicate
UNREACHABLE executed at llvm/lib/IR/ConstantFold.cpp:1814!
Stack dump:
0. Program arguments: clang -cc1 -emit-obj -O2 b130316147.cpp
1. <eof> parser at end of file
2. Per-module optimization passes
3. Running pass 'CallGraph Pass Manager' on module 'b130316147.cpp'.
4. Running pass 'Early CSE w/ MemorySSA' on function '@_Z8TestBodyv'
(That line number is current as of r355685 -- it's in the implementation of
llvm::ConstantFoldCompareInstruction.)
With a "normal" build, this was just silent and the compiler continued and
produced an object file that was approximately correct.
However, hans's r357067, "Re-commit r355490 "[CodeGen] Omit range checks from
jump tables when lowering switches with unreachable default"" changes the
behavior of this switch statement when it would reach the unreachable case in a
no-asserts build, and now we get a segfault instead.
It would be nice to fix the underlying bug, as this segfault is now blocking
our Google-internal releases, and I don't think rolling back r357067 is likely
to be the right answer.
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20190412/6b9b240f/attachment.html>
More information about the llvm-bugs
mailing list