Func IRRewriter::rewrite(Func f) { if (f.defined()) { f.accept(this); f = func; } else { f = Func(); } expr = Expr(); stmt = Stmt(); func = Func(); return f; }