<br><div class="gmail_extra"><br><br><div class="gmail_quote">On Tue, Nov 13, 2012 at 4:05 PM, Pedro Artigas <span dir="ltr"><<a href="mailto:partigas@apple.com" target="_blank">partigas@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">Hello All,<div><br></div><div>Keeping the state is better because we do not need to reallocate several data structures, if you can just reuse the existing ones compile time will be better as the allocation of the module passes is going to be amortized over a larger number of modules. That is, assuming allocation time is greater than initialization and finalization time, you win for every module but the first.</div>
<div><br></div></div></blockquote><div><br></div><div>Sure, provided your compilation strategy is "everything is a single module, just split up".</div><div> </div><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><div>The idea is that we will compile many modules together and save compile time by reusing the module passes data structures.</div><div><br></div></div></blockquote><div><br>
</div><div>Isn't this what we have llvm-link for (or the library equivalent)? This is why I asked the question.</div><div> </div><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><div>Note that (I forgot to mention in the original message) the current implementation is just a skeleton and module passes would have to be changed to the new scheme to materialize any compile time savings, but the change is a step towards that (without it the idea cannot work).</div>
<div><br></div></div></blockquote><div><br></div><div>Understood.</div><div><br></div><div>-eric </div></div></div>