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
chriseth
d9b5ff0b43
Merge pull request #2222 from ethereum/julia-types
...
Add support for types in Julia
2017-05-16 16:59:15 +02:00
Yoichi Hirai
9dac41d845
Remove an unused function successAssemble
...
Otherwise, I see a build failure:
test/libjulia/Parser.cpp:92:6: error: ‘bool dev::solidity::test::{anonymous}::successAssemble(const string&, bool)’ defined but not used [-Werror=unused-function]
bool successAssemble(string const& _source, bool _allowWarnings = true)
^~~~~~~~~~~~~~~
cc1plus: all warnings being treated as errors
2017-05-09 11:51:16 +02:00
Alex Beregszaszi
6706932d7c
Add tests for types in Julia
2017-05-05 22:31:22 +01:00
Alex Beregszaszi
f1dbc77272
Remove analyzer from Julia tests
2017-05-05 14:21:25 +01:00
Alex Beregszaszi
62df401328
Add Julia parser test
2017-05-05 14:21:25 +01:00