aboutsummaryrefslogtreecommitdiffstats
path: root/test/libyul
Commit message (Collapse)AuthorAgeFilesLines
* Use rematerializer if variable is unreferenced or value is "cheap".chriseth2019-01-0717-122/+136
|
* Merge pull request #5613 from ethereum/yulStringLiteralschriseth2018-12-171-3/+3
|\ | | | | [Yul] Use C++ user-defined literals for creating YulString constants.
| * Use C++ user-defined literals for creating YulString constants.Daniel Kirchner2018-12-131-3/+3
| |
* | Remove VarDeclPropagator.chriseth2018-12-139-105/+0
| |
* | Do not create unassigned variables.chriseth2018-12-1315-47/+46
| |
* | Add variable declaration initializer.chriseth2018-12-136-0/+99
| |
* | Consider return variables to be zero initially.chriseth2018-12-133-34/+64
| |
* | Do not inline into already big functions.chriseth2018-12-134-151/+246
| |
* | Support unassigned variables in the SSA value tracker and the data flow ↵chriseth2018-12-136-6/+50
|/ | | | analyzer.
* Codegen for object access.chriseth2018-12-1210-14/+188
|
* Tests for stack reusing code generator.chriseth2018-12-101-0/+353
|
* Add structural simplifier as optimization step for Yul.Daniel Kirchner2018-12-0711-10/+81
|
* Add tests.chriseth2018-12-0611-0/+383
|
* Merge pull request #5554 from ethereum/cp-SourceReferenceFormatter-refactorchriseth2018-12-064-10/+9
|\ | | | | [2/3] Refactor SourceReferenceFormatter (split-out data extraction & make use of new SourceLocation knowledge)
| * liblangutil: refactor SourceReferenceFormatter, splitting out retrieval and ↵Christian Parpart2018-12-064-10/+9
| | | | | | | | making use of new SourceLocation's CharStream knowledge
* | Tests for SSAValueTracker ignoring function call on rhsMathias Baumann2018-12-062-0/+26
| |
* | Test for unhandled default values in expression simplifierMathias Baumann2018-12-051-0/+14
|/
* Builtin functions for yul analysis.chriseth2018-12-041-0/+19
|
* Tests for parser for builtins.chriseth2018-12-041-0/+17
|
* Use dialect option in yul parser tests.chriseth2018-12-041-11/+13
|
* Merge pull request #5573 from ethereum/builtinschriseth2018-12-043-8/+8
|\ | | | | [Yul] Introduce the concept of builtin functions.
| * Introduce the concept of builtin functions.chriseth2018-12-043-8/+8
| |
* | Properly recurse in ForLoopInitRewriterDaniel Kirchner2018-12-042-5/+53
|/
* Do not stop if there is more than one error.chriseth2018-12-041-1/+2
|
* liblangutil: Scanner: remove superfluous sourceName field (it's in ↵Christian Parpart2018-12-012-2/+2
| | | | | | | CharStream already) Also, ParserBase::sourceName() was dead code. Eliminating it should increase test coverage (how sneaky) :-)
* liblangutil: extends CharStream to know about the respective (file-)name ↵Christian Parpart2018-11-293-3/+3
| | | | (and adapt codebase to it)
* Tests.chriseth2018-11-271-0/+257
|
* Merge pull request #5497 from ethereum/langutil-SourceReferenceFormatterchriseth2018-11-262-2/+2
|\ | | | | Moving SourceReferenceFormatter into langutil namespace.
| * Moving SourceReferenceFormatter into langutil namespace.Christian Parpart2018-11-242-2/+2
| |
* | decouple TestCase class from test/libsolidityLazaridis2018-11-251-1/+1
|/
* Isolating libyul library API into its own namespace `yul`.Christian Parpart2018-11-236-48/+36
|
* Reorder some include files and group <libyul/>'s together (as much as possible)Christian Parpart2018-11-233-9/+6
|
* Rewrite header paths to adapt to recent `git mv` of libsolidity/inlineasm to ↵Christian Parpart2018-11-235-11/+11
| | | | libyul
* Introduce namespace `langutil` in liblangutil directory.Christian Parpart2018-11-225-10/+21
| | | | | | | Also: - Use {}-style list initialisation for SourceLocation construction - Introduce new system includes - Changes the API of the Scanner to take source as value (with move) as opposed to as a reference
* Isolating files shared between Yul- and Solidity language frontend.Christian Parpart2018-11-223-6/+6
|
* [Yul] Implements a pass to rewrite for-loop's pre block into the parent's Block.Christian Parpart2018-11-164-0/+70
|
* Update tests.chriseth2018-11-131-66/+66
|
* Merge pull request #5333 from ethereum/joinPerformancechriseth2018-11-131-0/+654
|\ | | | | [Yul] Use map join algorithm for performance.
| * Remove variables that go out of scope from data structure.chriseth2018-11-131-139/+170
| |
| * Use map join algorithm for performance.chriseth2018-11-131-0/+623
| |
* | Deterministic YulStringRepository using string hashes.Daniel Kirchner2018-11-133-11/+10
|/
* Remove trailing whitespace.chriseth2018-11-122-2/+2
|
* Merge pull request #5128 from ethereum/breakUnbreakchriseth2018-11-094-5/+74
|\ | | | | [Yul] Test case that shows that break / unbreak are more or less inverse
| * Test case that shows that break/unbreak are more or less inverse.chriseth2018-11-094-5/+74
| |
* | Reset yul string repository.chriseth2018-11-091-0/+2
|/
* Remove side-effect-free statements.chriseth2018-11-092-3/+9
|
* Merge pull request #5325 from ethereum/fixDataFlowchriseth2018-11-082-0/+104
|\ | | | | [Yul] Fix data flow analyzer for function definitions.
| * Fix data flow analyzer for function definitions.chriseth2018-11-082-0/+104
| |
* | Use single counter for name dispenser for performance reasons.chriseth2018-11-0813-63/+63
|/
* Performance: Replace string by special single-copy YulString class.chriseth2018-11-081-4/+4
|
* Yul: Implements empty-var-decl-propagationChristian Parpart2018-10-269-0/+105
|
* Full suite tests.chriseth2018-10-252-0/+29
|
* Redundant assign eliminator.chriseth2018-10-2420-0/+413
|
* Merge pull request #5267 from ethereum/ssatransformchriseth2018-10-1912-0/+314
|\ | | | | SSA transform - first step.
| * SSA transform - first step.chriseth2018-10-1912-0/+314
| |
* | Merge pull request #5260 from ethereum/flattenMorechriseth2018-10-191-0/+22
|\ \ | | | | | | Flatten more.
| * | Flatten more.chriseth2018-10-181-0/+22
| | |
* | | Merge pull request #5258 from ethereum/coverage2chriseth2018-10-192-0/+56
|\ \ \ | | | | | | | | Add some simplification tests for operations.
| * | | Add some simplification tests for operations.chriseth2018-10-182-0/+56
| |/ /
* | | Merge pull request #5270 from ethereum/inlineFlexiblechriseth2018-10-191-1/+1
|\ \ \ | | | | | | | | Make full inliner more flexible.
| * | | Make full inliner more flexible.chriseth2018-10-181-1/+1
| | |/ | |/|
* | | Fix a bug in CSE where a variable that was already out of scope was used.chriseth2018-10-181-1/+1
| | |
* | | Test case that shows a CSE bug related to scopes.chriseth2018-10-181-0/+25
|/ /
* | Merge pull request #5240 from ethereum/limitDispenserSizechriseth2018-10-183-6/+40
|\ \ | |/ |/| [Yul] Limit name length created by dispenser
| * Limit size of generated names and add convenience constructors.chriseth2018-10-173-6/+40
| |
* | Merge pull request #5232 from ethereum/inlineHeuristicchriseth2018-10-173-0/+97
|\ \ | |/ |/| [Yul] Add simple inlining heuristic
| * Use metrics in the full inliner.chriseth2018-10-173-0/+97
| |
* | Handle externally supplied variables correctly in disambiguator.chriseth2018-10-171-1/+1
|/
* Inline each function separately.chriseth2018-10-162-41/+16
|
* Test for crash via inlining.chriseth2018-10-161-0/+84
|
* New full inliner.chriseth2018-10-1610-56/+124
|
* Add a "full simplify" test that applies multiple elementary transforms.chriseth2018-10-1617-0/+198
|
* New simplifier via broken expressions.chriseth2018-10-161-1/+1
|
* Yul: Introduces a block flattening pass + testsChristian Parpart2018-10-165-0/+93
|
* Some renaming leftovers.chriseth2018-10-151-1/+1
|
* Renaming namespace dev::julia to dev::yul.Christian Parpart2018-10-155-11/+11
|
* Renaming libjulia to libyulChristian Parpart2018-10-15115-0/+2649