<div class="gmail_quote">On Thu, May 24, 2012 at 10:27 PM, Andrew Trick <span dir="ltr"><<a href="mailto:atrick@apple.com" target="_blank">atrick@apple.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div style="word-wrap:break-word"><div class="im"><br><div><div>On May 24, 2012, at 10:15 PM, Chandler Carruth <<a href="mailto:chandlerc@google.com" target="_blank">chandlerc@google.com</a>> wrote:</div><br><blockquote type="cite">
<div class="gmail_quote">On Thu, May 24, 2012 at 10:11 PM, Andrew Trick <span dir="ltr"><<a href="mailto:atrick@apple.com" target="_blank">atrick@apple.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

I'd like to move the loop discovery algorithm out of the main header before I start changing it.<br>
<br>
This makes the LoopInfo interface readable, which I think is extremely important.<br>
<br>
Bonus:<br>
While I'm working on it, it speeds up my rebuilds by 4.7x.<br>
And for everyone else working outside LoopInfo, well your builds could be a full second faster ;-)<br>
<br>
We've been using the same explicit instantiation strategy in BlockFrequency for a year now and no one has complained. But I thought wait for feedback anyway--hopefully just doxygen nits!<br></blockquote><div><br></div>

<div>If the strategy is to use explicit instantiation only, why not move it completely into a .cc file?</div></div></blockquote><br></div></div><div>I'll follow any convention you like if you can be more specific. LoopInfo.cpp and MachineLoopInfo.cpp are the placeholders that determine which library contains the instantiations.</div>
</div></blockquote><div><br></div><div>Ahh, I see, you want each instantiation to go into a different library not just to have the implementation be managed through explicit instantiation. =] Carry on! </div></div>