Expand description

Cranelift code generation library.


pub use crate::verifier::verify_function;
pub use crate::write::write_function;
pub use cranelift_bforest as bforest;
pub use cranelift_entity as entity;
pub use gimli;


Binary machine code emission.

The CFGPrinter utility.

Cursor library.

This module gives users to instantiate values that Cranelift understands. These values are used, for example, during interpretation and for wrapping immediates.

Debug tracing helpers.

A Dominator Tree represented as mappings of Blocks to their immediate dominator.

A control flow graph represented as mappings of basic blocks to their predecessors and successors.

This module provides a set of primitives that allow implementing an incremental cache on top of Cranelift, making it possible to reuse previous compiled artifacts for functions that have been compiled previously.

Representation of Cranelift IR functions.

Instruction Set Architectures.

A loop analysis represented as mappings of loops to their header Block and parent in the loop tree.

Compact representation of Option<T> for types with a reserved value.

Utility routines for pretty-printing error messages.

Shared settings module.

Pass timing.

A verifier for ensuring that functions are well formed. It verifies:

Converting Cranelift IR to text.


Even when trace logging is disabled, the trace macro has a significant performance cost so we disable it by default.


Compilation error, with the accompanying function to help printing it.

Persistent data structures and compilation pipeline.

A call site record resulting from a compilation.

A relocation resulting from a compilation.

A source-location mapping resulting from a compilation.

Record of stack map metadata: stack offsets containing references.

A trap record resulting from a compilation.

Value location range.


A compilation error.


Version number of this crate.


An object that can be used to create the text section of an executable.

Type Definitions

A convenient alias for a Result that uses CodegenError as the error type.

CompiledCode in its final form (i.e. after FunctionParameters have been applied), ready for consumption.

Resulting map of Value labels and their ranges/locations.