<div dir="ltr"><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Jul 31, 2013 at 6:39 PM, JF Bastien <span dir="ltr"><<a href="mailto:jfb@google.com" target="_blank" class="cremed">jfb@google.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im"><p dir="ltr">> You will need to do this in the frontend. The target independent optimizers are allowed to use the memory model.</p>

</div><p dir="ltr">We discussed doing this, and concluded that doing it pre-opt was overly restrictive on correct code. Doing it post-opt bakes the behavior into the portable code, so in a way it'll be reliably broken but won't penalize good code. </p>


<p dir="ltr">FWIW it's easy to change from one to the other: move one line of code. I hope my explanation makes sense, and it doesn't look like I'm dismissing your comment on implementation issues.</p></blockquote>
<div><br></div><div>It doesn't really make sense to me. The most likely way for the optimizer to break any of this is in the middle end. By only fixing it afterward, I don't see what the advantage of fixing it at all is...</div>
<div><br></div><div>As Jeffrey pointed out, the penalty is relatively low on x86. </div></div></div></div>