Cranelift Code Generator¶
Rust Crate Documentation¶
- This is an umbrella crate that re-exports the codegen and frontend crates, to make them easier to use.
- This is the core code generator crate. It takes Cranelift IR as input and emits encoded machine instructions, along with symbolic relocations, as output.
- This crate contains the meta-language utilities and descriptions used by the code generator.
- This crate translates WebAssembly code into Cranelift IR.
- This crate provides utilities for translating code into Cranelift IR.
- This crate performs auto-detection of the host, allowing Cranelift to generate code optimized for the machine it’s running on.
- This crate translates from Cranelift IR’s text format into Cranelift IR in in-memory data structures.
- This crate manages compiling multiple functions and data objects together.
- This crate provides a object-based backend for cranelift-module, which emits native object files using the object library.
- This crate provides a faerie-based backend for cranelift-module, which emits native object files using the faerie library.
- This crate provides a simple JIT backend for cranelift-module, which emits code and data into memory.
Update the IR reference
This document is likely to be outdated and missing some important information. It is recommended to look at the list of instructions as documented in the InstBuilder documentation: https://docs.rs/cranelift-codegen/latest/cranelift_codegen/ir/trait.InstBuilder.html
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/cranelift/checkouts/stable/docs/ir.rst, line 8.)
Point to the Rust documentation of the meta crate here.
This document is very out-of-date. Instead, you can have a look at the work-in-progress documentation of the meta crate there: https://docs.rs/cranelift-codegen-meta/0.34.0/cranelift_codegen_meta/.
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/cranelift/checkouts/stable/docs/meta.rst, line 11.)