diff options
author | Michael <mbebenita@Michaels-MacBook-Pro-4.local> | 2016-01-27 18:34:14 -0800 |
---|---|---|
committer | Michael <mbebenita@Michaels-MacBook-Pro-4.local> | 2016-01-27 18:34:14 -0800 |
commit | 54c77ff7c48d250a1a5b0aa2a262689fa8184d78 (patch) | |
tree | 704c4217b8353ecd9dbcbed31ca2b9290f912940 /src/wasm.h | |
parent | 9effac86e9679d723f17d999d233f5b15ce61094 (diff) | |
download | binaryen-54c77ff7c48d250a1a5b0aa2a262689fa8184d78.tar.gz binaryen-54c77ff7c48d250a1a5b0aa2a262689fa8184d78.tar.bz2 binaryen-54c77ff7c48d250a1a5b0aa2a262689fa8184d78.zip |
Adds a --metrics command line argument to print metrics about .wast files between optimization passes.
Diffstat (limited to 'src/wasm.h')
-rw-r--r-- | src/wasm.h | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/src/wasm.h b/src/wasm.h index 987a8da6b..856c0ebeb 100644 --- a/src/wasm.h +++ b/src/wasm.h @@ -350,6 +350,32 @@ public: } }; +inline const char *getExpressionName(Expression *curr) { + switch (curr->_id) { + case Expression::Id::InvalidId: abort(); + case Expression::Id::BlockId: return "block"; + case Expression::Id::IfId: return "if"; + case Expression::Id::LoopId: return "loop"; + case Expression::Id::BreakId: return "break"; + case Expression::Id::SwitchId: return "switch"; + case Expression::Id::CallId: return "call"; + case Expression::Id::CallImportId: return "call_import"; + case Expression::Id::CallIndirectId: return "call_indirect"; + case Expression::Id::GetLocalId: return "get_local"; + case Expression::Id::SetLocalId: return "set_local"; + case Expression::Id::LoadId: return "load"; + case Expression::Id::StoreId: return "store"; + case Expression::Id::ConstId: return "const"; + case Expression::Id::UnaryId: return "unary"; + case Expression::Id::BinaryId: return "binary"; + case Expression::Id::SelectId: return "select"; + case Expression::Id::HostId: return "host"; + case Expression::Id::NopId: return "nop"; + case Expression::Id::UnreachableId: return "unreachable"; + default: WASM_UNREACHABLE(); + } +} + typedef std::vector<Expression*> ExpressionList; // TODO: optimize? class Nop : public Expression { |