[ORC] Break up C-API header Orc.h, and add JITEventListener support.This patch breaks Orc.h up into Orc.h, LLJIT.h and OrcEE.h.Orc.h contain core Orc utilities.LLJIT.h contains LLJIT specific ty
[ORC] Break up C-API header Orc.h, and add JITEventListener support.This patch breaks Orc.h up into Orc.h, LLJIT.h and OrcEE.h.Orc.h contain core Orc utilities.LLJIT.h contains LLJIT specific types and functions.OrcEE.h contains types and functions that depend on ExecutionEngine.The intent is that these headers should match future library divisions: Clientswho only use Orc.h should only need to link againt the Orc core libraries,clients using LLJIT.h will also need to link against LLVM core, and clientsusing OrcEE.h will also have to link against ExecutionEngine.In addition to breaking up the Orc.h header this patch introduces functions to:(1) Set the object linking layer creation function on LLJITBuilder.(2) Create an RTDyldObjectLinkingLayer instance (particularly for use in (1)).(3) Register JITEventListeners with an RTDyldObjectLinkingLayer.Together (1), (2) and (3) can be used to force use of RTDyldObjectLinkingLayeras the underlying JIT linker for LLJIT, rather than the platform default, andto register event listeners with the RTDyldObjectLinkingLayer.
show more ...
[ORC] Require JITDylib to be specified when adding IR and objects in the C API.
[ORC] Add C API support for adding object files to an LLJIT instance.