aboutsummaryrefslogtreecommitdiffstats
path: root/libjulia
Commit message (Collapse)AuthorAgeFilesLines
* 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
| | | | Refs: #4442
* 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 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-092-5/+35
|
* 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
|
* 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
|\ | | | | 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-049-32/+94
|\ | | | | Separate expression and statement
| * Separate expression and statement.chriseth2017-12-139-32/+94
| |
* | 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-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 parameters.
| * 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
| | | | | | | | | This commit introduces ErrorReporter, a utility class which consolidates all of the error logging functionality into a common set of functions. It also replaces all direct interactions with an ErrorList with calls to an ErrorReporter. This commit resolves issue #2209
* 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