break;
}
- return (s == visit_stop) ? s : v->visit_leave(this);
+ assert(s == visit_continue);
+ return v->visit_leave(this);
}
}
+ir_visitor_status
+ir_demote::accept(ir_hierarchical_visitor *v)
+{
+ ir_visitor_status s = v->visit_enter(this);
+
+ if (s != visit_continue)
+ return (s == visit_continue_with_parent) ? visit_continue : s;
+
+ return v->visit_leave(this);
+}
+
+
ir_visitor_status
ir_if::accept(ir_hierarchical_visitor *v)
{
if (s != visit_continue)
return (s == visit_continue_with_parent) ? visit_continue : s;
- return (s == visit_stop) ? s : v->visit_leave(this);
+ assert(s == visit_continue);
+ return v->visit_leave(this);
}
if (s != visit_continue)
return (s == visit_continue_with_parent) ? visit_continue : s;
- return (s == visit_stop) ? s : v->visit_leave(this);
+ assert(s == visit_continue);
+ return v->visit_leave(this);
}
ir_visitor_status