<div dir="ltr">On 20 June 2013 23:53, David Blaikie <span dir="ltr"><<a href="mailto:dblaikie@gmail.com" target="_blank">dblaikie@gmail.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 class="im"><span style="color:rgb(34,34,34)">Kind of - some of that is just compile time optimization. If we</span><br></div>
created two "int" types in LLVM IR metadata debug info then the<br>
metadata uniquing would kick in & it'd be fine. Not so clear with user<br>
defined types (structs, etc) which can have circular type references &<br>
the like which would be harder to break.<br></blockquote><div><br></div><div style>Yes, they still haunt my nightmares... ;)</div><div><br></div><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<div class="im"><span style="color:rgb(34,34,34)">Somewhat - uses in source don't correlate exactly with where the debug</span><br></div>
info is wired into the IR so we can't just rely on IR optimizations to<br>
preserve or drop debug info perfectly. At the moment there are cases<br>
where we aren't emitting types into the debug info where we should be<br>
- because we only emit them in particular cases. There are broader<br>
ways we can do this, but it's still a choice about when/where we do<br>
it.<br></blockquote><div></div></div><br></div><div class="gmail_extra" style>Makes sense. Debug info is never as simple as you hope.</div><div class="gmail_extra" style><br></div><div class="gmail_extra" style>cheers,</div>
<div class="gmail_extra" style>--renato</div></div>