Commit Graph

9280 Commits

Author SHA1 Message Date
chriseth
937f16afef Handle version for solcjs tests. 2018-02-09 18:24:12 +01:00
chriseth
981ff308ec Split solcjs and external tests. 2018-02-09 18:24:12 +01:00
chriseth
0a4dc2cc86 Split build and test emscripten 2018-02-09 18:24:12 +01:00
chriseth
2095e7a32d
Merge pull request #3472 from ethereum/removeemptyblocks
Use removeEmptyBlocks helper in FunctionHoister
2018-02-09 10:24:40 +01:00
chriseth
56a96213b1
Merge pull request #3462 from aarlt/darwin_clang_16mb_stack
Set stack-size to 16MB for darwin clang.
2018-02-09 10:23:48 +01:00
chriseth
0084777038
Merge pull request #3470 from ethereum/circle
Run regular x86 build via circle.
2018-02-09 10:11:09 +01:00
chriseth
4777fefc09 Store test results. 2018-02-09 00:36:05 +01:00
Alex Beregszaszi
96fe589f3c Use removeEmptyBlocks helper in FunctionHoister 2018-02-08 22:44:21 +00:00
chriseth
55bffcc758 Run regular x86 build via circle. 2018-02-08 17:35:08 +01: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
7dd99a62c5 Try something else. 2018-02-08 15:26:23 +01:00
Alex Beregszaszi
63fb319db3
Merge pull request #3236 from ethereum/inliner
Expression Inliner
2018-02-07 23:48:00 +00:00
chriseth
c9a032a1e2 Larger stack for nodejs when building via emscripten. 2018-02-07 20:27:16 +01:00
chriseth
9429e18dda Fix tests for old precompiler. 2018-02-07 19:23:47 +01:00
chriseth
c961a3079d Turn simplification rule tuple into struct. 2018-02-06 22:51:30 +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
65c31ecaeb Remove recursive call to simplify with reversed arguments.
(We now have explicit rules for that).
2018-02-06 22:51:30 +01:00
chriseth
295f8c07ad Explicitly add reversed operands for commutative operations. 2018-02-06 22:51:30 +01:00
chriseth
9eea3f29ba Expression simplifier. 2018-02-06 22:51:30 +01:00
chriseth
591813638e Explanation of expression simplifier. 2018-02-06 22:51:30 +01:00
chriseth
b8074cdf78 Add flag to indicate whether it can be applied to expressions with side-effects. 2018-02-06 22:51:30 +01:00
chriseth
491d6d3e0c Move out the rule list. 2018-02-06 22:51:30 +01:00
chriseth
d7863e2054 Test about recursively calling functions. 2018-02-06 14:50:39 +00:00
chriseth
3960f4184d Rename expression inliner. 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
33abdfab76 Inlinable function filter. 2018-02-06 14:48:47 +00:00
Alex Beregszaszi
d786d65243
Merge pull request #3332 from ethereum/elimination_descirption
Rematerialisation step.
2018-02-06 14:40:41 +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
88a5d152d0 Introduce struct for scopes. 2018-02-06 12:38:32 +01:00
chriseth
773be40c19 Reassign test for remat. 2018-02-06 12:38:32 +01:00
chriseth
2b6a7665ee Refactor data flow analysis out of 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
chriseth
016fb18ef8 Rematerialisation. 2018-02-06 12:31:42 +01:00
chriseth
d400c44007 Description of variable eliminator. 2018-02-06 12:30:03 +01:00
chriseth
6b917eb528
Merge pull request #3351 from ethereum/remove_unused
Remove unused variables and functions
2018-02-06 12:08:59 +01:00
chriseth
0b8060648e Add comments to UnusedPruner 2018-02-06 10:15:41 +00: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
Alexander Arlt
d9c51f9ca1 Set stack-size to 16MB for darwin clang.
By default Apple's clang defines a stack size of 8MB, some tests require
more.
2018-02-05 22:15:05 +01:00
chriseth
b0407cfac0 Unused variable and function remover. 2018-02-05 16:43:39 +00:00
chriseth
9c85589122 Utility to remove empty blocks. 2018-02-05 16:43:39 +00:00
chriseth
3c8b777b9b References counter. 2018-02-05 16:43:39 +00:00
chriseth
5437457f46
Merge pull request #3455 from ethereum/codesizemetric
Code size metric.
2018-02-05 17:12:55 +01:00
Alex Beregszaszi
c696803f0b
Merge pull request #3453 from ethereum/chriseth-patch-1
Remind authors of best practices.
2018-02-04 13:08:55 +00:00