[Date Prev][Date Next][Thread Prev][Thread Next]
- Subject: Off-topic: a new JIT compiler for C with LLVM backend
- From: Dibyendu Majumdar <mobile@...>
- Date: Thu, 30 Mar 2017 13:40:10 +0100
One of the features in Ravi is a binding for LLVM api, so that you can
construct LLVM IR from within Ravi. However, LLVM IR coding is very
tedious so I am not surprised that I haven't heard anyone trying this
out. So for a while I have been thinking of a way to provide an easier
approach to this.
Terra (http://terralang.org/) has taken the approach for creating a C
like language that is essentially C but has Lua like syntax to achieve
a similar goal.
I love C (have loved it since I first learnt it) and so I thought it
better to provide a C language based approach. I have been spending
some time on exactly this.
dmr_C (https://github.com/dibyendumajumdar/dmr_c) is an attempt to
create a light weight C front-end for LLVM. It is based on a project
called Sparse that is not as well known as Linux or Git - but was
created by Linus Torvalds several years ago.
The project is making good progress. The next step is to create some
bindings for Ravi/Lua.
I think once fully implemented there are interesting possibilities.
The library has a full fledged C pre-processor, parser, and has its
own SSA IR. The API is a bit low level, so work is needed to expose
the data structures in an easier manner.
I thought folks here might find it interesting - please accept my
apologies for an off topic post.
Thanks and Regards