Commit Graph

68 Commits

Author SHA1 Message Date
Leo Arias
aae385031f Add a missing tests for yul inliner optimization
When the statement has two return values, the function is not inlinable.

When the function has one statement but it is not an assignment to the
return variable, the function is not inlinable.

l
2018-09-16 06:38:08 +00:00
Leo Arias
1395bef7ae tests: add yul simplifier not applied with function calls 2018-08-09 03:46:22 +00:00
Leo Arias
cf3bf57cb2 tests: add yul simplifier not applied 2018-08-07 21:58:24 +00:00
Cryptomental
a55abb550d AsmParser,TypeChecker: Fix typos.
Fix typos. The change requested as a separate PR during codespell PR.
Adapt tests as well.

Refs: #4442
2018-07-10 12:33:19 +02:00
Alex Beregszaszi
e05a31b82b Rename Julia to Yul in variables 2018-06-26 00:52:36 +02:00
Alex Beregszaszi
91db46b128 Rename test suites from J/Iulia* to Yul* 2018-06-26 00:07:28 +02:00
Alex Beregszaszi
d24f6fd34b update tests 2018-06-14 09:31:28 +01:00
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