<div dir="ltr">On Thu, Nov 28, 2013 at 1:11 PM, Renato Golin <span dir="ltr"><<a href="mailto:renato.golin@linaro.org" target="_blank">renato.golin@linaro.org</a>></span> wrote:<br><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 28 November 2013 00:00, Robinson, Paul<br>
<div class="im"><<a href="mailto:Paul_Robinson@playstation.sony.com">Paul_Robinson@playstation.sony.com</a>> wrote:<br>
> In my experience, to a first approximation, anything<br>
> that changes the CFG or that reorders generated code beyond source<br>
> statement boundaries is likely to make things more difficult for the<br>
> debugger.<br>
<br>
</div>I agree.<br>
<div class="im"><br>
<br>
> Okay.  I worked on compilers where -O1 was the default, actually, and<br>
> it was "generally fast enough" but still very easy to produce very<br>
> good debug info.<br>
<br>
</div>Me too, but if you search the meaning of that, it's actually to<br>
maintain the debug illusion. You want to make it simple enough for the<br>
user, the default should be a local minimum for all three functions:<br>
speed, simplicity, debugability.<br></blockquote><div><br></div><div>I'm not sure where the simplicity came in, nor why it's a particularly important goal for debugging. (Clearly making it excessively "not simple" would be bad, but if I'm trying to debug something having it be simple to set-up/invoke isn't particularly important. Indeed, a most of the bugs which really need a debugger are manifest in big applications where even a non-debug build can be very "not simple".)<br>
<br></div><div>On the other hand, deciding on the precise trade-off between execution speed and "interpretability of machine states in terms of the original source" is indeed a significant problem for "source level" bugs which manifest after a huge number of instructions have been executed (either because the program is big, or it runs intensively before hitting the bug).<br>
</div></div><br>-- <br><div>cheers, dave tweed__________________________</div><div>high-performance computing and machine vision expert: <a href="mailto:david.tweed@gmail.com" target="_blank">david.tweed@gmail.com</a></div>
<div>"while having code so boring anyone can maintain it, use Python." -- attempted insult seen on slashdot</div><div> </div>
</div></div>