From b8074cdf788ee1cae862929c0428a95cc5248269 Mon Sep 17 00:00:00 2001 From: chriseth Date: Wed, 17 Jan 2018 19:18:42 +0100 Subject: Add flag to indicate whether it can be applied to expressions with side-effects. --- libevmasm/SimplificationRules.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'libevmasm/SimplificationRules.cpp') diff --git a/libevmasm/SimplificationRules.cpp b/libevmasm/SimplificationRules.cpp index 01cad949..d81a993f 100644 --- a/libevmasm/SimplificationRules.cpp +++ b/libevmasm/SimplificationRules.cpp @@ -38,7 +38,7 @@ using namespace dev; using namespace dev::eth; -pair > const* Rules::findFirstMatch( +tuple, bool> const* Rules::findFirstMatch( Expression const& _expr, ExpressionClasses const& _classes ) @@ -48,22 +48,22 @@ pair > const* Rules::findFirstMatch( assertThrow(_expr.item, OptimizerException, ""); for (auto const& rule: m_rules[byte(_expr.item->instruction())]) { - if (rule.first.matches(_expr, _classes)) + if (std::get<0>(rule).matches(_expr, _classes)) return &rule; resetMatchGroups(); } return nullptr; } -void Rules::addRules(std::vector > > const& _rules) +void Rules::addRules(std::vector, bool>> const& _rules) { for (auto const& r: _rules) addRule(r); } -void Rules::addRule(std::pair > const& _rule) +void Rules::addRule(std::tuple, bool> const& _rule) { - m_rules[byte(_rule.first.instruction())].push_back(_rule); + m_rules[byte(std::get<0>(_rule).instruction())].push_back(_rule); } Rules::Rules() -- cgit