vyre 0.4.0

GPU compute intermediate representation with a standard operation library
Documentation
// IR-to-IR optimization passes.

use crate::ir::Program;

/// Run the standard pre-lowering optimization pipeline.
///
/// The pipeline currently performs common-subexpression elimination followed by
/// dead-code elimination. Pass order is stable so tests and downstream tooling
/// can inspect individual stages when needed.
#[must_use]
#[inline]
pub fn optimize(program: Program) -> Program {
    dce::dce::dce(cse::cse::cse(program))
}

// Common-subexpression elimination for vyre IR.

pub mod cse;

// Dead-code elimination for vyre IR.

pub mod dce;

// Test suites.