[][src]Crate peepmatic_runtime

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

cc

Condition codes.

error

Error and Result types for this crate.

instruction_set

Interfacing with actual instructions.

integer_interner

Interner for (potentially large) integer values.

linear

A linear IR for optimizations.

operator

Operator definitions.

optimizations

Compiled peephole optimizations.

optimizer

An optimizer for a set of peephole optimizations.

part

Parts of instructions.

paths

Representing paths through the dataflow graph.

type

Types.