<html>
<head>
<base href="https://bugs.llvm.org/">
</head>
<body><span class="vcard"><a class="email" href="mailto:mikael.holmen@ericsson.com" title="Mikael Holmén <mikael.holmen@ericsson.com>"> <span class="fn">Mikael Holmén</span></a>
</span> changed
<a class="bz_bug_link
bz_status_RESOLVED bz_closed"
title="RESOLVED FIXED - opt crashes with "-simple-loop-unswitch -loop-idiom": Assertion `hasDedicatedExits() && "getUniqueExitBlocks assumes the loop has canonical form exits!"' failed."
href="https://bugs.llvm.org/show_bug.cgi?id=37677">bug 37677</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;">Resolution</td>
<td>---
</td>
<td>FIXED
</td>
</tr>
<tr>
<td style="text-align:right;">CC</td>
<td>
</td>
<td>mikael.holmen@ericsson.com
</td>
</tr>
<tr>
<td style="text-align:right;">Status</td>
<td>NEW
</td>
<td>RESOLVED
</td>
</tr></table>
<p>
<div>
<b><a class="bz_bug_link
bz_status_RESOLVED bz_closed"
title="RESOLVED FIXED - opt crashes with "-simple-loop-unswitch -loop-idiom": Assertion `hasDedicatedExits() && "getUniqueExitBlocks assumes the loop has canonical form exits!"' failed."
href="https://bugs.llvm.org/show_bug.cgi?id=37677#c1">Comment # 1</a>
on <a class="bz_bug_link
bz_status_RESOLVED bz_closed"
title="RESOLVED FIXED - opt crashes with "-simple-loop-unswitch -loop-idiom": Assertion `hasDedicatedExits() && "getUniqueExitBlocks assumes the loop has canonical form exits!"' failed."
href="https://bugs.llvm.org/show_bug.cgi?id=37677">bug 37677</a>
from <span class="vcard"><a class="email" href="mailto:mikael.holmen@ericsson.com" title="Mikael Holmén <mikael.holmen@ericsson.com>"> <span class="fn">Mikael Holmén</span></a>
</span></b>
<pre>This seems to have been fixed with r366294:
[LoopInfo] Fix getUniqueNonLatchExitBlocks
It is possible that exit block has two predecessors and one of them is a
latch
block while another is not.
Current algorithm is based on the assumption that all exits are dedicated
and therefore we can check only first predecessor of loop exit to find all
unique
exits.
However if we do not consider latch block and it is first predecessor of
some
exit then this exit will be found.
Regression test is added.
As a side effect of algorithm re-writing, the restriction that all exits
are dedicated
is eliminated.
Reviewers: reames, fhahn, efriedma
Reviewed By: efriedma
Subscribers: llvm-commits
Differential Revision: <a href="https://reviews.llvm.org/D64787">https://reviews.llvm.org/D64787</a>
llvm-svn: 366294</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>