<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 - DivergenceAnalysis incorrectly identifies join blocks of a loop exit"
href="https://bugs.llvm.org/show_bug.cgi?id=46372">46372</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>DivergenceAnalysis incorrectly identifies join blocks of a loop exit
</td>
</tr>
<tr>
<th>Product</th>
<td>libraries
</td>
</tr>
<tr>
<th>Version</th>
<td>trunk
</td>
</tr>
<tr>
<th>Hardware</th>
<td>All
</td>
</tr>
<tr>
<th>OS</th>
<td>All
</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>Global Analyses
</td>
</tr>
<tr>
<th>Assignee</th>
<td>unassignedbugs@nondot.org
</td>
</tr>
<tr>
<th>Reporter</th>
<td>sameer.sahasrabuddhe@amd.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=23626" name="attach_23626" title="block bb3 is not marked as divergent (but should be)">attachment 23626</a> <a href="attachment.cgi?id=23626&action=edit" title="block bb3 is not marked as divergent (but should be)">[details]</a></span>
block bb3 is not marked as divergent (but should be)
For a loop, a join block is a block that is reachable along multiple disjoint
paths from the exiting block of a loop. If the exit condition of the loop is
divergent, then such join blocks must also be marked divergent. This currently
fails in some cases because not all join blocks are identified correctly.
The current workaround is to conservatively mark every join block of any branch
(not necessarily the exiting block of a loop) as divergent.</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>