608 Commits
Author SHA1 Message Date
chriseth c3cdae908d Merge pull request #6767 from ethereum/constantOptimiserForYul
[Yul] Constant optimiser
2019-05-28 11:53:04 +02:00
chriseth b95eebee1c Merge pull request #6822 from ethereum/uninitializedLoadFromStorage
Explicitly turn uninitialized internal function pointers into invalid function when loaded from storage.
2019-05-28 11:48:56 +02:00
chriseth 1c16124a09 Constant optimiser for Yul. 2019-05-28 11:35:07 +02:00
chriseth fbf189151d [SolYul] Division. 2019-05-27 17:53:46 +02:00
chriseth 5b1a984882 Explicitly turn uninitialized internal function pointers into invalid function when loaded from storage. 2019-05-27 17:26:37 +02:00
chriseth a600126703 Merge pull request #6833 from sifmelcara/fix-struct-array-mapping
Fix assignment of struct containing array of mappings
2019-05-27 11:14:28 +02:00
mingchuan bf8af89bba Fix assignment of struct containing array of mappings 2019-05-25 01:33:49 +08:00
chriseth fb40063253 Compound assignment. 2019-05-23 21:32:30 +02:00
Mathias Baumann 981983089c [Sol -> Yul] Implement delete for function pointers 2019-05-23 15:51:59 +02:00
Mathias Baumann 81702717b0 [Sol -> Yul] Enable function pointer comparison 2019-05-23 12:52:50 +02:00
chriseth 97fa21841d Use different way to fall back to FunctionalInstruction for loose assembly. 2019-05-23 11:30:12 +02:00
chriseth e324deabd6 Merge pull request #6740 from ethereum/unary-ops
[Sol -> Yul] Implement Int/Bool Unary: ++, --, ~, !
2019-05-20 18:06:01 +02:00
Daniel Kirchner b6f4d4e9bc [Sol - Yul] Implement checked multiplication. 2019-05-20 17:36:53 +02:00
Mathias Baumann 86000fdcce [Sol -> Yul] Implement unary -, + 2019-05-20 16:14:46 +02:00
Mathias Baumann 7dbcb80523 [Sol -> Yul] Implement Int/Bool Unary: ++, --, ~, ! 2019-05-20 11:43:12 +02:00
chriseth f2ae30f620 Fix handling of structs of dynamic size as constructor parameters. 2019-05-16 17:10:54 +02:00
Mathias Baumann f5980f08cc Remove m_code from IRValue
Only one place to append to m_code avoids confusion and bugs
2019-05-14 11:15:04 +02:00
chriseth 8c232e8196 Merge pull request #6690 from ethereum/useConditionalWhiskers
Use conditional whiskers
2019-05-13 10:23:30 +02:00
chriseth a28b6224a4 Merge pull request #6714 from ethereum/finishERC20
Finish ERC20
2019-05-13 10:00:38 +02:00
chriseth e047c8d4d9 Code generator for external function calls. 2019-05-09 18:55:12 +02:00
chriseth 63a072f122 [SolYul] Partially implement constructor. 2019-05-09 17:57:33 +02:00
chriseth 021b312264 Revert with reason. 2019-05-09 17:57:33 +02:00
chriseth 60a42f58a0 Fix internal function calls. 2019-05-09 17:57:33 +02:00
chriseth 45ee3fc007 Subtraction for unsigned integers. 2019-05-09 17:57:30 +02:00
chriseth b3e51bcae1 Some more compression. 2019-05-09 15:25:21 +02:00
chriseth d3d205b6eb Some more compression. 2019-05-09 15:25:21 +02:00
chriseth c6b9fa96ae Use conditional Whiskers. 2019-05-09 15:25:21 +02:00
Daniel Kirchner b83f6d8d46 [Sol -> Yul] Implement if statements 2019-05-09 14:52:20 +02:00
Mathias Baumann 0abe00d393 [Sol -> Yul] Fix ForLoops and implement WhileLoops 2019-05-09 09:46:19 +02:00
chriseth 595544645e Mappings. 2019-05-08 15:54:52 +02:00
chriseth b4d6f847b4 Events. 2019-05-08 13:29:11 +02:00
chriseth acca390ef5 Most trivial members. 2019-05-07 17:19:45 +02:00
chriseth b99ad2aaa3 Merge pull request #6639 from ethereum/yul-require-assert
Yul generation of "require" and "assert"
2019-05-07 16:59:37 +02:00
chriseth f68c09272b Simple tuple expressions. 2019-05-07 15:59:56 +02:00
chriseth c604481cef Logical operators. 2019-05-07 15:59:35 +02:00
chriseth 785b369b89 Add type helper function. 2019-05-07 12:36:54 +02:00
chriseth 3fa4c3da1e Comparison operations. 2019-05-07 12:35:05 +02:00
chriseth 4069b19734 Unary operation for literals. 2019-05-07 12:35:04 +02:00
Mathias Baumann 7f14352bbf Yul generation of require and assert 2019-05-07 12:19:41 +02:00
chriseth e6f8aaafa5 Conversion for string literals. 2019-05-07 11:55:17 +02:00
chriseth 3365cb9b4a Add type helper function. 2019-05-06 12:01:13 +02:00
chriseth 7c62193524 Change some AST elements to post visit. 2019-05-06 11:43:18 +02:00
chriseth aa4d4afcdc LValues and state variables of value type. 2019-05-02 17:03:22 +02:00
chriseth 31b7037749 Move storage access functions to utils. 2019-05-02 12:11:41 +02:00
chriseth e66ab6c036 Helper function to define the value of expressions. 2019-04-30 13:10:37 +02:00
chriseth 0eef51ffa4 Conversion during binary operation. 2019-04-30 13:10:37 +02:00
chriseth 597d37b731 Implement for loops. 2019-04-30 13:10:37 +02:00
chriseth c1ca16cd33 Implement return. 2019-04-30 13:10:36 +02:00
Erik Kundt 381ed5a302 Unifies behavior for member access of ABI functions. 2019-04-29 14:27:10 +02:00
Erik Kundt c02257207b Removes assert on magic ABI functions during codegen. 2019-04-26 15:01:35 +02:00