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
Alex Beregszaszi
efadf7e41f
Change error message for invalid type
2017-05-26 20:42:17 +01:00
Alex Beregszaszi
8fe79fe706
Introduce Julia mode in AsmAnalyzer
2017-05-26 20:39:30 +01:00
Alex Beregszaszi
3b75c5b45f
Validate that only basic types are used in Julia
2017-05-26 20:39:10 +01:00
Alex Beregszaszi
7600a814fa
Enable the analyzer for Julia tests
2017-05-25 01:28:47 +01:00
Alex Beregszaszi
fb46268982
Add tests
2017-05-23 10:24:19 +01:00
Alex Beregszaszi
2ade4fcdd8
Add tests for bool literal
2017-05-19 09:44:16 +01:00