Recompile (and re-link) a function at runtime using ORC JIT for an ARM platform

Hi,

We are making the move from legacy JIT (llvm-3.5.x) to ORC JIT and I am looking to recompile (and re-link) functions at runtime for an ARM platform (Odroid XU3) . I looked at OrcLazyJIT.cpp as a starting point. However, after going through the code, it appears that the createCompileCallbackMgr (llvm-3.8.0) / createLocalCompileCallbackManager (llvm-git) do not support an ARM triple yet.

Does anyone know if ARM will be supported in the future and/or point me in the right direction?

Cheers,

Gavin

+Lang Hames, Godfather of Orcs.

Hi Gavin,

However, after going through the code, it appears that the
createCompileCallbackMgr (llvm-3.8.0) /
createLocalCompileCallbackManager (llvm-git) do not support an ARM
triple yet.

Not yet I’m afraid.

Does anyone know if ARM will be supported in the future and/or point me
in the right direction?

Absolutely. I’m hoping to have ARM support for lazy compilation on Darwin some time in the next month or so. Depending on ABI compatibility, you should be able to re-use or adapt this for Odroid.

The APIs for lazy compilation are all designed to be target-independent so in the mean time you should be able to prototype your work on x86/arm64. Once the appropriate ARM ABI support lands porting should be more-or-less a no-op.

Cheers,
Lang.

Hi Lang,

Thanks for the clarification. It is good to know that support for ARM is in the pipeline.

Cheers,
Gavin