peepmatic_runtime/
lib.rs

1//! Runtime support for `peepmatic`'s peephole optimizers.
2//!
3//! This crate contains everything required to use a `peepmatic`-generated
4//! peephole optimizer.
5//!
6//! ## Why is this a different crate from `peepmatic`?
7//!
8//! In short: build times and code size.
9//!
10//! If you are just using a peephole optimizer, you shouldn't need the functions
11//! to construct it from scratch from the DSL (and the implied code size and
12//! compilation time), let alone even build it at all. You should just
13//! deserialize an already-built peephole optimizer, and then use it.
14//!
15//! That's all that is contained here in this crate.
16
17#![deny(missing_docs)]
18#![deny(missing_debug_implementations)]
19
20pub mod cc;
21pub mod error;
22pub mod instruction_set;
23pub mod integer_interner;
24pub mod linear;
25pub mod optimizations;
26pub mod optimizer;
27pub mod part;
28pub mod r#type;
29pub mod unquote;
30
31pub use error::{Error, Result};
32pub use optimizations::PeepholeOptimizations;
33pub use optimizer::PeepholeOptimizer;