Skip to content

Commit eae0fab

Browse files
committed
rewrite callee first
1 parent cca49e6 commit eae0fab

File tree

1 file changed

+6
-5
lines changed

1 file changed

+6
-5
lines changed

dialects/direct/passes/cps2ds.cpp

+6-5
Original file line numberDiff line numberDiff line change
@@ -55,11 +55,12 @@ const Def* CPS2DS::rewrite_body(const Def* def) {
5555
const Def* CPS2DS::rewrite_body_(const Def* def) {
5656
auto& world = def->world();
5757
if (auto app = def->isa<App>()) {
58-
auto callee = app->callee();
59-
auto args = app->arg();
60-
auto new_arg = rewrite_body(app->arg());
58+
auto callee = app->callee();
59+
auto args = app->arg();
60+
auto new_callee = rewrite_body(callee);
61+
auto new_arg = rewrite_body(app->arg());
6162

62-
if (auto fun_app = callee->isa<App>()) {
63+
if (auto fun_app = new_callee->isa<App>()) {
6364
if (auto ty_app = fun_app->callee()->isa<App>(); ty_app) {
6465
if (auto axiom = ty_app->callee()->isa<Axiom>()) {
6566
if (axiom->flags() == ((flags_t)Axiom::Base<cps2ds_dep>)) {
@@ -164,7 +165,7 @@ const Def* CPS2DS::rewrite_body_(const Def* def) {
164165
}
165166
}
166167

167-
auto new_callee = rewrite_body(app->callee());
168+
// auto new_callee = rewrite_body(app->callee());
168169
// auto new_callee = app->callee();
169170
return world.app(new_callee, new_arg);
170171
}

0 commit comments

Comments
 (0)