Crate cranelift_codegen_meta

Source
Expand description

This crate generates Rust sources for use by cranelift_codegen.

Modules§

cdsl πŸ”’
Cranelift DSL classes.
constant_hash πŸ”’
Build support for precomputed constant hash tables.
gen_asm πŸ”’
Generate the Cranelift-specific integration of the x64 assembler.
gen_inst πŸ”’
Generate CLIF instruction data (including opcodes, formats, builders, etc.).
gen_isle πŸ”’
gen_settings πŸ”’
Generate the ISA-specific settings.
gen_types πŸ”’
Generate sources with type info.
isa
Define supported ISAs; includes ISA-specific instructions, encodings, registers, settings, etc.
isle
shared πŸ”’
Shared definitions for the Cranelift intermediate language.
unique_table πŸ”’
An index-accessed table implementation that avoids duplicate entries.

Macros§

predicate
A macro that converts boolean settings into predicates to look more natural.
preset
A macro that joins boolean settings into a list (e.g. preset!(feature_a && feature_b)).

Functions§

generate
Generates all the source files used in Cranelift from the meta-language.
generate_isle
Generates all the ISLE source files used in Cranelift from the meta-language.
generate_isle_for_assembler πŸ”’
Generate the ISLE definitions; this provides ISLE glue to access the assembler instructions in cranelift_assembler_x64_meta.
generate_isle_for_shared_defs πŸ”’
generate_rust
Generates all the Rust source files used in Cranelift from the meta-language.
generate_rust_for_shared_defs πŸ”’
generate_rust_macro_for_assembler πŸ”’
Generate a macro containing builder functions for the assembler’s ISLE constructors; this provides Rust implementations backing up the ISLE definitions in generate_isle_for_assembler.
isa_from_arch
Generate an ISA from an architecture string (e.g. β€œx86_64”).