I'm fine with reverting it if we aren't going to fix it properly ATM.<div><br></div><div>But of course, for the moment that just means special casing assume in other places<br><br><div class="gmail_quote"><div dir="ltr">On Wed, May 25, 2016, 5:13 PM Hal Finkel <<a href="mailto:hfinkel@anl.gov">hfinkel@anl.gov</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">hfinkel added a comment.<br>
<br>
In <a href="http://reviews.llvm.org/D20653#440268" rel="noreferrer" target="_blank">http://reviews.llvm.org/D20653#440268</a>, @sanjoy wrote:<br>
<br>
> IIUC this is also a correctness fix, right?<br>
><br>
> Since you could have had:<br>
><br>
>   volatile boolean always_false = ...;<br>
>   for (...)<br>
>     if (always_false)<br>
>       assume(false);<br>
><br>
><br>
> and hoisting out `assume(false)` to the loop preheader will make the loop appear dead.<br>
<br>
<br>
Yes.<br>
<br>
I was afraid something like this might happen. I think we need to revert r268068 (and the various follow-up fixes). Thoughts?<br>
<br>
<br>
<a href="http://reviews.llvm.org/D20653" rel="noreferrer" target="_blank">http://reviews.llvm.org/D20653</a><br>
<br>
<br>
<br>
</blockquote></div></div>