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.