19 void enter()
override;
24 Ref jb_type() {
return void_ptr(); }
28 Lam* get_throw(Ref res_type);
29 Lam* get_lpad(Lam* lam, Ref rb);
31 void get_exn_closures();
32 void get_exn_closures(Ref def,
DefSet& visited);
41 Ref cur_rbuf_ =
nullptr;
42 Ref cur_jbuf_ =
nullptr;
An optimizer that combines several optimizations in an optimal way.
Inherit from this class using CRTP, if your Pass does not need state and a fixed-point iteration.
Helper class to retrieve Infer::arg if present.
const Def * annex(Id id)
Lookup annex by Axiom::id.
const Def * call(Id id, Args &&... args)
Ref rewrite(Ref) override
void enter() override
Invoked just before Pass::rewriteing PassMan::curr_mut's body.
GIDMap< const Def *, To > DefMap
GIDMap< Lam *, To > LamMap
GIDSet< const Def * > DefSet