Commit Graph
132 Commits
Author SHA1 Message Date
chriseth b4cd2d6a93 Properly detect name clashes with functions before their definition. 2019-02-18 14:51:05 +01:00
Daniel Kirchner 8ca6715e18 More style checks. 2019-02-14 11:41:20 +01:00
chriseth b1df990a0f Merge pull request #5990 from ethereum/provideAccessToAssmeblyAST
Provide access to assembly ast
2019-02-13 17:38:22 +01:00
chriseth c5879589af Merge pull request #5998 from ethereum/codingStyleCheck
More coding style checks
2019-02-13 17:36:34 +01:00
chriseth 1a823f0bf8 Fix tabs/spaces. 2019-02-13 17:05:48 +01:00
chriseth 17ea467e5b Fix style of "const". 2019-02-13 16:34:53 +01:00
chriseth 3a3ed1c6b5 Fix assertion concerning jumps in strict assembly. 2019-02-13 15:57:14 +01:00
chriseth a344381d5e Provide access to AssemblyStack's AST. 2019-02-13 14:19:56 +01:00
chriseth 0bd049c849 Adapet uses of AssemblyStack. 2019-02-13 12:23:07 +01:00
chriseth d073eb1544 Move AssemblyStack to libyul. 2019-02-13 12:23:07 +01:00
chriseth 02373c2225 Adjust uses of AsmCodeGen. 2019-02-13 11:35:49 +01:00
chriseth 1ff6f2c71c Move AsmCodeGen. 2019-02-13 11:20:15 +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 4f641e3732 Helper function for analysis. 2019-02-04 17:32:05 +01:00
chriseth dd5b43741c No-output Assembly. 2019-02-04 17:32:04 +01:00
chriseth 11969cd760 Add some more explicit moves required in some compiler and boost version combinations. 2019-02-04 15:50:41 +01:00
chriseth 17a1e7aed5 Better error message for out of stack in assembly. 2019-01-30 12:24:10 +01:00
Alex Beregszaszi ee09d54525 Change FIXMEs into TODOs where appropriate 2019-01-29 00:35:23 +00:00
Alex Beregszaszi 2fc7928697 Merge pull request #5864 from ethereum/tuneOptOrder
Some optimizer tuning.
2019-01-28 13:50:09 +00:00
chriseth 12e2187661 Some tuning. 2019-01-24 23:06:01 +01:00
chriseth 1fc98b8133 Fix optimizer suite. 2019-01-24 20:42:32 +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
Christian Parpart 065c3c87af libyul: changing some AST members from shared_ptr<> to unique_ptr<>
* Some spaces look a little more verbose now, but that shouln't be a problem as it also should raise readability, too.
* This makes some use of return-value-optimizations also.
2019-01-16 14:58:59 +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
Daniel Kirchner 5a99623fec Avoid explicit conversion from Block to Statement in CodeSize visit. 2019-01-11 12:52:24 +01:00
chriseth d9c6773664 Adjust inlining thresholds. 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 5b8b016fae Use the block flattener. 2019-01-08 16:02:14 +01:00
chriseth f5b24a38b8 Make function grouper idempotent. 2019-01-08 15:05:09 +01:00
chriseth 5b73c2ae3b Take special functions that require literals into account. 2019-01-07 17:23:38 +01:00
chriseth 9222eff08f Make the dialect available everywhere. 2019-01-07 16:41:03 +01:00
chriseth 2e9c70add0 Use rematerializer if variable is unreferenced or value is "cheap". 2019-01-07 14:03:32 +01:00
Christian Parpart 62fe57479e make use of C++ = default constructor declarations as well as more non-static member initialization syntax. 2018-12-19 11:26:42 +01:00
chriseth 7d3727bbf7 Merge pull request #5665 from ethereum/cmakeHeaders
Add headers to targets in CMakeLists.txt.
2018-12-17 17:47:38 +01:00
Daniel Kirchner 2353f73c39 Add headers to targets in CMakeLists.txt. 2018-12-17 15:01:02 +01:00
chriseth bf7d71d6b3 Merge pull request #5613 from ethereum/yulStringLiterals
[Yul] Use C++ user-defined literals for creating YulString constants.
2018-12-17 14:07:24 +01:00
chriseth bc22a25a60 Remove VarDeclPropagator. 2018-12-13 16:51:10 +01:00
chriseth 6c6a53a439 Do not create unassigned variables. 2018-12-13 16:51:10 +01:00
chriseth 11209ec48a Add variable declaration initializer. 2018-12-13 16:49:04 +01:00
chriseth b11d413720 Consider return variables to be zero initially. 2018-12-13 16:02:30 +01:00
chriseth 1d274a8924 Merge pull request #5644 from ethereum/noInlineIntoLarge
[Yul] Do not inline into already big functions.
2018-12-13 15:57:49 +01:00
chriseth 6101258248 AsmPrinter functions should be const. 2018-12-13 13:00:59 +01:00
chriseth 60a368244a Do not inline into already big functions. 2018-12-13 12:12:54 +01:00