vyre 0.4.0

GPU compute intermediate representation with a standard operation library
Documentation
//! Dead-code elimination helpers for the IR optimizer.

/// Collect variable references from an expression tree.
pub(crate) use collect_expr_refs::collect_expr_refs;
/// Evaluate whether loop bounds make a loop statically empty.
pub(crate) use const_loop_empty::const_loop_empty;
/// Evaluate an expression as a static boolean when possible.
pub(crate) use const_truth::const_truth;
/// Remove let-bindings whose values are neither live nor effectful.
pub(crate) use eliminate_dead_lets::eliminate_dead_lets;
/// Trim unreachable control-flow nodes after static terminators.
pub(crate) use eliminate_unreachable::eliminate_unreachable;
/// Classify whether an expression must be preserved for side effects.
pub(crate) use expr_has_effect::expr_has_effect;
/// Result bundle returned by liveness pruning.
pub(crate) use live_result::LiveResult;
/// Return the node prefix reachable before an unconditional return.
pub(crate) use reachable_prefix::reachable_prefix;

automod::dir!(pub "src/ir/transform/optimize/dce");