use super::CseCtx;
use crate::ir::Program;
#[must_use]
#[inline]
pub fn cse(program: Program) -> Program {
let mut ctx = CseCtx::default();
Program::new(
program.buffers().to_vec(),
program.workgroup_size(),
ctx.nodes(program.entry()),
)
.with_optional_entry_op_id(program.entry_op_id().map(str::to_string))
}