19 , eta_exp_(eta_exp) {}
33 void enter()
override;
Performs η-expansion: f -> λx.f x, if f is a Lam with more than one user and does not appear in calle...
FPPass(PassMan &man, std::string_view name)
GIDSet< const Proxy * > writable
const Def * rewrite(const Proxy *) override
SSAConstr(PassMan &man, EtaExp *eta_exp)
undo_t analyze(const Proxy *) override
GIDNodeMap< Lam *, Info > Data
void enter() override
Invoked just before Pass::rewriteing PassMan::curr_mut's body.
absl::flat_hash_set< K, GIDHash< K >, GIDEq< K > > GIDSet
GIDMap< Lam *, To > LamMap
absl::node_hash_map< K, V, GIDHash< K >, GIDEq< K > > GIDNodeMap