aboutsummaryrefslogtreecommitdiffstats
path: root/libjulia/optimiser
Commit message (Expand)AuthorAgeFilesLines
* 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 FunctionDefinition...Alex Beregszaszi2018-05-093-0/+105
* 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
|\
| * 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.chriseth2017-12-136-29/+81
* | Merge pull request #3279 from ethereum/function_hoisterchriseth2017-12-182-0/+111
|\ \
| * | 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
|\
| * 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