aboutsummaryrefslogtreecommitdiffstats
path: root/libjulia/optimiser
Commit message (Collapse)AuthorAgeFilesLines
* Renaming libjulia to libyulChristian Parpart2018-10-1549-4196/+0
|
* Also substitute variables in CSE.chriseth2018-10-122-4/+40
|
* Merge pull request #5127 from ethereum/exprUnbreakerchriseth2018-10-123-0/+309
|\ | | | | [Yul] Expression joiner.
| * Expression joiner.chriseth2018-10-123-0/+309
| |
* | Also split constants.chriseth2018-10-121-1/+1
|/
* Rename ExpressionBreaker to ExpressionSplitter.chriseth2018-10-102-10/+10
|
* Expression breaker.chriseth2018-10-092-0/+191
|
* Fix for inlining inside conditions.chriseth2018-10-011-0/+5
|
* Split simplification rules into two functions.Daniel Kirchner2018-09-182-0/+10
|
* Clarify a little the function hoister optimizationLeo Arias2018-09-111-2/+2
|
* Removing std:: from std::to_string and include for boost/lexical_castMatías Aereal Aeón2018-08-081-1/+1
|
* Clarify optimiser readme.chriseth2018-07-121-0/+4
|
* Code, Changelog, ReleaseChecklist: Fix typos.Cryptomental2018-07-112-2/+2
| | | | Refs: #4442
* Rename Julia to Yul in commentsAlex Beregszaszi2018-06-264-7/+7
|
* Merge pull request #4234 from elopio/patch-4chriseth2018-06-061-2/+2
|\ | | | | docs: fix typos
| * docs: fix typosLeo Arias2018-06-061-2/+2
| |
* | comments: fix typoLeo Arias2018-06-061-1/+1
|/
* Fix wrong template parameter passed to boost::getmingchuan2018-05-141-2/+2
|
* Do not use solAssert within libjuliaAlex Beregszaszi2018-05-0919-63/+53
|
* Move Julia exceptions to libjulia/Exceptions.hAlex Beregszaszi2018-05-091-5/+0
|
* Introduce Julia filter to encapsulate top level Block as a ↵Alex Beregszaszi2018-05-093-0/+105
| | | | FunctionDefinition (wasm specific)
* Use NameDispenser in DisambiguatorAlex Beregszaszi2018-05-092-12/+3
|
* Optimize number of moves.chriseth2018-05-021-8/+14
|
* Assert function hoister and grouper has been used.chriseth2018-05-021-0/+2
|
* Move NameDispenser into its own file.chriseth2018-05-024-20/+76
|
* Extend pop(0)-remover to any movable expression.chriseth2018-05-021-4/+3
|
* Replace pop(0)-statements by empty blocks.chriseth2018-05-022-0/+20
|
* Inline functions returning nothing.chriseth2018-05-022-10/+25
|
* Full inliner.chriseth2018-05-022-0/+417
|
* Use hoisting.chriseth2018-05-022-4/+6
|
* Add virtual destructors on base classes.Alexander Arlt2018-05-022-0/+5
|
* Common subexpression eliminator.chriseth2018-04-062-0/+93
|
* Fix compilation problem from issue 3530Leonardo Alt2018-02-161-4/+4
|
* Pretty-print constants in simplifier.chriseth2018-02-101-1/+1
|
* Use removeEmptyBlocks helper in FunctionHoisterAlex Beregszaszi2018-02-091-8/+2
|
* Merge pull request #3456 from ethereum/simplifierchriseth2018-02-088-0/+533
|\ | | | | Use simplification rules also for IULIA
| * Turn simplification rule tuple into struct.chriseth2018-02-073-11/+12
| |
| * Also apply simplification rules that require multiple identical sub-expressions.chriseth2018-02-074-3/+139
| |
| * Expression simplifier.chriseth2018-02-074-0/+382
| |
| * Explanation of expression simplifier.chriseth2018-02-071-0/+9
| |
| * Add flag to indicate whether it can be applied to expressions with side-effects.chriseth2018-02-071-0/+5
| |
* | Rename expression inliner.chriseth2018-02-064-20/+28
| |
* | Function inliner.chriseth2018-02-063-0/+142
| |
* | Inlinable function filter.chriseth2018-02-062-0/+139
|/
* Test for self-referring assignment.chriseth2018-02-061-2/+0
|
* Introduce struct for scopes.chriseth2018-02-062-11/+17
|
* Refactor data flow analysis out of remat.chriseth2018-02-064-177/+284
|
* Fix for rematerializer.chriseth2018-02-061-0/+4
|
* Only substitute if all referenced variables are in scope.chriseth2018-02-062-2/+59
|
* Rematerialisation.chriseth2018-02-065-1/+228
|
* Description of variable eliminator.chriseth2018-02-061-2/+21
|
* Add comments to UnusedPrunerchriseth2018-02-062-0/+9
|
* Support variable declarations without assignment in UnusedPrunerAlex Beregszaszi2018-02-061-2/+4
|
* Unused variable and function remover.chriseth2018-02-062-0/+172
|
* Utility to remove empty blocks.chriseth2018-02-062-0/+73
|
* References counter.chriseth2018-02-063-3/+46
|
* Code size metric.chriseth2018-02-022-0/+101
|
* Movability.chriseth2018-01-133-1/+122
|
* Use explicit visit function for the walker.chriseth2018-01-132-15/+25
|
* Merge pull request #3297 from ethereum/separate_expression_and_statementAlex Beregszaszi2018-01-046-29/+81
|\ | | | | Separate expression and statement
| * Separate expression and statement.chriseth2017-12-136-29/+81
| |
* | Merge pull request #3279 from ethereum/function_hoisterchriseth2017-12-182-0/+111
|\ \ | | | | | | Function hoister
| * | Function hoister.chriseth2017-12-152-0/+111
| |/
* | Fixed typos in comment.chriseth2017-12-181-2/+2
| |
* | Function grouper.chriseth2017-12-152-0/+95
|/
* Description of the optimiser and stages.chriseth2017-12-111-0/+61
|
* Merge pull request #3287 from ethereum/substitutionYoichi Hirai2017-12-065-7/+102
|\ | | | | Substitution
| * substitutionchriseth2017-12-062-0/+90
| |
| * copierchriseth2017-12-061-1/+2
| |
| * Make the modifier more flexible.chriseth2017-12-062-6/+10
| |
* | Split Instruction and FunctionalInstruction in JuliaAlex Beregszaszi2017-12-051-2/+3
|/
* Generic AST walker.chriseth2017-12-054-0/+345
|
* Simplify disambiguator.chriseth2017-12-053-22/+7
|
* Disambiguator.chriseth2017-12-054-0/+435