<html>
<head>
<base href="https://bugs.llvm.org/">
</head>
<body><table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Bug ID</th>
<td><a class="bz_bug_link
bz_status_NEW "
title="NEW - UNREACHABLE "Couldn't join subrange" in RegisterCoalescer (out-of-tree backend)"
href="https://bugs.llvm.org/show_bug.cgi?id=32773">32773</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>UNREACHABLE "Couldn't join subrange" in RegisterCoalescer (out-of-tree backend)
</td>
</tr>
<tr>
<th>Product</th>
<td>new-bugs
</td>
</tr>
<tr>
<th>Version</th>
<td>4.0
</td>
</tr>
<tr>
<th>Hardware</th>
<td>PC
</td>
</tr>
<tr>
<th>OS</th>
<td>Linux
</td>
</tr>
<tr>
<th>Status</th>
<td>NEW
</td>
</tr>
<tr>
<th>Severity</th>
<td>normal
</td>
</tr>
<tr>
<th>Priority</th>
<td>P
</td>
</tr>
<tr>
<th>Component</th>
<td>new bugs
</td>
</tr>
<tr>
<th>Assignee</th>
<td>unassignedbugs@nondot.org
</td>
</tr>
<tr>
<th>Reporter</th>
<td>Nicholas.Paul.Johnson@DEShawResearch.com
</td>
</tr>
<tr>
<th>CC</th>
<td>llvm-bugs@lists.llvm.org
</td>
</tr></table>
<p>
<div>
<pre>Created <span class=""><a href="attachment.cgi?id=18344" name="attach_18344" title="llc bugpoint-reduced-simplified.bc -verify-machineinstrs -debug-only=regalloc 2>log">attachment 18344</a> <a href="attachment.cgi?id=18344&action=edit" title="llc bugpoint-reduced-simplified.bc -verify-machineinstrs -debug-only=regalloc 2>log">[details]</a></span>
llc bugpoint-reduced-simplified.bc -verify-machineinstrs -debug-only=regalloc
2>log
While lowering a small testcase for my out-of-tree target, llc experiences an
UNREACHABLE during RegisterCoalescer. I have not been able to reproduce this
with a stock target. This testcase passes -verify-machineinstrs.
Here's a backtrace of the failure. I've also attached a log with
-debug-only=regalloc
*** Couldn't join subrange!
UNREACHABLE executed at
/d/en/johnsoni-0/gctools/llvm/lib/CodeGen/RegisterCoalescer.cpp:2693!
#0 0x00000000027395af llvm::sys::PrintStackTrace(llvm::raw_ostream&)
/d/en/johnsoni-0/gctools/llvm/lib/Support/Unix/Signals.inc:402:0
#1 0x0000000002739971 PrintStackTraceSignalHandler(void*)
/d/en/johnsoni-0/gctools/llvm/lib/Support/Unix/Signals.inc:466:0
#2 0x0000000002737bce llvm::sys::RunSignalHandlers()
/d/en/johnsoni-0/gctools/llvm/lib/Support/Signals.cpp:44:0
#3 0x0000000002738f41 SignalHandler(int)
/d/en/johnsoni-0/gctools/llvm/lib/Support/Unix/Signals.inc:256:0
#4 0x000000396140f7e0 __restore_rt (/lib64/libpthread.so.0+0x396140f7e0)
#5 0x0000003960c325e5 __GI_raise (/lib64/libc.so.6+0x3960c325e5)
#6 0x0000003960c33dc5 __GI_abort (/lib64/libc.so.6+0x3960c33dc5)
#7 0x00000000026d4c42 bindingsErrorHandler(void*, std::string const&, bool)
/d/en/johnsoni-0/gctools/llvm/lib/Support/ErrorHandling.cpp:127:0
#8 0x0000000001fdbc85 (anonymous
namespace)::RegisterCoalescer::joinSubRegRanges(llvm::LiveRange&,
llvm::LiveRange&, llvm::LaneBitmask, llvm::CoalescerPair const&)
/d/en/johnsoni-0/gctools/llvm/lib/CodeGen/RegisterCoalescer.cpp:2695:0
#9 0x0000000001fdc3df (anonymous
namespace)::RegisterCoalescer::mergeSubRangeInto(llvm::LiveInterval&,
llvm::LiveRange const&, llvm::LaneBitmask, llvm::CoalescerPair&)
/d/en/johnsoni-0/gctools/llvm/lib/CodeGen/RegisterCoalescer.cpp:2769:0
#10 0x0000000001fdcbd5 (anonymous
namespace)::RegisterCoalescer::joinVirtRegs(llvm::CoalescerPair&)
/d/en/johnsoni-0/gctools/llvm/lib/CodeGen/RegisterCoalescer.cpp:2832:0
#11 0x0000000001fdd174 (anonymous
namespace)::RegisterCoalescer::joinIntervals(llvm::CoalescerPair&)
/d/en/johnsoni-0/gctools/llvm/lib/CodeGen/RegisterCoalescer.cpp:2892:0
#12 0x0000000001fd5fc3 (anonymous
namespace)::RegisterCoalescer::joinCopy(llvm::MachineInstr*, bool&)
/d/en/johnsoni-0/gctools/llvm/lib/CodeGen/RegisterCoalescer.cpp:1468:0
#13 0x0000000001fdd4b6 (anonymous
namespace)::RegisterCoalescer::copyCoalesceWorkList(llvm::MutableArrayRef<llvm::MachineInstr*>)
/d/en/johnsoni-0/gctools/llvm/lib/CodeGen/RegisterCoalescer.cpp:2962:0
#14 0x0000000001fddf32 (anonymous
namespace)::RegisterCoalescer::coalesceLocals()
/d/en/johnsoni-0/gctools/llvm/lib/CodeGen/RegisterCoalescer.cpp:3087:0
#15 0x0000000001fde3a1 (anonymous
namespace)::RegisterCoalescer::joinAllIntervals()
/d/en/johnsoni-0/gctools/llvm/lib/CodeGen/RegisterCoalescer.cpp:3121:0
#16 0x0000000001fde6e2 (anonymous
namespace)::RegisterCoalescer::runOnMachineFunction(llvm::MachineFunction&)
/d/en/johnsoni-0/gctools/llvm/lib/CodeGen/RegisterCoalescer.cpp:3167:0
#17 0x0000000001d28d87
llvm::MachineFunctionPass::runOnFunction(llvm::Function&)
/d/en/johnsoni-0/gctools/llvm/lib/CodeGen/MachineFunctionPass.cpp:62:0
...</pre>
</div>
</p>
<hr>
<span>You are receiving this mail because:</span>
<ul>
<li>You are on the CC list for the bug.</li>
</ul>
</body>
</html>