summaryrefslogtreecommitdiff
path: root/src/ir.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/ir.cc')
-rw-r--r--src/ir.cc146
1 files changed, 0 insertions, 146 deletions
diff --git a/src/ir.cc b/src/ir.cc
index 59c587ed..a04b477e 100644
--- a/src/ir.cc
+++ b/src/ir.cc
@@ -744,150 +744,4 @@ Command::~Command() {
Script::Script() {}
-#define CHECK_RESULT(expr) \
- do { \
- if (WABT_FAILED((expr))) \
- return Result::Error; \
- } while (0)
-
-#define CALLBACK(member) \
- CHECK_RESULT((visitor)->member \
- ? (visitor)->member(expr, (visitor)->user_data) \
- : Result::Ok)
-
-static Result visit_expr(Expr* expr, ExprVisitor* visitor);
-
-Result visit_expr_list(Expr* first, ExprVisitor* visitor) {
- for (Expr* expr = first; expr; expr = expr->next)
- CHECK_RESULT(visit_expr(expr, visitor));
- return Result::Ok;
-}
-
-static Result visit_expr(Expr* expr, ExprVisitor* visitor) {
- switch (expr->type) {
- case ExprType::Binary:
- CALLBACK(on_binary_expr);
- break;
-
- case ExprType::Block:
- CALLBACK(begin_block_expr);
- CHECK_RESULT(visit_expr_list(expr->block->first, visitor));
- CALLBACK(end_block_expr);
- break;
-
- case ExprType::Br:
- CALLBACK(on_br_expr);
- break;
-
- case ExprType::BrIf:
- CALLBACK(on_br_if_expr);
- break;
-
- case ExprType::BrTable:
- CALLBACK(on_br_table_expr);
- break;
-
- case ExprType::Call:
- CALLBACK(on_call_expr);
- break;
-
- case ExprType::CallIndirect:
- CALLBACK(on_call_indirect_expr);
- break;
-
- case ExprType::Compare:
- CALLBACK(on_compare_expr);
- break;
-
- case ExprType::Const:
- CALLBACK(on_const_expr);
- break;
-
- case ExprType::Convert:
- CALLBACK(on_convert_expr);
- break;
-
- case ExprType::CurrentMemory:
- CALLBACK(on_current_memory_expr);
- break;
-
- case ExprType::Drop:
- CALLBACK(on_drop_expr);
- break;
-
- case ExprType::GetGlobal:
- CALLBACK(on_get_global_expr);
- break;
-
- case ExprType::GetLocal:
- CALLBACK(on_get_local_expr);
- break;
-
- case ExprType::GrowMemory:
- CALLBACK(on_grow_memory_expr);
- break;
-
- case ExprType::If:
- CALLBACK(begin_if_expr);
- CHECK_RESULT(visit_expr_list(expr->if_.true_->first, visitor));
- CALLBACK(after_if_true_expr);
- CHECK_RESULT(visit_expr_list(expr->if_.false_, visitor));
- CALLBACK(end_if_expr);
- break;
-
- case ExprType::Load:
- CALLBACK(on_load_expr);
- break;
-
- case ExprType::Loop:
- CALLBACK(begin_loop_expr);
- CHECK_RESULT(visit_expr_list(expr->loop->first, visitor));
- CALLBACK(end_loop_expr);
- break;
-
- case ExprType::Nop:
- CALLBACK(on_nop_expr);
- break;
-
- case ExprType::Return:
- CALLBACK(on_return_expr);
- break;
-
- case ExprType::Select:
- CALLBACK(on_select_expr);
- break;
-
- case ExprType::SetGlobal:
- CALLBACK(on_set_global_expr);
- break;
-
- case ExprType::SetLocal:
- CALLBACK(on_set_local_expr);
- break;
-
- case ExprType::Store:
- CALLBACK(on_store_expr);
- break;
-
- case ExprType::TeeLocal:
- CALLBACK(on_tee_local_expr);
- break;
-
- case ExprType::Unary:
- CALLBACK(on_unary_expr);
- break;
-
- case ExprType::Unreachable:
- CALLBACK(on_unreachable_expr);
- break;
- }
-
- return Result::Ok;
-}
-
-/* TODO(binji): make the visitor non-recursive */
-Result visit_func(Func* func, ExprVisitor* visitor) {
- return visit_expr_list(func->first_expr, visitor);
-}
-
} // namespace wabt