R interface to LLVM C++ API to be able to create compiled code from within R
R C++ TeX Shell LLVM C Other
Switch branches/tags
Nothing to show
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
Paper
R
TU
Web
ctests
experiments
explorations
inst
man
src
tests
tools
.Rbuildignore
.gitignore
BuildingLLVM.md
Changelog
Classes
CodeGenFAQ.xml
CompilerNotes
DESCRIPTION
DebuggingRuntimeProblems.Rdb
FAQ.xml
INSTALL.md
IRNotes
NAMESPACE
Notes
READ
README.md
SeeMachineCode
ThingsToRemember
Todo.xml
UpdateLLVMVersion
VinceQues
cleanup
configure
configure.in
funcGroups.R
makePassCode.R
simpleCall.R
test.R
testPTX.R
types.R

README.md

RLLVM

RLLVM is an R interface to LLVM. This interface allows one to create compiled code from within R through LLVM's intermediate representation (IR), which LLVM can then extensively and efficiently optimize.

For examples, see the RLLVM page on Omegahat.

The current repository builds against LLVM 3.5, 3.6, 3.7, and3.8. Importantly, recent versions of LLVM default to the MCJIT execution engine. This unfortunately has very limited ability to invoke routines compiled via Rllvm, i.e., using the .llvm() and run() functions. Acccordingly, we have implemented a simple (but reasonably comprehensive) mechanism to invoke these routines. We use the Rffi package to do this. We might shift to the rdyncall package.

So this package now requires the Rffi package. This comes with its own version of libffi, but will find a more up-to-date version if it is installed (see pkg-config).

These packages are not yet on CRAN.

Related packages are Rffi, Rllvm (this one), RLLVMCompile, RCUDA, RCIndex.