3 ms·
I added LLVM JIT support to https://ossia.io https://ossia.io a few years ago, it's not too bad, but a big issue is that the JIT does not support all the necess
by jcelerier 2y ago
I added LLVM JIT support to https://ossia.io https://ossia.io a few years ago, it's not too bad, but a big issue is that the JIT does not support all the necessary features used by the frontend in terms of relocations, etc. So it happens relatively often that C++ code will compile to LLVM IR without issue, but then fail at the JIT step because some relocation is not supported by the JIT engine yet.
Most of the code is here : https://github.com/ossia/score/tree/master/src/plugins/score-plugin-jit/JitCpp https://github.com/ossia/score/tree/master/src/plugins/score... with the actual LLVM API interoperation contained there : https://github.com/ossia/score/tree/master/src/plugins/score-plugin-jit/JitCpp/Compiler https://github.com/ossia/score/tree/master/src/plugins/score...
It's been used for fun projects, for instance for this paper about data sonification : https://www.researchgate.net/profile/Maxime_Poret/publication/374732205_Proof_of_Concept_of_a_Generic_Toolkit_for_Sonification_The_Sonification_Cell_in_Ossia_Score/links/65eeb38a9ab2af0ef8aec1b1/Proof-of-Concept-of-a-Generic-Toolkit-for-Sonification-The-Sonification-Cell-in-Ossia-Score.pdf https://www.researchgate.net/profile/Maxime_Poret/publicatio...