[llvm-dev] More function signatures for LLVMRunFunction?
Evan Miller via llvm-dev
llvm-dev at lists.llvm.org
Fri Jul 15 11:48:14 PDT 2016
Hi Lang,
Thanks for the reply. Responses below.
As far as I know nobody is actively working on MCJIT any more. I've been
> working on the next generation of LLVM JIT APIs (ORC - see
> include/llvm/ExecutionEngine/Orc) for a while now, but they don't have
> functionality for running arbitrary functions yet.
>
Thanks for the pointer to ORC -- it looks like the runFunction there is a
copy-paste from MCJIT (minus the finalize() stuff).
Definitely. I'd be happy to see something like this in ORC, and I think
> there would be other people who would appreciate it too.
>
The basic approach I am using is to add a function to TargetMachine called
runFunctionNatively:
virtual GenericValue runFunctionNatively(Function *F, void *FPtr,
ArrayRef<GenericValue> ArgValues);
This houses most of the duplicated code currently in runFunction, and can
then be called from either MCJIT or OrcMCJITReplacement. I then have an
override for X86TargetMachine that uses the register trick.
I'd like to see a generic implementation that can handle all architectures
> first, maybe with an specialized version for specific ABIs as an
> optimization.
>
I agree a generic implementation would be ideal, but I don't know how to do
a generic dynamic dispatch in C. Lacking that generic implementation, would
you be interested in seeing what I have so far?
Thanks!
Evan
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20160715/48b0f140/attachment.html>
More information about the llvm-dev
mailing list