Commit Graph
134 Commits
Author SHA1 Message Date
chriseth 7fa325493c Update tests. 2019-03-25 18:22:43 +01:00
chriseth 7fea159d27 Test adjustments [TO BE SQUASHED] 2019-03-25 18:04:01 +01:00
chriseth cf09cd51f0 Tests for value constraint simplifier. 2019-03-25 17:16:12 +01:00
chriseth 061276b28a Value Constraint Based Simplifier. 2019-03-25 15:32:54 +01:00
chriseth caddce6ef0 Detect duplicate cases based on integer value of case label. 2019-03-25 12:38:22 +01:00
chriseth 57f99247c8 Update tests. 2019-03-20 15:07:05 +01:00
chriseth 8514c0bc60 Provide max iterations for stack compressor as parameter. 2019-03-20 15:07:05 +01:00
chriseth 38cbf8d230 Pass "optimize stack allocation" flag down to the stack compressor. 2019-03-20 15:03:27 +01:00
Christian Parpart 82ced641e5 [Yul] Adds another test case for multiple continue statements within a for-loop 2019-03-18 12:43:20 +01:00
chriseth 500843f9c5 Merge pull request #6242 from ethereum/yul-bc-dataflow
Yul dataflow analysis for continue/break statements
2019-03-14 16:34:34 +01:00
Christian Parpart 57bcb8ba83 [yul] Ensures DataFlowAnalyzer works fine with break/continue statements just like without. 2019-03-14 16:18:45 +01:00
chriseth 49d914a391 Fix and test yul stack optimization flag for commandline interface. 2019-03-14 15:34:23 +01:00
Christian Parpart 05e2d362c8 [Yul] Adds break/continue statements and some general tests for for-loop syntax. 2019-03-11 15:05:05 +01:00
chriseth 791fde953d First simplify switch with known constant expression. 2019-03-06 21:32:55 +01:00
chriseth 21115f8050 Fix visitation order bug for structural simplifier. 2019-03-06 19:34:07 +01:00
Mathias Baumann 21322dae29 YulOpt: Remove empty cases 2019-03-06 19:02:23 +01:00
Mathias Baumann 3ce7069766 YulOpt: Remove empty cases 2019-03-06 18:39:44 +01:00
Mathias Baumann f6e09d6368 YulOpt: Extend StructuralSimplifier to work with all types 2019-03-05 18:39:27 +01:00
chriseth 3f784d6e00 Do not prepend function name to all variables when inlining. 2019-03-04 18:07:00 +01:00
Christian Parpart 609855546e Yul: Adds optimizer pass to make variable names suffix-canonical. 2019-03-04 17:26:56 +01:00
Mathias Baumann c686a65876 Yul Optimizer: reduce switches with const arguments 2019-02-28 15:43:10 +01:00
chriseth 477c53a46f Fix expression simplifying by moving from SSAValueTracker to DataFlowAnalyzer as a base. 2019-02-27 16:14:39 +01:00
chriseth 70bbdd8fac Merge pull request #3464 from ethereum/iulia_interp
Yul interpreter
2019-02-25 15:38:41 +01:00
chriseth 94e2afff81 Rebase update. 2019-02-25 14:30:34 +01:00
chriseth 5eb155b894 Interpreter tests. 2019-02-25 11:58:36 +01:00
chriseth 7f5b335b47 Make EVM version part of EVM dialect. 2019-02-21 21:59:46 +01:00
Mathias Baumann f395d5bab4 Add extra token for assembly assignment
Adding an extra token for := prevents whitespace between : = being valid
2019-02-21 13:58:21 +01:00
chriseth 968ca88690 Merge pull request #5872 from ethereum/semantic-tests-split
Semantic test infrastructure
2019-02-18 18:13:55 +01:00
chriseth a344381d5e Provide access to AssemblyStack's AST. 2019-02-13 14:19:56 +01:00
Erik Kundt 190634e1f9 Implements infrastructure for semantic tests. 2019-02-13 13:05:58 +01:00
chriseth 0bd049c849 Adapet uses of AssemblyStack. 2019-02-13 12:23:07 +01:00
chriseth 91d224dfb6 Merge pull request #5966 from ethereum/AnsiColorized
Adapts tests/ to use AnsiColorized (the generalized/moved version of FormattedScope, which in turn is removed in this PR)
2019-02-11 16:41:14 +01:00
Christian Parpart 53f9be8a23 Adapts tests/ to use AnsiColorized (the generalized/moved version of FormattedScope, which in turn is removed in this PR) 2019-02-11 16:00:24 +01:00
chriseth 83083d2208 Stack compressor. 2019-02-11 15:48:29 +01:00
chriseth 5a34743d88 Allow optimizer steps to run on FunctionDefinition and group suite. 2019-02-11 15:48:29 +01:00
chriseth b34e104173 Make dialect a shared pointer. 2019-02-11 15:48:29 +01:00
chriseth 22c8d74a8a Store all stack errors before they are thrown. 2019-02-04 17:32:05 +01:00
chriseth 77baf6caf7 Compilability checker. 2019-02-04 17:32:05 +01:00
chriseth 12e2187661 Some tuning. 2019-01-24 23:06:01 +01:00
Daniel Kirchner 29f66b2674 Stabilize SSAReverser. 2019-01-17 21:05:32 +01:00
Daniel Kirchner fd16585724 Undo second SSA transformation and add more tests. 2019-01-17 20:37:43 +01:00
Daniel Kirchner 6de2d92f20 Add SSAReverser to the yul optimiser. 2019-01-17 20:37:43 +01:00
Daniel Kirchner 81f24f24e6 Add equivalent function combiner as Yul optimizer step. 2019-01-15 17:21:03 +01:00
Daniel Kirchner 4c8f8e9491 Disallow mismatching types in switch cases and detect duplicates by value for number literals. 2019-01-15 16:32:21 +01:00
chriseth b7ef850955 Update tests. 2019-01-09 16:57:33 +01:00
chriseth edda79eec5 Variables are free with regards to code size. 2019-01-09 16:57:33 +01:00
chriseth 9244b8ea5a More code for optimizer tuning. 2019-01-08 18:07:14 +01:00
chriseth 5b8b016fae Use the block flattener. 2019-01-08 16:02:14 +01:00
chriseth 884d51c1f2 Merge pull request #5759 from ethereum/anotherBigTest
Another ABI test case for the optimizer.
2019-01-08 16:01:41 +01:00
chriseth 2d19903d1a Another ABI test case for the optimizer. 2019-01-08 15:14:45 +01:00