wasmer/lib/llvm-backend
Nick Lewycky 2c5c1b1c2c For floating point operations, allow inputs to be arbitrary, including SNaNs.
Instead of ensuring outputs are arithmetic NaNs on every function, we tag them as pending such a check, so that a sequence of computation can have a single canonicalization step at the end.

There's an extra wriggle for SIMD. The Wasm type system only indicates them as V128, so it's possible that we might do computations as F32x4Add, I8x16Add, F64x2Add in a row with no other computations in between. Thus, most SIMD functions apply pending canonicalizations to their inputs, even integer SIMD operations.
2019-10-17 11:55:01 -07:00
..
2019-08-22 18:57:26 -07:00
2019-08-22 22:58:08 -07:00
2019-10-02 15:40:35 -07:00
2019-09-30 22:50:04 -07:00

Wasmer logo

Build Status License Join the Wasmer Community Number of downloads from crates.io Read our API documentation

Wasmer LLVM backend

Wasmer is a standalone JIT WebAssembly runtime, aiming to be fully compatible with Emscripten, Rust and Go. Learn more.

This crate represents the LLVM backend integration for Wasmer.

Usage

Usage in Wasmer Standalone

If you are using the wasmer CLI, you can specify the backend with:

wasmer run program.wasm --backend=llvm

Usage in Wasmer Embedded

If you are using Wasmer Embedded, you can specify the LLVM backend to the compile_with function:

use wasmer_llvm_backend::LLVMCompiler;

// ...
let module = wasmer_runtime_core::compile_with(&wasm_binary[..], &LLVMCompiler::new());