Crate peepmatic_traits

Crate peepmatic_traits 

Source
Expand description

Shared traits, types, and macros for Peepmatic.

This crate is used both at build time when constructing peephole optimizers (i.e. in the peepmatic crate), and at run time when using pre-built peephole optimizers (i.e. in the peepmatic-runtime crate and in Cranelift’s Peepmatic integration at cranelift/codegen/src/peepmatic.rs).

This crate is similar to a header file: it should generally only contain trait/type/macro definitions, not any code.

Macros§

define_operator
Define an operator type, as well as its parsing and typing rules.
define_parse_and_typing_rules_for_operator
Define both a wast::parser::Parse implementation and a peepmatic_traits::TypingRules implementation for the given operator type.
define_parse_impl_for_operator
Define a wast::parser::Parse implementation for an operator type.
define_typing_rules_impl_for_operator
Define a peepmatic_traits::TypingRules implementation for the given operator type.

Traits§

TypingContext
A trait to represent a typing context.
TypingRules
The typing rules for a TOperator type.

Functions§

unsupported
Raise a panic about an unsupported operation.