Alex Beregszaszi
8afd0ea030
Introduce Julia filter to encapsulate top level Block as a FunctionDefinition (wasm specific)
2018-05-09 11:21:03 +02:00
chriseth
54aa10ce36
Merge pull request #4054 from ethereum/token-names
...
Improve parser error messages
2018-05-09 11:06:23 +02:00
Alex Beregszaszi
840ed1e88a
Update parser test expectations
2018-05-04 13:31:56 +01:00
chriseth
d2145428c5
Fix test case strings.
2018-05-02 17:39:42 +02:00
chriseth
78945e81e4
Test the removal of the result variable.
2018-05-02 17:39:42 +02:00
chriseth
5cd84a630c
Tests.
2018-05-02 17:39:42 +02:00
chriseth
a38418f0d9
Common subexpression eliminator.
2018-04-06 15:16:29 +02:00
Daniel Kirchner
d63d41b3b5
test: Rename test/TestHelper.* to test/Options.* and add Options::validate().
2018-03-14 12:04:04 +01:00
chriseth
fd1662d1c4
Warn about using loose inline assembly features as experimental 0.5.0 feature.
2018-03-06 17:45:34 +01:00
chriseth
dc317a44e0
Provide EVM version to assembly analysis.
2018-03-01 17:19:35 +01:00
Alex Beregszaszi
ae02bb5aad
Raise error on oversized number literals in assembly
2018-02-22 01:02:19 +01:00
chriseth
e2bf5de8a2
Expect end of string at end of top-level block for assembly parser.
2018-02-21 00:41:39 +01:00
Federico Bond
d7532f7b9c
Convert static SourceReferenceFormatter functions to member ones
2018-02-19 15:04:22 +01:00
chriseth
1e09d6ba7b
Test for Mod-And rule.
2018-02-12 22:47:04 +00:00
chriseth
9b61fb2e99
Merge pull request #3456 from ethereum/simplifier
...
Use simplification rules also for IULIA
2018-02-08 16:50:17 +01:00
chriseth
9429e18dda
Fix tests for old precompiler.
2018-02-07 19:23:47 +01:00
chriseth
5523296eaa
Also apply simplification rules that require multiple identical sub-expressions.
2018-02-06 22:51:30 +01:00
chriseth
f7392cc698
Tests.
2018-02-06 22:51:30 +01:00
chriseth
9eea3f29ba
Expression simplifier.
2018-02-06 22:51:30 +01:00
chriseth
d7863e2054
Test about recursively calling functions.
2018-02-06 14:50:39 +00:00
chriseth
a7ae7c6d04
Tests for functional inliner.
2018-02-06 14:50:39 +00:00
chriseth
e7ef227226
Function inliner.
2018-02-06 14:50:33 +00:00
chriseth
4bd9bcbc77
Tests for inlinable function filter.
2018-02-06 14:48:47 +00:00
chriseth
c0abddc9dc
Test for self-referring assignment.
2018-02-06 12:58:51 +01:00
chriseth
669b63ca5f
Test not to remat if the expression is too large.
2018-02-06 12:38:32 +01:00
chriseth
773be40c19
Reassign test for remat.
2018-02-06 12:38:32 +01:00
chriseth
e100af592b
Fix for rematerializer.
2018-02-06 12:31:43 +01:00
chriseth
22c4d282aa
Only substitute if all referenced variables are in scope.
2018-02-06 12:31:43 +01:00
chriseth
30e6f69bfd
Tests for rematerialiser.
2018-02-06 12:31:43 +01:00
Alex Beregszaszi
33b27258e4
Add more tests for UnusedPruner
2018-02-06 10:15:41 +00:00
Alex Beregszaszi
2cbbe58281
Support variable declarations without assignment in UnusedPruner
2018-02-06 10:07:00 +00:00
chriseth
b0407cfac0
Unused variable and function remover.
2018-02-05 16:43:39 +00:00
chriseth
124190336b
Split inline assembly into loose and strict flavours.
2018-01-06 01:23:38 +00:00
Alex Beregszaszi
a91393f4d7
Support some restricted tokens (return, byte, address) as identifiers in Julia
2018-01-05 15:53:49 +00:00
chriseth
dbad74ac1b
Merge pull request #3279 from ethereum/function_hoister
...
Function hoister
2017-12-18 15:08:13 +01:00
chriseth
99c8ed075e
Function hoister.
2017-12-14 17:28:29 +01:00
chriseth
a6a64eb8ed
Function grouper.
2017-12-14 17:21:01 +01:00
chriseth
30d7afc2e3
Simplify disambiguator.
2017-12-05 12:09:55 +01:00
chriseth
cba58629d2
Refactor iulia tests.
2017-12-05 12:09:55 +01:00
chriseth
861210f543
Disambiguator.
2017-12-05 12:09:52 +01:00
chriseth
1d91b65b72
Force condition to be bool in iulia mode.
2017-11-23 18:52:04 +01:00
chriseth
9232cd2621
Tests.
2017-11-22 16:27:32 +01:00
Alex Beregszaszi
3b813ed295
Support multiple assignment in inline assembly
2017-09-20 11:16:23 +02:00
chriseth
692e4c57e8
Check recursion depth in assembly parser.
2017-08-22 12:44:22 +02:00
chriseth
97cb571ba4
Tests for recursion in JULIA.
2017-08-22 12:43:44 +02:00
chriseth
2c5985de06
Be more strict about number literals in assembly.
2017-08-21 13:31:28 +02:00
Alex Beregszaszi
ee3a2c0599
Add end-to-end test
2017-07-13 15:18:40 +02:00
Alex Beregszaszi
cee93d946d
Support parsing let statements without a value
2017-07-13 15:18:18 +02:00
chriseth
97cc968a13
Initial EVM1.5 assembly implementation.
2017-06-08 15:52:44 +02:00
Rhett Aultman
89b60ffbd4
Refactor error reporting
...
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
2017-05-30 07:28:31 -07:00