//! Koopa IR pass traits related implementations.
//!
//! The concept of Koopa IR pass is like the LLVM pass. As stated in the
//! [LLVM documentation](https://llvm.org/docs/WritingAnLLVMPass.html#introduction-what-is-a-pass),
//! passes perform the transformations and optimizations that
//! make up the compiler.
use crate;
/// A Koopa IR pass.
///
/// Pass can be a [`ModulePass`] or a [`FunctionPass`].
/// Trait of a module pass.
///
/// Module passes can run on IR programs.
/// Trait of a function pass.
///
/// Function passes can run on functions.