Directly generate object files instead of going through assembly
Fix missed CONSTCASE recursion when traversing VMDef to find all `Name`s
This is a (work in progress) backend to generate native executables from Idris code, using the LLVM compiler infrastructure. Code is generated via LLVM IR.
The source folder
rts/ contains a primitive runtime system with a relocating
semi-space garbage collector.
LLVM 11 needs to be installed and the binaries available in your
check if that is the case, try the following command:
$ opt --version LLVM (http://llvm.org/): LLVM version 11.1.0 Optimized build. Default target: x86_64-pc-linux-gnu Host CPU: znver2
GMP needs to be installed (
libgmp-dev on Debian).
$ make $ make test
# compile the included "Hello world" example ./build/exec/rapidc --cg llvm -o hello samples/Hello.idr # run the compiled binary ./build/exec/hello
Differences from mainline Idris 2:
Intis 63-bits only and overflow is handled differently
Currently not implemented: