<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; "><br><div><div>On Feb 20, 2013, at 1:35 PM, David Blaikie <<a href="mailto:dblaikie@gmail.com">dblaikie@gmail.com</a>> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div dir="ltr"><br><div class="gmail_extra"><br><br><div class="gmail_quote">On Wed, Feb 20, 2013 at 12:39 PM, Chris Lattner <span dir="ltr"><<a href="mailto:clattner@apple.com" target="_blank">clattner@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"><div>On Feb 20, 2013, at 8:40 AM, David Blaikie <<a href="mailto:dblaikie@gmail.com" target="_blank">dblaikie@gmail.com</a>> wrote:</div>
<blockquote type="cite"><p dir="ltr">Sure, if you're willing to sacrifice the possible simplification of all indirect calls in any function that has even one nobuiltin requirement.</p></blockquote></div><div>I don't understand what you mean by this.</div>
</div></blockquote><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><div class="im"><blockquote type="cite"><p dir="ltr">1) annotate calls<br>

Pro: you can inline calls without pessimizing the function you inline into<br>
Con: you pessimize all indirect calls in functions with at least one nobuiltin requirement</p></blockquote></div>Can you give an example illustrating the con?  I don't see how anything is pessimized with this approach.</div>
</div></blockquote><div><br></div><div style=""><br></div><div style="">Yep, sorry - seems I added more confusion to this thread rather than less.<br><br>The only con I can see to the call-site annotation scheme is that you have to annotate all indirect calls (I assume there's some compile-time cost per thing you annotate so one would prefer to annotate fewer things - but probably a relatively small issue?) and then any direct call to the specific functions you care about.<br></div></div></div></div></blockquote><div><br></div><div>There is no compile time cost to that, it is just writing a different pointer into a field.  The attribute sets are uniqued already.</div></div><div><br></div>-Chris<br><br></body></html>