Commit Graph

85 Commits

Author SHA1 Message Date
chriseth
772e100813 Equal store eliminator. 2022-01-03 15:52:05 +01:00
chriseth
bd321b9f1f Rename RedundantAssignEliminator to UnusedAssignEliminator. 2021-11-23 10:38:36 +01:00
chriseth
25c41546ee Function reference resolver. 2021-11-04 16:31:18 +01:00
chriseth
dd8f12760b Introduce forEach for yul ast nodes. 2021-11-04 16:14:43 +01:00
chriseth
9417d6775f Control flow side-effects for user-defined functions. 2021-10-14 17:46:07 +02:00
Christian Parpart
3f08b2269a Adds fmtlib as 3rdparty dependency for easier string composition. 2021-10-11 13:35:08 +02:00
Daniel Kirchner
75c3286311 Optimized EVM Code Transform. 2021-09-14 13:37:04 +02:00
Daniel Kirchner
f881409ea4 Stack layout generator for new code generation. 2021-09-02 17:47:19 +02:00
chriseth
3622b30a1d Refactor RedundantAssignEliminator. 2021-08-13 14:25:14 +02:00
Daniel Kirchner
f3707f2ab0 Control flow graph for Yul. 2021-07-15 15:24:12 +02:00
Daniel Kirchner
cc0169ad68 Function definition collector. 2021-06-28 18:11:57 +02:00
chriseth
fe35512feb Remove EVMAssembly. 2021-06-08 18:41:22 +02:00
hrkrshnn
39b23420ec Extracted the class SMT Solver from ReasoningBasedSimplifier 2021-05-06 11:26:26 +02:00
Alex Beregszaszi
176ce4edf7 Split EthAssemblyAdapter from AsmCodeGen 2021-04-27 11:31:15 +01:00
Daniel Kirchner
5bebbca273 Extract VariableReferenceCounter and StackTooDeep error from EVMCodeTransform. 2021-04-13 10:41:16 +02:00
hrkrshnn
22ebdc7438 Implemented FunctionSpecializer
Optimiser step that specializes the function with its literal arguments.
2021-03-29 11:02:18 +02:00
Alex Beregszaszi
0425936c8a Rename AsmScope* to Scope* 2020-12-18 11:55:17 +00:00
chriseth
d75821e068
Merge pull request #10536 from ethereum/fix-createlinkingfunction-to-cpp
Move the implementation of createLinkingFunction into a cpp file
2020-12-09 17:49:16 +01:00
hrkrshnn
7ea96c5583 Move the implementation of createLinkingFunction into a cpp file 2020-12-09 11:13:27 +01:00
Alexander Arlt
90623d9507 Fix recompilation of polyfills. 2020-12-08 20:02:25 -05:00
Alex Beregszaszi
7e88ba8da0 Enable the -Wconversion warning 2020-12-08 16:45:24 +00:00
Alex Beregszaszi
a22077f736 Rename AsmData -> AST
Also attempt to only include ASTForward where appropriate.
2020-11-25 17:58:02 +00:00
Alexander Arlt
19f764bf65 Split ewasm polyfill functions into different files. 2020-11-17 19:27:44 -05:00
Alex Beregszaszi
1ab6340828 Move AsmJsonImporter from libsolidity to libyul
It is next to AsmJsonConverter now and interdependencies are shrunk.
2020-10-29 14:06:34 +00:00
Daniel Kirchner
f4b42d1c72 Add stack limit evader. 2020-09-17 22:13:27 +02:00
chriseth
f73fb726af Reasoning based optimizer. 2020-09-15 15:57:58 +02:00
chriseth
6101bdf7e2 Name simplifier. 2020-09-10 16:23:29 +02:00
Harikrishnan Mulackal
e2fd41f097 Implemented UnusedFunctionArgumentPruner 2020-09-03 13:15:38 +02:00
chriseth
915cb65106 Collect types together with names. 2020-02-24 15:05:19 +01:00
Gaith Hallak
24d6702986 [Yul] Prune functions that call each other but are otherwise unreferenced 2020-02-11 20:39:32 +03:00
chriseth
123ea0a250 Remove asm flavour. 2020-01-14 17:16:09 +01:00
Christian Parpart
abb9f1eed7 CMake: Renaming devcore static library to solutil (to match source code paths) 2020-01-13 15:52:46 +01:00
Alex Beregszaszi
7effc94f24 Rename EVMToEWasmTranslator to EVMToEwasmTranslator 2019-12-18 16:57:45 +00:00
Alex Beregszaszi
018960ebb1 Rename EWasmObjectCompiler to WasmObjectCompiler 2019-12-18 15:59:31 +00:00
Alex Beregszaszi
cec45a7df5 Rename EWasmCodeTransform to WasmCodeTransform 2019-12-18 15:59:31 +00:00
Alex Beregszaszi
ae7cc58b55 Rename EWasmToText to TextTransform 2019-12-11 12:08:38 +00:00
chriseth
f7fc42d8c3
Merge pull request #7826 from ethereum/develop
Merge develop into develop_060
2019-11-28 13:37:19 +01:00
mingchuan
db60d123d0 [YulOpt] Implement loop-invariant code motion 2019-11-28 11:59:29 +01:00
djudjuu
e437443645 Inline assembly to AST json export 2019-11-13 12:13:22 +01:00
chriseth
081845d775 EWasm binary transform. 2019-11-05 19:58:55 +01:00
chriseth
61a2d44f38 Conditional unsimplifier 2019-11-01 14:01:56 +01:00
chriseth
5d6e983be3 Conditional simplifier. 2019-11-01 14:01:56 +01:00
chriseth
9ce1ca2340 Refactor Optimiser Steps Interface. 2019-09-24 14:52:01 +02:00
chriseth
7a79742f3d Out of body again. 2019-09-17 12:30:15 +02:00
mingchuan
53af4e082e Callgraph generator. 2019-08-13 12:49:32 +02:00
chriseth
67f11104c1 EVM to eWasm translator. 2019-06-25 19:06:18 +02:00
chriseth
2b979cba38 Also optimize memory. 2019-06-20 18:43:37 +02:00
chriseth
1f9d11c644 Knowledge about storage. 2019-06-20 18:43:37 +02:00
chriseth
d7b366ff46 Name displacer. 2019-06-19 14:55:38 +02:00
chriseth
6cb6fe35ef Make Yul optimizer not fail for wasm. 2019-06-17 18:42:47 +02:00