<div dir="ltr">Now that phab is back up, see <a href="https://reviews.llvm.org/D25075">https://reviews.llvm.org/D25075</a></div><br><div class="gmail_quote"><div dir="ltr">On Thu, 29 Sep 2016 at 15:21 James Molloy via llvm-commits <<a href="mailto:llvm-commits@lists.llvm.org">llvm-commits@lists.llvm.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi Philip,<br>
<br>
[Sending old-school because Phab is down, being upgraded]<br>
<br>
I’d appreciate your thoughts on this patch. I *think* the logic is sound and it’s simple and worthwhile to handle this special-case.<br>
<br>
We have a very broad-brush bailout in JumpThreading - we never thread over a<br>
loop header. This is so we don't create irreducible control flow.<br>
<br>
However, as mentioned in the existing comments there are situations where we'd<br>
want to thread over a loop header and it can create significant improvements in<br>
some cases.<br>
<br>
As it's hard to know if irreducible control flow would be created, handle<br>
specially the case where we thread from predecessor to itself - essentially<br>
generating a single block loop.  Single block loops aren't irreducible by<br>
definition and are easy to check.<br>
<br>
Cheers,<br>
<br>
James_______________________________________________<br>
llvm-commits mailing list<br>
<a href="mailto:llvm-commits@lists.llvm.org" target="_blank">llvm-commits@lists.llvm.org</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits</a><br>
</blockquote></div>