doktorschiwago/Rllvm2: Interface to llvm for dynamically compiling native code.

This package is currently an interface to some of the functionality in the llvm toolkit for programmaticall constructing native code. This allows us to build "compilers" in R and use llvm's optmization and JIT techniques to improve the code we generate and then turn it into machine code. This is currently not a compiler. There are examples that illustrate how to generate code to create native functions that are equivalent to some simple R functions. The goal is to build on this and create a compiler, hopefully building on the framework that Luke Tierney has created in his compiler package (see This is in the RLLVCompile package. The speed up we achieve compiling R code in our examples illustrate that we can significantly outperform the R interpreter and also can outperform some of R's vectorized code by rearranging the computations, e.g. fusing loops, avoiding memory usage.

Getting started

Package details

AuthorDuncan Temple Lang, Vince Buffalo
MaintainerDuncan Temple Lang <[email protected]>
Package repositoryView on GitHub
Installation Install the latest version of this package by entering the following in R:
doktorschiwago/Rllvm2 documentation built on May 15, 2019, 9:42 a.m.