ExecutionEngine::finalizeModule()

Kaylor, Andrew andrew.kaylor at intel.com
Thu Oct 17 15:13:48 PDT 2013


Hi Yaron,

What do you see as the use case for adding this?  I was thinking about removing finalizeObject() from the interface -- it's mostly there to support code that was written when it was necessary.  It was probably a misstep to introduce finalizeObject in the EE interface in the first place.  It's a case of leaking an implementation detail into the interface.

With the current trunk implementation of MCJIT, calling getFunctionAddress will implicitly finalize the module that contains the function (as well as any other modules that have been loaded).  The idea is that the address you get back is immediately useful (which was not true of the older getPointerToFunction method).

Also note that within MCJIT calling finalizeModule has the effect of finalizing all loaded modules.  In fact, I plan to update the implementation of finalizeModule to call finalizeLoadedModules soon.

-Andy


From: Yaron Keren [mailto:yaron.keren at gmail.com]
Sent: Thursday, October 17, 2013 2:32 PM
To: llvm-commits at cs.uiuc.edu; Kaylor, Andrew
Subject: ExecutionEngine::finalizeModule()

Hi,

Make finalizeModule() accessible for MCJIT created through ExecutionEngine.

Maybe it would make sense to expose finalizeLoadedModules() as well.

Yaron


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20131017/d0d475b4/attachment.html>


More information about the llvm-commits mailing list