Func IRRewriter::rewrite(Func f) { if (f.defined()) { f.accept(this); f = func; } else { f = Func(); } expr = Expr(); stmt = Stmt(); func = Func(); return f; }
set<Func> get(Func func) { funcs.clear(); func.accept(this); return funcs; }
map<Func, set<Func>> get(Func func) { reverseCallGraph.clear(); func.accept(this); return reverseCallGraph; }