22 , bb_only_(bb_only) {}
35 enum Lattice :
u8 { Dead, Prop, Keep };
36 enum :
u32 { Varxy, Appxy };
Optimistically performs β-reduction (aka inlining).
Performs η-expansion: f -> λx.f x, if f is a Lam with more than one user and does not appear in calle...
Inherit from this class using CRTP, if you do need a Pass with a state and a fixed-point.
An optimizer that combines several optimizations in an optimal way.
Helper class to retrieve Infer::arg if present.
This is a thin wrapper for absl::InlinedVector<T, N, / A> which in turn is a drop-in replacement for ...
This FPPass is similar to sparse conditional constant propagation (SCCP).
Ref rewrite(Ref) override
CopyProp(PassMan &man, BetaRed *beta_red, EtaExp *eta_exp, bool bb_only=false)
undo_t analyze(const Proxy *) override
GIDMap< Lam *, To > LamMap