<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 Nov 13, 2012, at 4:17 PM, Eric Christopher <<a href="mailto:echristo@gmail.com">echristo@gmail.com</a>> wrote:</div><br><blockquote type="cite"><div class="gmail_extra"><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:<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><br></div><div>The intended use case is for a JIT or other long-running compilation process, where we will compile many distinct modules that were not all available to be linked together at the same time.  If we can reuse the PassManager structure across multiple module compilations, we can save the compile time cost of setting up the PassManager on all but the first module.</div><div><br></div><div>--Owen</div></body></html>