-
Notifications
You must be signed in to change notification settings - Fork 12.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Couldn't join subrange crash in OpenCV Arithm/Log test #28457
Comments
assigned to @MatzeB |
The verifier issue comes out of the Machine Scheduler, right? I.e., the bug is in the scheduler (fall-out of the subreg scheduling?), I believe, not the coalescer. |
Here is what I am seeing: After Machine Instruction Scheduler[...]
*** Bad machine code: Instruction ending live segment doesn't read the register ***
|
Yes, the verifier error is after the scheduler. |
Thanks for the testcase. Fixed in r272446 |
Extended Description
RegisterCoalescer crashes on this. -verify-machineinstrs catches an error before this.
*** Couldn't join subrange!
UNREACHABLE executed at /home/matt/src/llvm/lib/CodeGen/RegisterCoalescer.cpp:2567!
#0 0x00000000025c88b8 llvm::sys::PrintStackTrace(llvm::raw_ostream&) /home/matt/src/llvm/lib/Support/Unix/Signals.inc:402:0
#1 0x00000000025c8c76 PrintStackTraceSignalHandler(void*) /home/matt/src/llvm/lib/Support/Unix/Signals.inc:470:0
#2 0x00000000025c6f98 llvm::sys::RunSignalHandlers() /home/matt/src/llvm/lib/Support/Signals.cpp:44:0
#3 0x00000000025c820a SignalHandler(int) /home/matt/src/llvm/lib/Support/Unix/Signals.inc:256:0
#4 0x00007fd34769cef0 __restore_rt (/usr/lib/libpthread.so.0+0x10ef0)
#5 0x00007fd346867295 __GI_raise (/usr/lib/libc.so.6+0x33295)
#6 0x00007fd3468686da __GI_abort (/usr/lib/libc.so.6+0x346da)
#7 0x0000000002562655 bindingsErrorHandler(void*, std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&, bool) /home/matt/src/llvm/lib/Support/ErrorHandling.cpp:127:0
#8 0x0000000001ebd6ff (anonymous namespace)::RegisterCoalescer::joinSubRegRanges(llvm::LiveRange&, llvm::LiveRange&, unsigned int, llvm::CoalescerPair const&) /home/matt/src/llvm/lib/CodeGen/RegisterCoalescer.cpp:2574:0
#9 0x0000000001ebdcb0 (anonymous namespace)::RegisterCoalescer::mergeSubRangeInto(llvm::LiveInterval&, llvm::LiveRange const&, unsigned int, llvm::CoalescerPair&) /home/matt/src/llvm/lib/CodeGen/RegisterCoalescer.cpp:2630:0
#10 0x0000000001ebe43a (anonymous namespace)::RegisterCoalescer::joinVirtRegs(llvm::CoalescerPair&) /home/matt/src/llvm/lib/CodeGen/RegisterCoalescer.cpp:2693:0
#11 0x0000000001ebe84c (anonymous namespace)::RegisterCoalescer::joinIntervals(llvm::CoalescerPair&) /home/matt/src/llvm/lib/CodeGen/RegisterCoalescer.cpp:2742:0
#12 0x0000000001eb8461 (anonymous namespace)::RegisterCoalescer::joinCopy(llvm::MachineInstr*, bool&) /home/matt/src/llvm/lib/CodeGen/RegisterCoalescer.cpp:1456:0
#13 0x0000000001ebeb9c (anonymous namespace)::RegisterCoalescer::copyCoalesceWorkList(llvm::MutableArrayRefllvm::MachineInstr*) /home/matt/src/llvm/lib/CodeGen/RegisterCoalescer.cpp:2812:0
#14 0x0000000001ebf614 (anonymous namespace)::RegisterCoalescer::coalesceLocals() /home/matt/src/llvm/lib/CodeGen/RegisterCoalescer.cpp:2938:0
#15 0x0000000001ebfa7e (anonymous namespace)::RegisterCoalescer::joinAllIntervals() /home/matt/src/llvm/lib/CodeGen/RegisterCoalescer.cpp:2972:0
#16 0x0000000001ebfdd9 (anonymous namespace)::RegisterCoalescer::runOnMachineFunction(llvm::MachineFunction&) /home/matt/src/llvm/lib/CodeGen/RegisterCoalescer.cpp:3018:0
#17 0x0000000001de26ba llvm::MachineFunctionPass::runOnFunction(llvm::Function&) /home/matt/src/llvm/lib/CodeGen/MachineFunctionPass.cpp:60:0
The text was updated successfully, but these errors were encountered: