Commit Graph

9990 Commits

Author SHA1 Message Date
Alex Beregszaszi
69e2f497ba
Merge pull request #3474 from ethereum/circle2
Split emscripten circle job into build and test.
2018-02-12 10:13:27 +00:00
chriseth
49d867d27b
Merge pull request #3484 from federicobond/fix-segfault
Fix segfault with undeclared array types
2018-02-12 10:40:18 +01:00
Federico Bond
75a3a707a2 Fix segfault with undeclared array types 2018-02-11 21:40:41 -03:00
chriseth
d7e5cc3f97 Pretty-print constants in simplifier. 2018-02-09 19:00:40 +01:00
chriseth
d84c9e148b Generic pretty-printed numbers.. 2018-02-09 19:00:40 +01:00
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