63 void inspect(
const Def* def);
73 void keep(
const Pi* pi,
size_t dom);
74 void pin_tree(
const Def* def);
76 void pin_tree(
const Def* def,
DefSet& visited);
77 bool kept(
const Pi* pi,
size_t dom)
const;
Traverses the current World using Rewriter infrastructure while staying in the same world.
A dependent function type.
RWPhase(World &world, std::string name, Analysis *analysis=nullptr)
World & world()=delete
Hides both and forbids direct access.
virtual const Def * rewrite(const Def *)
const Def * rewrite_imm_Pi(const Pi *) final
const Def * rewrite_imm_App(const App *) final
Scalarize(World &world, flags_t annex)
const Def * rewrite_mut_Lam(Lam *) final
This is a thin wrapper for absl::InlinedVector<T, N, A> which is a drop-in replacement for std::vecto...
The World represents the whole program and manages creation of MimIR nodes (Defs).
Vector< const Def * > DefVec
GIDSet< const Def * > DefSet