chriseth
|
612d8184d1
|
Update tests.
|
2021-02-16 15:50:48 +01:00 |
|
chriseth
|
f102feaf09
|
Handle "leaf functions" first in full inliner.
|
2020-09-10 17:01:19 +02:00 |
|
chriseth
|
6101bdf7e2
|
Name simplifier.
|
2020-09-10 16:23:29 +02:00 |
|
a3d4
|
3b9e926559
|
Moved "step" from settings to expectations.
|
2020-03-19 13:59:05 +01:00 |
|
chriseth
|
40c0602b5c
|
Do not rematerialize in loops.
|
2020-01-08 09:56:08 +01:00 |
|
chriseth
|
143471fe87
|
Tests.
|
2019-12-17 15:47:32 +01:00 |
|
chriseth
|
bbeb093abf
|
Detect loops in call graph generator.
|
2019-12-03 21:38:20 +01:00 |
|
mingchuan
|
db60d123d0
|
[YulOpt] Implement loop-invariant code motion
|
2019-11-28 11:59:29 +01:00 |
|
chriseth
|
7a79742f3d
|
Out of body again.
|
2019-09-17 12:30:15 +02:00 |
|
chriseth
|
4f80117eef
|
Use builtin iszero for for loop condition rewriting.
|
2019-09-12 10:26:16 +02:00 |
|
chriseth
|
fcfe829534
|
Introduce LiteralRematerializer and thus simplify StructuralSimplifier.
|
2019-09-11 19:50:24 +02:00 |
|
chriseth
|
1c16124a09
|
Constant optimiser for Yul.
|
2019-05-28 11:35:07 +02:00 |
|
chriseth
|
0532a8cef2
|
Format short blocks and loops on a single line.
|
2019-05-08 13:28:00 +02:00 |
|
chriseth
|
bf104f718f
|
Increase code cost for branching statements.
|
2019-04-25 17:08:11 +02:00 |
|
chriseth
|
d20b3c9f9f
|
Function grouper is a requirement for the VarNameCleaner.
|
2019-04-05 13:41:38 +02:00 |
|
chriseth
|
e3d7a34c2c
|
Make yul a setting.
|
2019-04-03 14:58:20 +02:00 |
|
chriseth
|
3f784d6e00
|
Do not prepend function name to all variables when inlining.
|
2019-03-04 18:07:00 +01:00 |
|
Christian Parpart
|
609855546e
|
Yul: Adds optimizer pass to make variable names suffix-canonical.
|
2019-03-04 17:26:56 +01:00 |
|
chriseth
|
5a34743d88
|
Allow optimizer steps to run on FunctionDefinition and group suite.
|
2019-02-11 15:48:29 +01:00 |
|
chriseth
|
12e2187661
|
Some tuning.
|
2019-01-24 23:06:01 +01:00 |
|
Daniel Kirchner
|
fd16585724
|
Undo second SSA transformation and add more tests.
|
2019-01-17 20:37:43 +01:00 |
|
Daniel Kirchner
|
6de2d92f20
|
Add SSAReverser to the yul optimiser.
|
2019-01-17 20:37:43 +01:00 |
|
Daniel Kirchner
|
81f24f24e6
|
Add equivalent function combiner as Yul optimizer step.
|
2019-01-15 17:21:03 +01:00 |
|
chriseth
|
b7ef850955
|
Update tests.
|
2019-01-09 16:57:33 +01:00 |
|
chriseth
|
5b8b016fae
|
Use the block flattener.
|
2019-01-08 16:02:14 +01:00 |
|
chriseth
|
2e9c70add0
|
Use rematerializer if variable is unreferenced or value is "cheap".
|
2019-01-07 14:03:32 +01:00 |
|
chriseth
|
6c6a53a439
|
Do not create unassigned variables.
|
2018-12-13 16:51:10 +01:00 |
|
chriseth
|
b11d413720
|
Consider return variables to be zero initially.
|
2018-12-13 16:02:30 +01:00 |
|
chriseth
|
60a368244a
|
Do not inline into already big functions.
|
2018-12-13 12:12:54 +01:00 |
|
Daniel Kirchner
|
1eb60cbb39
|
Add structural simplifier as optimization step for Yul.
|
2018-12-06 18:37:35 +01:00 |
|
Daniel Kirchner
|
1b8a013d4a
|
Properly recurse in ForLoopInitRewriter
|
2018-12-04 13:36:25 +01:00 |
|
chriseth
|
2e025cf917
|
Update tests.
|
2018-11-13 13:33:33 +01:00 |
|
chriseth
|
b1454433b2
|
Remove variables that go out of scope from data structure.
|
2018-11-12 23:00:37 +01:00 |
|
chriseth
|
faa7b61d76
|
Use map join algorithm for performance.
|
2018-11-12 23:00:37 +01:00 |
|