<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">
Of course it's *possible*, in a fundamental sense. It's even pretty easy to get right in a compiler back end (in a conceptual sense). You have to touch a LOT of code, but all the changes are trivial.  We did this at Tartan Labs back in the 90s. Done with only
 a bit of care, it makes debugging possible at any optimization level.  The idea is to make the debug information reflect what the optimizer and code generator actually did, rather than restricting them to the linear mapping supported by most debuggers.  If
 anyone cares, I can even give details now that the NDAs have finally expired.
<div>
<div>
<div><br>
</div>
<div>Sadly, you can't express the resulting source line information in the debug directives used by any commonly available debugger (that I am aware of).  So -- at the very most optimistic -- this approach won't get you anything any time soon.</div>
<div><br>
</div>
<div>Dean Sutherland</div>
<div><a href="mailto:dsutherland@cert.org">dsutherland@cert.org</a></div>
<div><br>
<div>
<div>
<div>On Jun 7, 2013, at 12:38 PM, Renato Golin <<a href="mailto:renato.golin@linaro.org">renato.golin@linaro.org</a>> wrote:</div>
<br class="Apple-interchange-newline">
<blockquote type="cite">
<div dir="ltr">On 7 June 2013 13:53, Dallman, John <span dir="ltr"><<a href="mailto:john.dallman@siemens.com" target="_blank">john.dallman@siemens.com</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">
<div lang="EN-GB" link="blue" vlink="purple">
<div>
<p class="MsoNormal"><span style="color:rgb(31,73,125);font-family:Calibri,sans-serif;font-size:11pt">It needs to be possible to debug code at any optimisation level.</span></p>
</div>
</div>
</blockquote>
<div><br>
</div>
<div style="">Yes, I agree. But after O1, sequential execution is a big impediment for optimizations, and keeping the debug information valid after so many transformations might pose a big penalty on the passes (time & memory). That was the whole idea of metadata
 being a second-class citizen.</div>
<div style=""><br>
</div>
<div style=""><br>
</div>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div lang="EN-GB" link="blue" vlink="purple">
<p class="MsoNormal"><span style="color:rgb(31,73,125);font-family:Calibri,sans-serif;font-size:11pt">Related to optimisation levels, it's quite helpful to have a way of controlling</span><br>
</p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">optimisation on a function-by-function level. This is very useful when you're trying
</span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">to work out where in a file with many functions an optimiser problem is happening;</span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">it isn't foolproof, but it helps a lot.</span></p>
</div>
</blockquote>
<div></div>
</div>
<br>
</div>
<div class="gmail_extra" style="">There are already people working on that, and discussions on the list about this very topic. I agree that it would be extremely helpful for debugging large programs.</div>
<div class="gmail_extra" style=""><br>
</div>
<div class="gmail_extra" style="">cheers,</div>
<div class="gmail_extra" style="">--renato</div>
</div>
_______________________________________________<br>
cfe-dev mailing list<br>
<a href="mailto:cfe-dev@cs.uiuc.edu">cfe-dev@cs.uiuc.edu</a><br>
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev<br>
</blockquote>
</div>
<br>
</div>
</div>
</div>
</div>
</body>
</html>