Crate peepmatic_runtime[][src]

Expand description

Runtime support for peepmatic’s peephole optimizers.

This crate contains everything required to use a peepmatic-generated peephole optimizer.

Why is this a different crate from peepmatic?

In short: build times and code size.

If you are just using a peephole optimizer, you shouldn’t need the functions to construct it from scratch from the DSL (and the implied code size and compilation time), let alone even build it at all. You should just deserialize an already-built peephole optimizer, and then use it.

That’s all that is contained here in this crate.

Re-exports

pub use error::Error;
pub use error::Result;
pub use optimizations::PeepholeOptimizations;
pub use optimizer::PeepholeOptimizer;

Modules

Condition codes.

Error and Result types for this crate.

Interfacing with actual instructions.

Interner for (potentially large) integer values.

A linear IR for optimizations.

Compiled peephole optimizations.

An optimizer for a set of peephole optimizations.

Parts of instructions.

Types.

Unquote operator definition.