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 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-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 the object library.cranelift-jit This crate provides a JIT backend for
cranelift-module
, which emits code and data into memory.