34 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(World &world, std::string name)
An optimizer that combines several optimizations in an optimal way.
The World represents the whole program and manages creation of MimIR nodes (Defs).
GIDSet< const Proxy * > writable
const Def * rewrite(const Proxy *) override
GIDNodeMap< Lam *, Info > Data
void init(PassMan *) final
SSA(World &world, flags_t annex)
undo_t analyze(const Proxy *) override
void enter() override
Invoked just before Pass::rewriteing PassMan::curr_mut's body.
GIDMap< Lam *, To > LamMap
absl::node_hash_map< K, V, GIDHash< K > > GIDNodeMap
absl::flat_hash_set< K, GIDHash< K > > GIDSet