see https://github.com/bytecodealliance/wasmtime/pull/1816 DEPRECATION NOTICE: the Cranelift developer team intends to stop maintaining the `cranelift-faerie` crate and remove it from the `wasmtime` git repository on or after August 3, 2020. We recommend users use its successor, the `cranelift-object` crate.
2.2 KiB
Cranelift Documentation
Miscellaneous documentation pages:
-
Cranelift IR Cranelift IR is the data structure that most of the compiler operates on.
-
Testing Cranelift This page documents Cranelift's testing frameworks.
-
Cranelift compared to LLVM LLVM and Cranelift have similarities and differences.
-
Cranelift's register allocator This page document Cranelift's current register allocator.
Cranelift crate documentation:
-
cranelift This is an umbrella crate that re-exports the codegen and frontend crates, to make them easier to use.
-
cranelift-codegen This is the core code generator crate. It takes Cranelift IR as input and emits encoded machine instructions, along with symbolic relocations, as output.
-
cranelift-codegen-meta This crate contains the meta-language utilities and descriptions used by the code generator.
-
cranelift-wasm This crate translates WebAssembly code into Cranelift IR.
-
cranelift-frontend This crate provides utilities for translating code into Cranelift IR.
-
cranelift-native This crate performs auto-detection of the host, allowing Cranelift to generate code optimized for the machine it's running on.
-
cranelift-reader This crate translates from Cranelift IR's text format into Cranelift IR in in-memory data structures.
-
cranelift-module This crate manages compiling multiple functions and data objects together.
-
cranelift-object This crate provides a object-based backend for
cranelift-module, which emits native object files using theobject <https://github.com/gimli-rs/object>_ library. -
cranelift-simplejit This crate provides a simple JIT backend for
cranelift-module, which emits code and data into memory.