aboutsummaryrefslogtreecommitdiffstats
path: root/libjulia
Commit message (Expand)AuthorAgeFilesLines
* Renaming libjulia to libyulChristian Parpart2018-10-1556-5418/+0
* Also substitute variables in CSE.chriseth2018-10-122-4/+40
* Merge pull request #5127 from ethereum/exprUnbreakerchriseth2018-10-123-0/+309
|\
| * 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
* Merge pull request #5075 from ethereum/fixInlinerchriseth2018-10-011-0/+5
|\
| * Fix for inlining inside conditions.chriseth2018-10-011-0/+5
* | code refactoringliangdzou2018-09-261-3/+5
|/
* fix typoliangdzou2018-09-211-1/+1
* 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-082-2/+2
* Clarify optimiser readme.chriseth2018-07-121-0/+4
* Code, Changelog, ReleaseChecklist: Fix typos.Cryptomental2018-07-114-4/+4
* Rename IuliaException to YulExceptionAlex Beregszaszi2018-06-261-2/+2
* Rename Julia to Yul in variablesAlex Beregszaszi2018-06-262-6/+6
* Rename Julia to Yul in commentsAlex Beregszaszi2018-06-268-11/+11
* Merge pull request #4234 from elopio/patch-4chriseth2018-06-061-2/+2
|\
| * 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-092-5/+35
* 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
* Mark functions constAlex Beregszaszi2018-02-222-6/+6
* 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-049-32/+94
|\
| * Separate expression and statement.chriseth2017-12-139-32/+94
* | 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-052-6/+8
|/
* Generic AST walker.chriseth2017-12-054-0/+345
* Simplify disambiguator.chriseth2017-12-053-22/+7
* Disambiguator.chriseth2017-12-054-0/+435
* Rename to ASTDataForward.hchriseth2017-12-042-1/+1
* Merge pull request #3265 from ethereum/rename_args_to_paramschriseth2017-12-041-8/+8
|\
| * Rename arguments to paramaters and returns to returnVariables.chriseth2017-12-011-8/+8
* | Fix namespace ambiguity.chriseth2017-12-012-2/+3
* | Introduce InlineAsm structs into Julia namespace.chriseth2017-11-302-21/+74
|/
* If statement for Iulia / inline assembly.chriseth2017-11-222-0/+14
* Remove unintentional copy in assignment operation.chriseth2017-09-202-20/+25
* Support multiple assignment in inline assemblyAlex Beregszaszi2017-09-202-19/+25
* Named assembly labels.chriseth2017-09-165-10/+42
* Rename expectedItems to numVariablesAlex Beregszaszi2017-07-131-3/+3
* Support variable declarations without an assignment in EVMAlex Beregszaszi2017-07-131-3/+12
* Add Julia mode as an option to EVMCodeTransformAlex Beregszaszi2017-07-032-1/+6
* Refactor updateReferenceAlex Beregszaszi2017-06-232-7/+11
* Support appendAssemblySize() in AbstractAssemblyAlex Beregszaszi2017-06-233-0/+22
* Merge interface/Exceptions and interface/UtilsAlex Beregszaszi2017-06-222-2/+2
* Set source location for for start label.chriseth2017-06-161-0/+1
* Helper for visiting statements.chriseth2017-06-162-3/+10
* Code generation for for-loops.chriseth2017-06-161-6/+38
* Split block code generation into main and finalize.chriseth2017-06-162-23/+27
* Helper to count the number of variables in a scope.chriseth2017-06-161-3/+2
* Add include file to forward-declare inline assembly structs.chriseth2017-06-161-0/+1
* Parse for statement in assembly parser / printerAlex Beregszaszi2017-06-162-15/+6
* Move stack height to generation phase.chriseth2017-06-142-9/+9
* Move LabelIDs to generation phase.chriseth2017-06-142-26/+46
* Remove obsolete AsmStackAlex Beregszaszi2017-06-091-1/+0
* Comments and consistent variable names.chriseth2017-06-093-13/+14
* Fix compiler warning.chriseth2017-06-081-1/+1
* Missing stack height check for variable declaration.chriseth2017-06-081-0/+1
* Remove error reporter from code generation phase.chriseth2017-06-082-21/+15
* Some more comments.chriseth2017-06-084-10/+25
* Correct stack height adjustment after returnsub.chriseth2017-06-084-5/+5
* Introduce machine-dependent stack adjustment.chriseth2017-06-082-11/+26
* Initial EVM1.5 assembly implementation.chriseth2017-06-085-117/+599
* Refactor error reportingRhett Aultman2017-05-302-14/+12
* Introduce LabelID typedef.chriseth2017-05-291-3/+5
* Adapt EVM codegen to new namespace.chriseth2017-05-262-204/+302
* Move EVM codegen to libjulia.chriseth2017-05-263-0/+274
* Review changes.chriseth2017-05-201-1/+2
* Refactor to abstract assembly to JULIA.chriseth2017-05-201-0/+88