<div dir="ltr">Just a heads up: The patch is now up for review on llvm-commits. If you have comments related to the patch please post them in that thread.<div><br></div><div>Cheers,</div><div>Lang.</div><div><div><br></div></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Jan 19, 2015 at 8:43 PM, Lang Hames <span dir="ltr"><<a href="mailto:lhames@gmail.com" target="_blank">lhames@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Hi Chuck,<div><br></div><div><span class=""><br>> We're currently using LLVM 3.3 in production (due to performance regressions in newer versions), so I don't know if > some other scheme is appropriate for current levels.<br><div class="gmail_extra"><br></div></span><div class="gmail_extra">Do you have any insight into what regressed? If it's related to the JIT infrastructure I'd be curious to hear about that so I can keep it in mind while working on these new APIs. Slowdowns in IR/CodeGen are also interesting, though I'm less likely to be able to deal with them personally.</div><div class="gmail_extra"><br></div><div class="gmail_extra">Cheers,</div><div class="gmail_extra">Lang.</div><div class="gmail_extra"><br></div><div class="gmail_extra"><br><div class="gmail_quote"><span class="">On Sun, Jan 18, 2015 at 7:12 AM, Caldarale, Charles R <span dir="ltr"><<a href="mailto:Chuck.Caldarale@unisys.com" target="_blank">Chuck.Caldarale@unisys.com</a>></span> wrote:<br></span><div><div class="h5"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">> From: Armin Steinhoff [mailto:<a href="mailto:armin@steinhoff.de" target="_blank">armin@steinhoff.de</a>]<br>
<span>> Subject: Re: [LLVMdev] New JIT APIs<br>
<br>
</span><span>> is<br>
>  delete EE;   // execution engine<br>
>  llvm_shutdown();<br>
> sufficient ?<br>
<br>
</span>AFAICT, llvm_shutdown() must not be called unless you reach a point where LLVM will not be used again by the process (e.g., termination), as it destroys statically allocated objects.  We delete the ExecutionEngine (which automatically deletes TargetMachine and Module) after each compilation.  The LLVMContext and IRBuilder objects are deleted after some configurable number of compilations, in order to avoid unbounded growth in the constant pool.<br>
<br>
We're currently using LLVM 3.3 in production (due to performance regressions in newer versions), so I don't know if some other scheme is appropriate for current levels.<br>
<br>
 - Chuck<br>
<br>
</blockquote></div></div></div><br></div></div></div>
</blockquote></div><br></div>