aboutsummaryrefslogtreecommitdiffstats
path: root/libyul/optimiser
Commit message (Collapse)AuthorAgeFilesLines
* [Yul] ExpressionJoiner: code cleanupChristian Parpart2018-10-262-36/+20
| | | | | | | | | * ensure public API is only containing `run(Block&)`, all the rest is private API / implementation details * adding some comments to class data members to quicker understand their meaning * eliminate unnecessary `operator()(If&)` as it's not changing default behaviour of `ASTModifier` * simplify readability of `visit(Expression&)`'s impl, also moving assert's into "isLatestStatementVarDeclOf", as this one is already ensuring exactly that. * ctor impl's use of ReferenceCounter use shortened. * renamed and improved `isLatestStatementVarDeclOf` to better match its meaning (especially since it's only used once)
* Merge pull request #5242 from ethereum/someCheckschriseth2018-10-251-0/+1
|\ | | | | Some well-formedness checks for the Yul AST.
| * Some well-formedness checks for the Yul AST.chriseth2018-10-221-0/+1
| |
* | Full suite tests.chriseth2018-10-252-0/+168
| |
* | Redundant assign eliminator.chriseth2018-10-242-0/+378
|/
* Merge pull request #5267 from ethereum/ssatransformchriseth2018-10-192-0/+228
|\ | | | | SSA transform - first step.
| * SSA transform - first step.chriseth2018-10-192-0/+228
| |
* | Merge pull request #5270 from ethereum/inlineFlexiblechriseth2018-10-192-12/+11
|\ \ | | | | | | Make full inliner more flexible.
| * | Make full inliner more flexible.chriseth2018-10-182-12/+11
| |/
* / Fix a bug in CSE where a variable that was already out of scope was used.chriseth2018-10-184-23/+34
|/
* Merge pull request #5240 from ethereum/limitDispenserSizechriseth2018-10-185-19/+57
|\ | | | | [Yul] Limit name length created by dispenser
| * Limit size of generated names and add convenience constructors.chriseth2018-10-175-19/+57
| |
* | Merge pull request #5232 from ethereum/inlineHeuristicchriseth2018-10-174-8/+73
|\ \ | |/ |/| [Yul] Add simple inlining heuristic
| * Use metrics in the full inliner.chriseth2018-10-174-8/+73
| |
* | Handle externally supplied variables correctly in disambiguator.chriseth2018-10-172-3/+12
| |
* | Prevent externally used functions from being removed.chriseth2018-10-172-5/+7
|/
* Inline each function separately.chriseth2018-10-162-28/+13
|
* New full inliner.chriseth2018-10-162-197/+102
|
* New simplifier via broken expressions.chriseth2018-10-164-15/+73
|
* SSA value tracker.chriseth2018-10-162-0/+111
|
* Yul: Introduces a block flattening pass + testsChristian Parpart2018-10-162-0/+75
|
* Some renaming leftovers.chriseth2018-10-152-3/+3
|
* Renaming namespace dev::julia to dev::yul.Christian Parpart2018-10-1548-49/+49
|
* Renaming libjulia to libyulChristian Parpart2018-10-1549-0/+4196