[llvm-bugs] [Bug 31103] New: Design an ORC C-API / ExecutionEngine replacement

via llvm-bugs llvm-bugs at lists.llvm.org
Mon Nov 21 13:36:32 PST 2016


https://llvm.org/bugs/show_bug.cgi?id=31103

            Bug ID: 31103
           Summary: Design an ORC C-API / ExecutionEngine replacement
           Product: libraries
           Version: trunk
          Hardware: PC
                OS: All
            Status: NEW
          Severity: normal
          Priority: P
         Component: OrcJIT
          Assignee: unassignedbugs at nondot.org
          Reporter: lhames at gmail.com
                CC: llvm-bugs at lists.llvm.org
    Classification: Unclassified

Along with http://llvm.org/PR31101 (unifying the existing in-tree ORC stacks)
we should design a new C API for ORC. It may make sense to design a replacement
for the C++ ExecutionEngine API alongside this.

I expect the default JIT implementation for any new interface would be provided
by the unified stack developed for http://llvm.org/PR31101, and it may be worth
designing the new stack with the interface in mind.

There is an existing ORC C-API (see
http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm-c/OrcBindings.h)
that may serve as a starting point, but it's missing some key features
(especially support for remote JITing).

A few of important questions off the top of my head:

(1) How should resource ownership (Modules, object files, etc) be modeled in
the C-API?
http://llvm.org/PR30896 will significantly influence this by locking ORC to a
shared ownership model.

(2) How should remote JITing be handled?

(3) How should this interface interact with the LLVM IR interpreter (if at
all?)


Thoughts from existing clients would be most welcome.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20161121/2562faee/attachment-0001.html>


More information about the llvm-bugs mailing list