<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><br><div><div>On May 21, 2011, at 9:09 PM, Chris Lattner wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><span class="Apple-style-span" style="border-collapse: separate; font-family: Verdana; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; font-size: medium; ">On Mar 9, 2011, at 4:21 PM, Devang Patel wrote:<br><br><blockquote type="cite">Author: dpatel<br></blockquote><blockquote type="cite">Date: Wed Mar  9 18:21:25 2011<br></blockquote><blockquote type="cite">New Revision: 127381<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">URL:<span class="Apple-converted-space"> </span><a href="http://llvm.org/viewvc/llvm-project?rev=127381&view=rev">http://llvm.org/viewvc/llvm-project?rev=127381&view=rev</a><br></blockquote><blockquote type="cite">Log:<br></blockquote><blockquote type="cite">Introduce DebugInfoProbe. This is used to monitor how llvm optimizer is treating debugging information.<span class="Apple-converted-space"> </span><br></blockquote><blockquote type="cite">It generates output that lools like<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">8 times line number info lost by Scalar Replacement of Aggregates (SSAUp)<span class="Apple-converted-space"> </span><br></blockquote><blockquote type="cite">1 times line number info lost by Simplify well-known library calls<span class="Apple-converted-space"> </span><br></blockquote><blockquote type="cite">12 times variable info lost by Jump Threading<br></blockquote><br>Hi Devang,<br><br>This looks like very interesting functionality, but it is really unfortunate that it has to be so intricately intertwined into the core PassManager.  We don't do this for any other functionality, why should this be different?<br></span></blockquote><div><br></div>Pass manager is involved because we need a way to collect data after every pass.</div><div><br></div><div>BTW, We do this for pass timer also.</div><div>-</div><div>Devang</div><div><br></div></body></html>