wasmer/lib/llvm-backend
Nick Lewycky fa576093c2 Fix ExtraInfo on F32Add and similar.
We want to ignore the incoming pending NaN state (since the pending will propagate to the output if there was one on the input), and we want to add a new pending NaN state if we can (that is to say, if it isn't cancelled out by both inputs having arithmetic state). Do this by discarding the pending states on the inputs, intersecting them (to keep only the arithmetic state), then union in a pending nan state (which might do nothing, if it's arithmetic).

If the above sounds confusing, keep in mind that when a value is arithmetic, the act of performing the "NaN canonicalization" is a no-op. Thus, being arithmetic cancels out pending NaN states.
2019-11-26 12:20:44 -08:00
..
cpp Fix LLVM object loader exceptions. 2019-08-22 18:57:26 -07:00
src Fix ExtraInfo on F32Add and similar. 2019-11-26 12:20:44 -08:00
build.rs Remove -fno-rtti 2019-08-22 22:58:08 -07:00
Cargo.toml Add new test feature, enabled in test crates. 2019-11-22 16:51:44 -08:00
README.md Fix some other files too 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());