<div dir="ltr"><div class="gmail_default" style>On Mon, Jan 14, 2013 at 8:00 AM, Krzysztof Parzyszek <span dir="ltr"><<a href="mailto:kparzysz@codeaurora.org" target="_blank" class="cremed">kparzysz@codeaurora.org</a>></span> wrote:<br>
</div><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On 1/14/2013 3:09 AM, Chandler Carruth wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
[...] This level should always produce<div class="im"><br>
binaries at least as fast as quickopt, but they might be both slower to<br>
compile.<br>
</div></blockquote>
<br>
The "always" part cannot really be guaranteed or enforced.  I'd state it in terms of intention, i.e. "this level is intended to produce binaries at least as fast as quickopt".  Otherwise, the wording may imply that it is a compiler bug if there exists a binary that runs slower at -O2 than at -O1.</blockquote>
<div><br></div><div style>The use of 'should' is not accidental in my proposal. I don't read 'should' as implying any more or less of a guarantee (much less an enforcement) than yours.</div><div style>
<br></div><div style>But clearly we cannot make guarantees or enforce things. That's not really the point. What matters is that when at some point someone shows up with data that shows "here is a way in which -O2 is faster than -O3", that does get classified as a bug, not a feature. =] That doesn't mean there will be an easy or obvious solution, but it does give us the right perspective on finding a solution.</div>
</div></div></div>