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 |
|
chriseth
|
07825e90fa
|
substitution
|
2017-12-05 20:12:46 +01:00 |
|