[LLVMdev] JIT support for new architectures

Kaylor, Andrew andrew.kaylor at intel.com
Fri Nov 22 13:31:07 PST 2013


Hi Frank,

In general, for platforms that use ELF object format the only thing needed for MCJIT to support the architecture (assuming code generation is available) is to handle any architecture-specific relocations in RuntimeDyldELF.  In fact, you don't even need to implement all the possible relocation types, just the ones that get generated for the code model and relocation model you're interested in.  Our approach to this point has been to just implement relocation types as we encounter them.

I don't know the state of support for the IBM architecture you mentioned, but I can tell you that general PowerPC support is in place for MCJIT, so there probably wouldn't be much extra work needed, if any.

I'm also not sure about the state of LLVM support for the Intel(R) Xeon Phi(TM) processor code named Knights Corner, though the basic functionality you describe is probably available.  It is my understanding that the processor code named Knights Landing is well supported in LLVM.  I wouldn't expect anything extra to be required to use MCJIT with either one.

-Andy

-----Original Message-----
From: llvmdev-bounces at cs.uiuc.edu [mailto:llvmdev-bounces at cs.uiuc.edu] On Behalf Of Frank Winter
Sent: Friday, November 22, 2013 10:56 AM
To: llvmdev at cs.uiuc.edu
Subject: [LLVMdev] JIT support for new architectures

What would be needed in order to make MCJIT work on a new architecture?
I am thinking BG/Q and Xeon Phi (native).

Let's assume the components required for JIT (core, mcjit, native, etc.) can be cross-compiled and linked with an Intel or IBM compiler for such an architecture, and somehow one manages to execute the application. (I didn't try all that yet.) Also, let's assume there is some codegen support for these architectures (which I understand there is). It might not be complete, but it might also be enough for my application (only floating-point and integer arithmetic, loads/stores).
What JIT-related features are definitely not there (yet) and would be needed to make MCJIT actually work such these architectures?

Frank

_______________________________________________
LLVM Developers mailing list
LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev




More information about the llvm-dev mailing list