Commit Graph

89 Commits

Author SHA1 Message Date
Martin Blicha
29041c8101 Remove ReasoningBasedSimplifier from libyul
Due to a design decision to move away from a bundled SMT solver,
ReasoningBasedSimplifier in its current form cannot be use any longer.
This is a necessary step to allow a unified way to call solvers using
only SMTLIB interface.

Since this optimization pass has always been marked as highly
experimental and never turned on by default, it should be OK to remove
it.
2023-06-28 14:38:36 +02:00
Alexander Arlt
c5673278a7 Remove EWASM backend. 2023-05-11 10:56:55 -05:00
Joshua Quinones
e1a59397c6 Renamed AssemblyStack to YulStack
All files, references, variables, comments, etc. were renamed to YulStack.
2022-04-08 20:28:55 +02:00
chriseth
4f02be110c Unused store eliminator. 2022-03-10 18:25:28 +01:00
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