aboutsummaryrefslogtreecommitdiffstats
path: root/libevmasm
diff options
context:
space:
mode:
authorchriseth <chris@ethereum.org>2018-01-18 19:15:22 +0800
committerchriseth <chris@ethereum.org>2018-02-07 05:51:30 +0800
commit9eea3f29ba7c0ce89b5b24c42a51cc8d9115dfa8 (patch)
tree67041728af556708962048895b8c29d1e5867d51 /libevmasm
parent591813638e3074bf9f264b0ed29b581c74202ccf (diff)
downloaddexon-solidity-9eea3f29ba7c0ce89b5b24c42a51cc8d9115dfa8.tar.gz
dexon-solidity-9eea3f29ba7c0ce89b5b24c42a51cc8d9115dfa8.tar.zst
dexon-solidity-9eea3f29ba7c0ce89b5b24c42a51cc8d9115dfa8.zip
Expression simplifier.
Diffstat (limited to 'libevmasm')
-rw-r--r--libevmasm/RuleList.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/libevmasm/RuleList.h b/libevmasm/RuleList.h
index 70a3ef71..3e7be720 100644
--- a/libevmasm/RuleList.h
+++ b/libevmasm/RuleList.h
@@ -43,6 +43,11 @@ template <class S> S modWorkaround(S const& _a, S const& _b)
return (S)(bigint(_a) % bigint(_b));
}
+// TODO: Add a parameter that will cause rules with swapped arguments
+// to be added explicitly. This is needed by the new optimizer, but not
+// by the old. The new optimizer requires that the order of arbitrary
+// expressions is not altered.
+
/// @returns a list of simplification rules given certain match placeholders.
/// A, B and C should represent constants, X and Y arbitrary expressions.
/// The third element in the tuple is a boolean flag that indicates whether