TheDan64 / inkwell

It's a New Kind of Wrapper for Exposing LLVM (Safely)
https://thedan64.github.io/inkwell/
Apache License 2.0
2.38k stars 229 forks source link

Implementation of orc2 based jit engine. #477

Open JCBurnside opened 9 months ago

JCBurnside commented 9 months ago

Description

It supports creating the LLJIT engine off a module (consuming said module), adding global mappings off name and global values. Documentation needs a bit of work (thus starting this as a draft pr) but rather simple implementation and tried to mirror JITExecutionEngine though it is constructed differently.

Related Issue

476

How This Has Been Tested

I have tested with a local project referencing the local fork and the samples attached to LLJITExecutionEngine::get_function and LLJITExecutionEngine::add_global_mapping

Checklist

JCBurnside commented 9 months ago

alright I feel I have commented everything. Feel free to let me know anything i missed.

JCBurnside commented 9 months ago

hmmm sees i need to find out what llvm version LLJIT was added. And then rebase to master. I'll get right on that!