Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Stabilize SSAReverser. | Daniel Kirchner | 2019-01-18 | 2 | -5/+5 |
| | |||||
* | Undo second SSA transformation and add more tests. | Daniel Kirchner | 2019-01-18 | 13 | -46/+292 |
| | |||||
* | Add SSAReverser to the yul optimiser. | Daniel Kirchner | 2019-01-18 | 10 | -78/+275 |
| | |||||
* | Add equivalent function combiner as Yul optimizer step. | Daniel Kirchner | 2019-01-16 | 8 | -114/+307 |
| | |||||
* | Disallow mismatching types in switch cases and detect duplicates by value ↵ | Daniel Kirchner | 2019-01-15 | 1 | -0/+13 |
| | | | | for number literals. | ||||
* | Update tests. | chriseth | 2019-01-09 | 5 | -155/+174 |
| | |||||
* | Variables are free with regards to code size. | chriseth | 2019-01-09 | 1 | -0/+116 |
| | |||||
* | More code for optimizer tuning. | chriseth | 2019-01-09 | 1 | -42/+91 |
| | |||||
* | Use the block flattener. | chriseth | 2019-01-08 | 4 | -232/+198 |
| | |||||
* | Merge pull request #5759 from ethereum/anotherBigTest | chriseth | 2019-01-08 | 1 | -0/+1136 |
|\ | | | | | Another ABI test case for the optimizer. | ||||
| * | Another ABI test case for the optimizer. | chriseth | 2019-01-08 | 1 | -0/+1136 |
| | | |||||
* | | Make function grouper idempotent. | chriseth | 2019-01-08 | 3 | -7/+41 |
|/ | |||||
* | Merge pull request #5716 from ethereum/fixDataSizeOffset | chriseth | 2019-01-08 | 5 | -6/+80 |
|\ | | | | | Fix data size offset and properly provide builtins. | ||||
| * | Tests. | chriseth | 2019-01-08 | 3 | -0/+74 |
| | | |||||
| * | Take special functions that require literals into account. | chriseth | 2019-01-08 | 2 | -6/+6 |
| | | |||||
* | | Merge pull request #5713 from ethereum/addAztek | chriseth | 2019-01-08 | 1 | -0/+416 |
|\ \ | |/ |/| | [Yul] Add AZTEK code as test. | ||||
| * | Add AZTEK code as test. | chriseth | 2019-01-07 | 1 | -0/+416 |
| | | |||||
* | | Make the dialect available everywhere. | chriseth | 2019-01-07 | 3 | -24/+34 |
|/ | |||||
* | Use rematerializer if variable is unreferenced or value is "cheap". | chriseth | 2019-01-07 | 17 | -122/+136 |
| | |||||
* | Merge pull request #5613 from ethereum/yulStringLiterals | chriseth | 2018-12-17 | 1 | -3/+3 |
|\ | | | | | [Yul] Use C++ user-defined literals for creating YulString constants. | ||||
| * | Use C++ user-defined literals for creating YulString constants. | Daniel Kirchner | 2018-12-13 | 1 | -3/+3 |
| | | |||||
* | | Remove VarDeclPropagator. | chriseth | 2018-12-13 | 9 | -105/+0 |
| | | |||||
* | | Do not create unassigned variables. | chriseth | 2018-12-13 | 15 | -47/+46 |
| | | |||||
* | | Add variable declaration initializer. | chriseth | 2018-12-13 | 6 | -0/+99 |
| | | |||||
* | | Consider return variables to be zero initially. | chriseth | 2018-12-13 | 3 | -34/+64 |
| | | |||||
* | | Do not inline into already big functions. | chriseth | 2018-12-13 | 4 | -151/+246 |
| | | |||||
* | | Support unassigned variables in the SSA value tracker and the data flow ↵ | chriseth | 2018-12-13 | 6 | -6/+50 |
|/ | | | | analyzer. | ||||
* | Codegen for object access. | chriseth | 2018-12-12 | 10 | -14/+188 |
| | |||||
* | Tests for stack reusing code generator. | chriseth | 2018-12-10 | 1 | -0/+353 |
| | |||||
* | Add structural simplifier as optimization step for Yul. | Daniel Kirchner | 2018-12-07 | 11 | -10/+81 |
| | |||||
* | Add tests. | chriseth | 2018-12-06 | 11 | -0/+383 |
| | |||||
* | Merge pull request #5554 from ethereum/cp-SourceReferenceFormatter-refactor | chriseth | 2018-12-06 | 4 | -10/+9 |
|\ | | | | | [2/3] Refactor SourceReferenceFormatter (split-out data extraction & make use of new SourceLocation knowledge) | ||||
| * | liblangutil: refactor SourceReferenceFormatter, splitting out retrieval and ↵ | Christian Parpart | 2018-12-06 | 4 | -10/+9 |
| | | | | | | | | making use of new SourceLocation's CharStream knowledge | ||||
* | | Tests for SSAValueTracker ignoring function call on rhs | Mathias Baumann | 2018-12-06 | 2 | -0/+26 |
| | | |||||
* | | Test for unhandled default values in expression simplifier | Mathias Baumann | 2018-12-05 | 1 | -0/+14 |
|/ | |||||
* | Builtin functions for yul analysis. | chriseth | 2018-12-04 | 1 | -0/+19 |
| | |||||
* | Tests for parser for builtins. | chriseth | 2018-12-04 | 1 | -0/+17 |
| | |||||
* | Use dialect option in yul parser tests. | chriseth | 2018-12-04 | 1 | -11/+13 |
| | |||||
* | Merge pull request #5573 from ethereum/builtins | chriseth | 2018-12-04 | 3 | -8/+8 |
|\ | | | | | [Yul] Introduce the concept of builtin functions. | ||||
| * | Introduce the concept of builtin functions. | chriseth | 2018-12-04 | 3 | -8/+8 |
| | | |||||
* | | Properly recurse in ForLoopInitRewriter | Daniel Kirchner | 2018-12-04 | 2 | -5/+53 |
|/ | |||||
* | Do not stop if there is more than one error. | chriseth | 2018-12-04 | 1 | -1/+2 |
| | |||||
* | liblangutil: Scanner: remove superfluous sourceName field (it's in ↵ | Christian Parpart | 2018-12-01 | 2 | -2/+2 |
| | | | | | | | CharStream already) Also, ParserBase::sourceName() was dead code. Eliminating it should increase test coverage (how sneaky) :-) | ||||
* | liblangutil: extends CharStream to know about the respective (file-)name ↵ | Christian Parpart | 2018-11-29 | 3 | -3/+3 |
| | | | | (and adapt codebase to it) | ||||
* | Tests. | chriseth | 2018-11-27 | 1 | -0/+257 |
| | |||||
* | Merge pull request #5497 from ethereum/langutil-SourceReferenceFormatter | chriseth | 2018-11-26 | 2 | -2/+2 |
|\ | | | | | Moving SourceReferenceFormatter into langutil namespace. | ||||
| * | Moving SourceReferenceFormatter into langutil namespace. | Christian Parpart | 2018-11-24 | 2 | -2/+2 |
| | | |||||
* | | decouple TestCase class from test/libsolidity | Lazaridis | 2018-11-25 | 1 | -1/+1 |
|/ | |||||
* | Isolating libyul library API into its own namespace `yul`. | Christian Parpart | 2018-11-23 | 6 | -48/+36 |
| | |||||
* | Reorder some include files and group <libyul/>'s together (as much as possible) | Christian Parpart | 2018-11-23 | 3 | -9/+6 |
| | |||||
* | Rewrite header paths to adapt to recent `git mv` of libsolidity/inlineasm to ↵ | Christian Parpart | 2018-11-23 | 5 | -11/+11 |
| | | | | libyul | ||||
* | Introduce namespace `langutil` in liblangutil directory. | Christian Parpart | 2018-11-22 | 5 | -10/+21 |
| | | | | | | | Also: - Use {}-style list initialisation for SourceLocation construction - Introduce new system includes - Changes the API of the Scanner to take source as value (with move) as opposed to as a reference | ||||
* | Isolating files shared between Yul- and Solidity language frontend. | Christian Parpart | 2018-11-22 | 3 | -6/+6 |
| | |||||
* | [Yul] Implements a pass to rewrite for-loop's pre block into the parent's Block. | Christian Parpart | 2018-11-16 | 4 | -0/+70 |
| | |||||
* | Update tests. | chriseth | 2018-11-13 | 1 | -66/+66 |
| | |||||
* | Merge pull request #5333 from ethereum/joinPerformance | chriseth | 2018-11-13 | 1 | -0/+654 |
|\ | | | | | [Yul] Use map join algorithm for performance. | ||||
| * | Remove variables that go out of scope from data structure. | chriseth | 2018-11-13 | 1 | -139/+170 |
| | | |||||
| * | Use map join algorithm for performance. | chriseth | 2018-11-13 | 1 | -0/+623 |
| | | |||||
* | | Deterministic YulStringRepository using string hashes. | Daniel Kirchner | 2018-11-13 | 3 | -11/+10 |
|/ | |||||
* | Remove trailing whitespace. | chriseth | 2018-11-12 | 2 | -2/+2 |
| | |||||
* | Merge pull request #5128 from ethereum/breakUnbreak | chriseth | 2018-11-09 | 4 | -5/+74 |
|\ | | | | | [Yul] Test case that shows that break / unbreak are more or less inverse | ||||
| * | Test case that shows that break/unbreak are more or less inverse. | chriseth | 2018-11-09 | 4 | -5/+74 |
| | | |||||
* | | Reset yul string repository. | chriseth | 2018-11-09 | 1 | -0/+2 |
|/ | |||||
* | Remove side-effect-free statements. | chriseth | 2018-11-09 | 2 | -3/+9 |
| | |||||
* | Merge pull request #5325 from ethereum/fixDataFlow | chriseth | 2018-11-08 | 2 | -0/+104 |
|\ | | | | | [Yul] Fix data flow analyzer for function definitions. | ||||
| * | Fix data flow analyzer for function definitions. | chriseth | 2018-11-08 | 2 | -0/+104 |
| | | |||||
* | | Use single counter for name dispenser for performance reasons. | chriseth | 2018-11-08 | 13 | -63/+63 |
|/ | |||||
* | Performance: Replace string by special single-copy YulString class. | chriseth | 2018-11-08 | 1 | -4/+4 |
| | |||||
* | Yul: Implements empty-var-decl-propagation | Christian Parpart | 2018-10-26 | 9 | -0/+105 |
| | |||||
* | Full suite tests. | chriseth | 2018-10-25 | 2 | -0/+29 |
| | |||||
* | Redundant assign eliminator. | chriseth | 2018-10-24 | 20 | -0/+413 |
| | |||||
* | Merge pull request #5267 from ethereum/ssatransform | chriseth | 2018-10-19 | 12 | -0/+314 |
|\ | | | | | SSA transform - first step. | ||||
| * | SSA transform - first step. | chriseth | 2018-10-19 | 12 | -0/+314 |
| | | |||||
* | | Merge pull request #5260 from ethereum/flattenMore | chriseth | 2018-10-19 | 1 | -0/+22 |
|\ \ | | | | | | | Flatten more. | ||||
| * | | Flatten more. | chriseth | 2018-10-18 | 1 | -0/+22 |
| | | | |||||
* | | | Merge pull request #5258 from ethereum/coverage2 | chriseth | 2018-10-19 | 2 | -0/+56 |
|\ \ \ | | | | | | | | | Add some simplification tests for operations. | ||||
| * | | | Add some simplification tests for operations. | chriseth | 2018-10-18 | 2 | -0/+56 |
| |/ / | |||||
* | | | Merge pull request #5270 from ethereum/inlineFlexible | chriseth | 2018-10-19 | 1 | -1/+1 |
|\ \ \ | | | | | | | | | Make full inliner more flexible. | ||||
| * | | | Make full inliner more flexible. | chriseth | 2018-10-18 | 1 | -1/+1 |
| | |/ | |/| | |||||
* | | | Fix a bug in CSE where a variable that was already out of scope was used. | chriseth | 2018-10-18 | 1 | -1/+1 |
| | | | |||||
* | | | Test case that shows a CSE bug related to scopes. | chriseth | 2018-10-18 | 1 | -0/+25 |
|/ / | |||||
* | | Merge pull request #5240 from ethereum/limitDispenserSize | chriseth | 2018-10-18 | 3 | -6/+40 |
|\ \ | |/ |/| | [Yul] Limit name length created by dispenser | ||||
| * | Limit size of generated names and add convenience constructors. | chriseth | 2018-10-17 | 3 | -6/+40 |
| | | |||||
* | | Merge pull request #5232 from ethereum/inlineHeuristic | chriseth | 2018-10-17 | 3 | -0/+97 |
|\ \ | |/ |/| | [Yul] Add simple inlining heuristic | ||||
| * | Use metrics in the full inliner. | chriseth | 2018-10-17 | 3 | -0/+97 |
| | | |||||
* | | Handle externally supplied variables correctly in disambiguator. | chriseth | 2018-10-17 | 1 | -1/+1 |
|/ | |||||
* | Inline each function separately. | chriseth | 2018-10-16 | 2 | -41/+16 |
| | |||||
* | Test for crash via inlining. | chriseth | 2018-10-16 | 1 | -0/+84 |
| | |||||
* | New full inliner. | chriseth | 2018-10-16 | 10 | -56/+124 |
| | |||||
* | Add a "full simplify" test that applies multiple elementary transforms. | chriseth | 2018-10-16 | 17 | -0/+198 |
| | |||||
* | New simplifier via broken expressions. | chriseth | 2018-10-16 | 1 | -1/+1 |
| | |||||
* | Yul: Introduces a block flattening pass + tests | Christian Parpart | 2018-10-16 | 5 | -0/+93 |
| | |||||
* | Some renaming leftovers. | chriseth | 2018-10-15 | 1 | -1/+1 |
| | |||||
* | Renaming namespace dev::julia to dev::yul. | Christian Parpart | 2018-10-15 | 5 | -11/+11 |
| | |||||
* | Renaming libjulia to libyul | Christian Parpart | 2018-10-15 | 115 | -0/+2649 |