Files
wasmer/lib/compiler-llvm
Nick Lewycky 6b1df05582 Explain why we switch away from large code model when PIC is enabled.
Note that I don't explain why Small vs Medium. I'm not sure myself.
2020-08-10 16:32:35 -07:00
..
2020-08-06 18:20:17 -07:00
2020-07-29 17:30:15 -07:00

wasmer-compiler-llvm Build Status Join Wasmer Slack MIT License

This crate contains a compiler implementation based on the LLVM Compiler Infrastructure.

Usage

First, add this crate into your Cargo.toml dependencies:

wasmer-compiler-llvm = "1.0.0-alpha.1"

And then:

use wasmer::{Store, JIT};
use wasmer_compiler_llvm::LLVM;

let compiler = LLVM::new();
// Put it into an engine and add it to the store
let store = Store::new(&JIT::new(&compiler).engine());

Note: you can find a full working example using LLVM compiler here.

When to use LLVM

We recommend using LLVM as the default compiler when running WebAssembly files on any production system, as it offers maximum peformance near to native speeds.

Requirements

The LLVM compiler requires a valid installation of LLVM in your system. It currently requires LLVM 10.

You can install LLVM easily on your Debian-like system via this command:

bash -c "$(wget -O - https://apt.llvm.org/llvm.sh)"

Or in macOS:

brew install llvm

Or via any of the pre-built binaries that LLVM offers.