<html>
<head>
<base href="https://llvm.org/bugs/" />
</head>
<body><span class="vcard"><a class="email" href="mailto:hfinkel@anl.gov" title="Hal Finkel <hfinkel@anl.gov>"> <span class="fn">Hal Finkel</span></a>
</span> changed
<a class="bz_bug_link
bz_status_RESOLVED bz_closed" title="RESOLVED FIXED - Fast isel causes: Assertion `MRI->getVRegDef(reg) && "Register use before def!"" href="https://urldefense.proofpoint.com/v2/url?u=https-3A__llvm.org_bugs_show-5Fbug.cgi-3Fid-3D23640&d=AwMBaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=pF93YEPyB-J_PERP4DUZOJDzFVX5ZQ57vQk33wu0vio&m=lsjADkCWOON3wN-8bpY4m9wN5E0XlFv3zQJDPk_wKK0&s=n63QAHJOqpSoJ9SaxyjgVeV8q9R7m1RQouAnUS2LSdE&e=">bug 23640</a>
<br>
<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>What</th>
<th>Removed</th>
<th>Added</th>
</tr>
<tr>
<td style="text-align:right;">Status</td>
<td>NEW
</td>
<td>RESOLVED
</td>
</tr>
<tr>
<td style="text-align:right;">Resolution</td>
<td>---
</td>
<td>FIXED
</td>
</tr></table>
<p>
<div>
<b><a class="bz_bug_link
bz_status_RESOLVED bz_closed" title="RESOLVED FIXED - Fast isel causes: Assertion `MRI->getVRegDef(reg) && "Register use before def!"" href="https://urldefense.proofpoint.com/v2/url?u=https-3A__llvm.org_bugs_show-5Fbug.cgi-3Fid-3D23640-23c2&d=AwMBaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=pF93YEPyB-J_PERP4DUZOJDzFVX5ZQ57vQk33wu0vio&m=lsjADkCWOON3wN-8bpY4m9wN5E0XlFv3zQJDPk_wKK0&s=KvcAy5HahKvgy3Qnu9L3YHHtU-OAvkx_4eTfM9KLUGw&e=">Comment # 2</a>
on <a class="bz_bug_link
bz_status_RESOLVED bz_closed" title="RESOLVED FIXED - Fast isel causes: Assertion `MRI->getVRegDef(reg) && "Register use before def!"" href="https://urldefense.proofpoint.com/v2/url?u=https-3A__llvm.org_bugs_show-5Fbug.cgi-3Fid-3D23640&d=AwMBaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=pF93YEPyB-J_PERP4DUZOJDzFVX5ZQ57vQk33wu0vio&m=lsjADkCWOON3wN-8bpY4m9wN5E0XlFv3zQJDPk_wKK0&s=n63QAHJOqpSoJ9SaxyjgVeV8q9R7m1RQouAnUS2LSdE&e=">bug 23640</a>
from <span class="vcard"><a class="email" href="mailto:hfinkel@anl.gov" title="Hal Finkel <hfinkel@anl.gov>"> <span class="fn">Hal Finkel</span></a>
</span></b>
<pre>(In reply to <a href="show_bug.cgi?id=23640#c1">comment #1</a>)
<span class="quote">> So I took a look at this in a testcase I had and basically the compare is
> actually in a different basic block from the branch that it's dependent upon
> and not getting put into the value map so we can't look up the actual
> compare result we wanted to use.
> A hammer of "CI->getParent() != BI->getParent()" in selectBranch does
> "solve" the problem as would constructing selectCompare.</span >
Ah, indeed. That's the case here too. Also, there is this large FIXME in the
current code:
// FIXME: ARM looks for a case where the block containing the compare
// has been split from the block containing the branch. If this happens,
// there is a vreg available containing the result of the compare. I'm
// not sure we can do much, as we've lost the predicate information with
// the compare instruction -- we have a 4-bit CR but don't know which bit
// to test here.
return false;
and we should be ending up here (unfortunately). We did not have the right
check, however. Should be fixed by r238097.</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>