Commit Graph
528 Commits
Author SHA1 Message Date
Bhargava Shastry 09fa31ccc5 yul: Add new optimizer rules for create and create2 builtins 2019-09-09 17:06:56 +02:00
chriseth 96b6b45658 Merge pull request #7324 from ethereum/activateLoadResolver
[Yul] Activate load resolver.
2019-09-09 16:45:41 +02:00
chriseth 5b4b4011c7 Extend memory beyond 32 byte addresses in interpreter. 2019-09-04 20:10:42 +02:00
chriseth 633932c5f1 Update tests. 2019-09-04 19:16:54 +02:00
chriseth 55024d40fe Test updates. 2019-09-02 17:41:51 +02:00
chriseth 127bcfc69d Take user function side-effects into account for unused pruner. 2019-09-02 17:41:51 +02:00
chriseth 1c5845e3f2 Side-effects of user-defined functions. 2019-09-02 17:41:51 +02:00
chriseth bdf29277a2 Change interpreter memory to be non-contiguous. 2019-09-02 13:51:47 +02:00
chriseth a988b64597 Merge pull request #7312 from ethereum/fixInterpreterScopes
Fix handling of scopes in Yul Interpreter.
2019-09-02 12:05:33 +02:00
chriseth 01e0a12c3b Fix handling of scopes in Yul Interpreter. 2019-09-02 10:41:26 +02:00
chriseth e86b5cf14e Replace byte(A, X) by zero if A >= 32 2019-08-29 15:35:34 +02:00
chriseth 3c4f558242 Tests 2019-08-15 16:30:05 +02:00
chriseth 7d30fbdef0 Extract side effects into their own struct. 2019-08-14 15:06:10 +02:00
chriseth e396dc7246 Properly set storage and memory after erasing potentially destroyed keys 2019-08-13 18:43:15 +02:00
Mathias Baumann ccfcee5b80 YulInterpreter: Fix wrong context passed to called function 2019-08-12 17:12:53 +02:00
Leonardo cd563e526a Merge pull request #7122 from sifmelcara/expression-inliner-avoid-dup-expr
[Yul] ExpressionInliner: avoid duplicating expressions
2019-08-06 11:08:38 +02:00
Erik Kundt a7a8ba73f9 [isoltest] Moves error types to dedicated file. 2019-08-05 15:00:04 +02:00
mingchuan 46387eaea2 [Yul] ExpressionInliner: avoid duplicating high cost expressions 2019-08-05 11:48:32 +02:00
chriseth 0c0b5a09cd Add another test related to stack compressor and msize. 2019-07-18 16:40:46 +02:00
chriseth a0a0a34a21 Do not overwrite allowMSizeOptimization 2019-07-16 10:13:18 +02:00
chriseth 869d69d293 Supply full object to stack compressor and Optimizer Suite. 2019-07-10 18:49:42 +02:00
chriseth 2a5280faa0 Check availability of data objects already in analysis phase. 2019-07-10 18:49:42 +02:00
chriseth e2bfb1a663 Translation of switch statement for wasm backend. 2019-06-27 13:02:35 +02:00
chriseth f5f1b2649c Adding forgotten test for load resolver. 2019-06-25 17:25:53 +02:00
chriseth 2b979cba38 Also optimize memory. 2019-06-20 18:43:37 +02:00
chriseth 8572600401 Implement knowledge base. 2019-06-20 18:43:37 +02:00
chriseth 1f9d11c644 Knowledge about storage. 2019-06-20 18:43:37 +02:00
chriseth ecab46c707 Finish word size transform. 2019-06-20 10:42:56 +02:00
chriseth d9d1c4a312 Merge pull request #6967 from ethereum/nameDisplacer
[Yul] Name displacer.
2019-06-19 18:56:54 +02:00
chriseth 8edf9e4baf Merge pull request #6666 from vedant1811/issue-5405
Group function definitions
2019-06-19 18:03:40 +02:00
chriseth d7b366ff46 Name displacer. 2019-06-19 14:55:38 +02:00
chriseth cc5045a56e [Yul] Run optimizer on all dialects. 2019-06-19 10:01:16 +02:00
Vedant Agarwala 5d6cbd97df [Yul] Directly jump over a series of function definitions
Implement a AbstractAssembly::setStackHeight function
Update the tests
Update Changelog
2019-06-19 12:40:11 +08:00
chriseth 6cb6fe35ef Make Yul optimizer not fail for wasm. 2019-06-17 18:42:47 +02:00
Daniel Kirchner ba8ad1a1d9 Use the TestCase settings mechanism for object compiler tests. 2019-06-11 14:11:27 +02:00
Daniel Kirchner 547173533c Unify parsing of simple test expectations and require lines to start with `//`. 2019-06-11 14:05:45 +02:00
chriseth c9e2d388b5 Merge pull request #6848 from ethereum/invertibleRelation
Implement references using InvertibleRelation as data structure.
2019-05-29 13:34:10 +02:00
chriseth 2276b567b1 Merge pull request #6840 from ethereum/discoverMSize
Only remove msize-modifying instructions if msize is not used.
2019-05-28 13:16:55 +02:00
chriseth df96648b1c Do not allow msize in inline assembly if the Yul optimizer is active. 2019-05-28 12:54:33 +02:00
chriseth d7b5ea6761 Allow msize optimization only if it is not present. 2019-05-28 12:54:32 +02:00
chriseth 1c16124a09 Constant optimiser for Yul. 2019-05-28 11:35:07 +02:00
chriseth 4061ad0a7b Implement references using InvertibleRelation as data structure. 2019-05-27 22:55:59 +02:00
chriseth 6132f0aea9 Merge pull request #6800 from ethereum/skipEmptyDump
Skip empty entries in memory and storage dump.
2019-05-23 14:27:44 +02:00
chriseth 3c548a1d76 Update tests. 2019-05-23 13:17:27 +02:00
chriseth e5902c58a4 Merge pull request #6777 from sifmelcara/loop-cond-rewriter
[YulOpt] Implement ForLoopConditionIntoBody
2019-05-23 12:51:51 +02:00
chriseth 14545852d1 Make YulInterpreterTest EVM version aware. 2019-05-23 12:42:11 +02:00
chriseth 91312e657b Skip empty entries in memory and storage dump. 2019-05-23 12:27:56 +02:00
chriseth 90e8594858 Update tests. 2019-05-23 11:30:12 +02:00
chriseth 1e3878121a Do not inline recursive functions. 2019-05-22 18:15:21 +02:00
mingchuan 4ab377eb00 Add tests for ForLoopConditionIntoBody 2019-05-22 21:51:03 +08:00