pub enum CompilerPassId {
ConstProp,
DeadCode,
Inline,
Algebraic,
Rewrite,
}Expand description
Identifies a single pass in the compiler pipeline.
Variants§
ConstProp
Constant propagation — evaluates constant sub-expressions at compile time.
DeadCode
Dead code elimination — removes unreachable branches and unused bindings.
Inline
Let-inlining — substitutes Let-bound variables into their use sites.
Algebraic
Algebraic optimization pipeline (negation, folding, strength-reduction, …).
Rewrite
Pattern-rewriting engine — applies structural rewrite rules to fixed point.
Trait Implementations§
Source§impl Clone for CompilerPassId
impl Clone for CompilerPassId
Source§fn clone(&self) -> CompilerPassId
fn clone(&self) -> CompilerPassId
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for CompilerPassId
impl Debug for CompilerPassId
Source§impl Display for CompilerPassId
impl Display for CompilerPassId
Source§impl Hash for CompilerPassId
impl Hash for CompilerPassId
Source§impl PartialEq for CompilerPassId
impl PartialEq for CompilerPassId
impl Eq for CompilerPassId
impl StructuralPartialEq for CompilerPassId
Auto Trait Implementations§
impl Freeze for CompilerPassId
impl RefUnwindSafe for CompilerPassId
impl Send for CompilerPassId
impl Sync for CompilerPassId
impl Unpin for CompilerPassId
impl UnsafeUnpin for CompilerPassId
impl UnwindSafe for CompilerPassId
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.