23 void new2old(
Lam* new_lam,
Lam* old_lam) { new2old_[new_lam] = old_lam; }
44 using Data = std::tuple<Def2Def, LamMap<Pos>>;
void new2old(Lam *new_lam, Lam *old_lam)
undo_t analyze(const Proxy *) override
void init(PassMan *) final
const Def * rewrite(const Def *) override
EtaExp(World &world, flags_t annex)
static std::string_view pos2str(Pos pos)
const Proxy * proxy(Lam *lam)
std::tuple< Def2Def, LamMap< Pos > > Data
FPPass(World &world, std::string name)
An optimizer that combines several optimizations in an optimal way.
const Proxy * proxy(const Def *type, Defs ops, u32 tag=0)
The World represents the whole program and manages creation of MimIR nodes (Defs).
GIDMap< const Def *, To > DefMap