Commit Graph
57 Commits
Author SHA1 Message Date
mingchuan c4ac825324 Fix wrong template parameter passed to boost::get 2018-05-14 11:30:18 +08:00
Alex Beregszaszi 591c591af0 Do not use solAssert within libjulia 2018-05-09 12:28:49 +02:00
Alex Beregszaszi 7bbfd77e8e Move Julia exceptions to libjulia/Exceptions.h 2018-05-09 12:04:44 +02: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
Alex Beregszaszi 3b241843a7 Use NameDispenser in Disambiguator 2018-05-09 01:45:50 +02:00
chriseth ca9fa053b7 Optimize number of moves. 2018-05-02 17:39:42 +02:00
chriseth 12b47a6e0b Assert function hoister and grouper has been used. 2018-05-02 17:39:42 +02:00
chriseth d3c11a49e5 Move NameDispenser into its own file. 2018-05-02 17:39:42 +02:00
chriseth bf27e86984 Extend pop(0)-remover to any movable expression. 2018-05-02 17:39:42 +02:00
chriseth c7245ba362 Replace pop(0)-statements by empty blocks. 2018-05-02 17:39:42 +02:00
chriseth 4370bf5c40 Inline functions returning nothing. 2018-05-02 17:39:42 +02:00
chriseth 0a366fd453 Full inliner. 2018-05-02 17:39:42 +02:00
chriseth 79c415b104 Use hoisting. 2018-05-02 17:36:10 +02:00
Alexander Arlt f94b793472 Add virtual destructors on base classes. 2018-05-02 13:29:16 +02:00
chriseth a38418f0d9 Common subexpression eliminator. 2018-04-06 15:16:29 +02:00
Leonardo Alt fa0ab6bb21 Fix compilation problem from issue 3530 2018-02-16 16:04:30 +01:00
chriseth d7e5cc3f97 Pretty-print constants in simplifier. 2018-02-09 19:00:40 +01:00
Alex Beregszaszi 96fe589f3c Use removeEmptyBlocks helper in FunctionHoister 2018-02-08 22:44:21 +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 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 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 3960f4184d Rename expression inliner. 2018-02-06 14:50:39 +00:00
chriseth e7ef227226 Function inliner. 2018-02-06 14:50:33 +00:00
chriseth 33abdfab76 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 88a5d152d0 Introduce struct for scopes. 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 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 0b8060648e Add comments to 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 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 eb42720145 Code size metric. 2018-02-02 15:28:41 +01:00
chriseth 95cf9266ab Movability. 2018-01-12 17:48:51 +01:00
chriseth 937b95cbe5 Use explicit visit function for the walker. 2018-01-12 17:21:52 +01:00
Alex Beregszaszi 2cdd789b5d Merge pull request #3297 from ethereum/separate_expression_and_statement
Separate expression and statement
2018-01-04 12:04:19 +00:00
chriseth dbad74ac1b Merge pull request #3279 from ethereum/function_hoister
Function hoister
2017-12-18 15:08:13 +01:00
chriseth 7755e64872 Fixed typos in comment. 2017-12-18 14:56:56 +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 54b6739962 Separate expression and statement. 2017-12-13 12:28:15 +01:00
chriseth 2add4f604b Description of the optimiser and stages. 2017-12-11 16:12:08 +01:00
Yoichi Hirai c2109436de Merge pull request #3287 from ethereum/substitution
Substitution
2017-12-06 11:12:06 +01:00