17 , eta_red_(eta_red) {}
22 void new2old(
Lam* new_lam,
Lam* old_lam) { new2old_[new_lam] = old_lam; }
43 using Data = std::tuple<Def2Def, LamMap<Pos>>;
void new2old(Lam *new_lam, Lam *old_lam)
undo_t analyze(const Proxy *) override
const Def * rewrite(const Def *) override
static std::string_view pos2str(Pos pos)
const Proxy * proxy(Lam *lam)
EtaExp(PassMan &man, EtaRed *eta_red)
std::tuple< Def2Def, LamMap< Pos > > Data
FPPass(PassMan &man, std::string_view name)
An optimizer that combines several optimizations in an optimal way.
const Proxy * proxy(const Def *type, Defs ops, u32 tag=0)
GIDMap< const Def *, To > DefMap