Skip to content
LLVM bindings for Ruby
Ruby C++
Latest commit 4a237f5 Nov 17, 2014 @jvoorhis Deprecation notice.
Failed to load latest commit information.
ext/ruby-llvm-support Upgraded to support LLVM 3.1 Sep 20, 2012
lib Bump version, merge Steven Farlie's fix and add him to README Sep 20, 2012
samples Added function pointer example Jul 26, 2011
yardlib Friendlier output for @LLVMinst and @LLVMpass. Apr 24, 2011
Gemfile Integrated Bundler and revamped packaging support. Dec 21, 2011
Gemfile.lock Bump version, merge Steven Farlie's fix and add him to README Sep 21, 2012
LICENSE Update copyright. Apr 21, 2011
Rakefile Upgraded to support LLVM 3.1 Sep 20, 2012
ruby-llvm.gemspec Updated generate_ffi task to be compatible with ffi-gen 1.1.0+ API. Sep 5, 2012


ruby-llvm has moved to ruby-llvm/ruby-llvm

This repository has been deprecated in favor of



Jeremy Voorhis


Evan Phoenix, David Holroyd, Takanori Ishikawa, Ronaldo M. Ferraz, Mac Malone, Chris Wailes, Ary Borenszweig, Richard Musiol, Juan Wajnerman, Steven Farlie


Copyright © 2010-2012 Jeremy Voorhis


BSD 3-clause (see LICENSE)

This package contains Ruby bindings to the LLVM api, enabling users to make use of LLVM's optimization passes and JIT compilation for implementing compiled DSLs, callback functions, or fast Ruby method implementations.

ruby-llvm has been tested on OS X 10.7 using the following Ruby interpreters:

  • MRI 1.8.7-p174

  • MRI 1.9.2-p290

  • MRI 1.9.3-preview1

  • JRuby 1.4.0

If using MRI, ffi >= 1.0.7 is recommended (only ffi >= 1.0.0 is required).


  • LLVM 3.0, including libLLVM-3.0 (compile LLVM with –enable-shared).

  • In order to ensure the usability of JIT features (i.e. create_jit_compiler), compile LLVM with –enable-jit as well.


LLVM can be installed with Homebrew by executing `brew install llvm –shared`

About version numbers

The first two digits of ruby-llvm's version number refer to the required major and minor version of LLVM. The third digit refers to the ruby-llvm release itself. Because LLVM's api changes often, this coupling between LLVM and ruby-llvm versions is useful.

Something went wrong with that request. Please try again.