<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Feb 24, 2015 at 11:00 AM, Philip Reames <span dir="ltr"><<a href="mailto:listmail@philipreames.com" target="_blank">listmail@philipreames.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class=""><br>
On 02/24/2015 10:51 AM, Hal Finkel wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
----- Original Message -----<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
From: "Philip Reames" <<a href="mailto:listmail@philipreames.com" target="_blank">listmail@philipreames.com</a>><br>
To: "Chandler Carruth" <<a href="mailto:chandlerc@google.com" target="_blank">chandlerc@google.com</a>>, "Katya Romanova" <<a href="mailto:Katya_Romanova@playstation.sony.com" target="_blank">Katya_Romanova@playstation.<u></u>sony.com</a>>, "Nick Lewycky"<br>
<<a href="mailto:nlewycky@google.com" target="_blank">nlewycky@google.com</a>><br>
Cc: <a href="mailto:llvmdev@cs.uiuc.edu" target="_blank">llvmdev@cs.uiuc.edu</a>, "Hal Finkel" <<a href="mailto:hfinkel@anl.gov" target="_blank">hfinkel@anl.gov</a>>, "Rafael Espindola" <<a href="mailto:rafael_espindola@playstation.sony.com" target="_blank">rafael_espindola@playstation.<u></u>sony.com</a>>,<br>
"Sanjoy Das" <<a href="mailto:sanjoy@playingwithpointers.com" target="_blank">sanjoy@playingwithpointers.<u></u>com</a>>, "David Majnemer" <<a href="mailto:david.majnemer@gmail.com" target="_blank">david.majnemer@gmail.com</a>><br>
Sent: Tuesday, February 24, 2015 12:45:51 PM<br>
Subject: Re: Jump Theading/GVN bug - moving discussion to llvm-dev<br>
<br>
Whatever we end up deciding, I think we do need to preserve the<br>
ability of a language frontend to generate complete garbage in the<br>
form of unreachable code.<br>
</blockquote>
And this is exactly what I don't understand. Why would a frontend need to produce "complete garbage" in unreachabe code?<br>
</blockquote></span>
Er, my wording was poor here.  I did not mean the self referential case.  I simply meant an unreachable block.  I meant to say that a frontend shouldn't have to remove all statically unreachable blocks before passing it to LLVM.  Not producing self referential instructions seems like a perfectly reasonable restriction.  :)</blockquote><div><br></div><div>I'm actually perfectly fine with this kind of restriction. If we want to create dead blocks through passes, so be it (though we seem to already go to lengths to avoid it in a lot of passes, as i pointed out). But uh, we should limit the stuff in the dead blocks to not be invalid in some form  :)</div><div><br></div><div><br></div><div><br></div></div></div></div>