Crate cranelift_codegen
source ·Expand description
Cranelift code generation library.
Re-exports
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;
Modules
- 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.
- 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.
Macros
- Even when trace logging is disabled, the trace macro has a significant performance cost so we disable it by default.
Structs
- 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.
Enums
- A compilation error.
Constants
- Version number of this crate.
Traits
- An object that can be used to create the text section of an executable.
Type Definitions
- A convenient alias for a
Result
that usesCodegenError
as the error type. CompiledCode
in its final form (i.e. afterFunctionParameters
have been applied), ready for consumption.- Resulting map of Value labels and their ranges/locations.