Skip to main content

Crate cranelift_codegen_meta

Crate cranelift_codegen_meta 

Source
Expand description

This crate generates Rust sources for use by cranelift_codegen.

Modulesยง

cdsl ๐Ÿ”’
Cranelift DSL classes.
default_map ๐Ÿ”’
Trait for extending HashMap with get_or_default.
error
Error returned during meta code-generation.
gen_binemit ๐Ÿ”’
Generate binary emission code for each ISA.
gen_encodings ๐Ÿ”’
Generate sources for instruction encoding.
gen_inst ๐Ÿ”’
Generate instruction data (including opcodes, formats, builders, etc.).
gen_legalizer ๐Ÿ”’
Generate transformations to legalize instructions without encodings.
gen_registers ๐Ÿ”’
Generate the ISA-specific registers.
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.
shared ๐Ÿ”’
Shared definitions for the Cranelift intermediate language.
srcgen ๐Ÿ”’
Source code generator.
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 Rust source files used in Cranelift from the meta-language.
isa_from_arch
Generate an ISA from an architecture string (e.g. โ€œx86_64โ€).