<html>
<head>
<base href="http://llvm.org/bugs/" />
</head>
<body><span class="vcard"><a class="email" href="mailto:benny.kra@gmail.com" title="Benjamin Kramer <benny.kra@gmail.com>"> <span class="fn">Benjamin Kramer</span></a>
</span> changed
<a class="bz_bug_link
bz_status_RESOLVED bz_closed"
title="RESOLVED FIXED - Missed select threading case"
href="http://llvm.org/bugs/show_bug.cgi?id=15340">bug 15340</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 - Missed select threading case"
href="http://llvm.org/bugs/show_bug.cgi?id=15340#c2">Comment # 2</a>
on <a class="bz_bug_link
bz_status_RESOLVED bz_closed"
title="RESOLVED FIXED - Missed select threading case"
href="http://llvm.org/bugs/show_bug.cgi?id=15340">bug 15340</a>
from <span class="vcard"><a class="email" href="mailto:benny.kra@gmail.com" title="Benjamin Kramer <benny.kra@gmail.com>"> <span class="fn">Benjamin Kramer</span></a>
</span></b>
<pre>With r175995 the cmov is gone:
define void @foo(i32* %x, i32* %y) #0 {
entry:
%cmp5 = icmp eq i32* %x, null
br i1 %cmp5, label %while.end, label %while.body
while.body: ; preds = %entry, %while.body
%x.addr.06 = phi i32* [ %call, %while.body ], [ %x, %entry ]
%call = tail call i32* @f(i32* %x.addr.06) #2
%cmp7 = icmp eq i32* %call, null
%not.cmp1 = icmp eq i32* %call, %y
%cmp = or i1 %cmp7, %not.cmp1
br i1 %cmp, label %while.end, label %while.body
while.end: ; preds = %while.body, %entry
ret void
}
declare i32* @f(i32*) #1
define void @bar(i32* %x, i32* %y) #0 {
entry:
%cmp.old = icmp eq i32* %x, null
br i1 %cmp.old, label %while.end, label %while.body
while.body: ; preds = %entry, %while.body
%x.addr.0 = phi i32* [ %call, %while.body ], [ %x, %entry ]
%call = tail call i32* @f(i32* %x.addr.0) #2
%cmp1 = icmp ne i32* %call, %y
%cmp = icmp ne i32* %call, null
%or.cond = and i1 %cmp1, %cmp
br i1 %or.cond, label %while.body, label %while.end
while.end: ; preds = %while.body, %entry
ret void
}</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>