Commit Graph
320 Commits
Author SHA1 Message Date
mingchuan 520a3ccfff [YulOpt] declare SSA var when control flow joins 2019-09-17 13:22:02 +02:00
chriseth 7a79742f3d Out of body again. 2019-09-17 12:30:15 +02:00
chriseth 2d601a4f23 Merge pull request #7414 from ethereum/refactorSSA
Refactor SSA transform.
2019-09-13 17:55:39 +02:00
chriseth 20bada4c60 Refactor SSA transform. 2019-09-12 20:07:39 +02:00
Daniel Kirchner f86c5da202 Fix SSA reverser in special case of declaration followed by self-assignment. 2019-09-12 18:17:13 +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
Dimitry fd3ae0b24a add chainid and selfbalance to lllc 2019-09-09 23:35:36 +03:00
Bhargava Shastry 09fa31ccc5 yul: Add new optimizer rules for create and create2 builtins 2019-09-09 17:06:56 +02:00
chriseth a8e8eaebcd Fix load resolver and properly take side-effects of user-defined
functions into account.
2019-09-04 19:16:54 +02:00
chriseth edbec012ae Activate load resolver. 2019-09-04 19:16:54 +02:00
chriseth 127bcfc69d Take user function side-effects into account for unused pruner. 2019-09-02 17:41:51 +02:00
chriseth 1c5845e3f2 Side-effects of user-defined functions. 2019-09-02 17:41:51 +02:00
chriseth a2a06d0318 Side effects propagator. 2019-08-15 16:30:05 +02:00
chriseth bb4e7de38c Merge pull request #7234 from ethereum/extractSideEffects
[Yul] Extract side-effects into their own struct.
2019-08-14 16:00:17 +02:00
chriseth 7d30fbdef0 Extract side effects into their own struct. 2019-08-14 15:06:10 +02:00
Bhargava Shastry ddc3ce0eae Avoid aggregate initialization of EWasmToText class 2019-08-14 13:40:46 +02:00
chriseth e396dc7246 Properly set storage and memory after erasing potentially destroyed keys 2019-08-13 18:43:15 +02:00
chriseth 823f06625a Merge pull request #7230 from ethereum/callgraph_generator
Callgraph generator.
2019-08-13 18:04:56 +02:00
chriseth 57125de9ef Remove ContainsMSize from side-effect-collector. 2019-08-13 13:34:33 +02:00
mingchuan 53af4e082e Callgraph generator. 2019-08-13 12:49:32 +02:00
mingchuan 46387eaea2 [Yul] ExpressionInliner: avoid duplicating high cost expressions 2019-08-05 11:48:32 +02:00
dm4 4dc368db3a Fix typo in Yul optimizer 2019-07-22 16:25:47 +08:00
chriseth 15cba9163e Merge pull request #7106 from ethereum/fixMSizeOpt
Do not overwrite allowMSizeOptimization
2019-07-17 18:17:40 +02:00
chriseth 35ca6ef5ed Merge pull request #7079 from ethereum/moreWorkOnEWasmExternals
Add eWasm externals.
2019-07-16 14:51:43 +02:00
chriseth a0a0a34a21 Do not overwrite allowMSizeOptimization 2019-07-16 10:13:18 +02:00
chriseth 6c31a5f3dd Improve formatting. 2019-07-11 17:37:23 +02:00
chriseth e3433aa4eb Add eWasm externals. 2019-07-11 17:37:23 +02:00
chriseth 869d69d293 Supply full object to stack compressor and Optimizer Suite. 2019-07-10 18:49:42 +02:00
chriseth 2a5280faa0 Check availability of data objects already in analysis phase. 2019-07-10 18:49:42 +02:00
Christian Parpart 7ba9537ae1 yul::reindent() to reindent with spaces instead of tabs (width: 4) 2019-07-08 11:43:11 +02:00
chriseth 4976b3ec67 More work on eWasm polyfill. 2019-07-01 13:05:20 +02:00
chriseth d9db193249 Provide meta-information about eWasm builtins. 2019-07-01 13:01:18 +02:00
chriseth e2bfb1a663 Translation of switch statement for wasm backend. 2019-06-27 13:02:35 +02:00
chriseth 8cd197e572 Support "datasize" and "dataoffset" with literals in eWasm. 2019-06-25 19:07:38 +02:00
chriseth 67f11104c1 EVM to eWasm translator. 2019-06-25 19:06:18 +02:00
chriseth a3e816e198 Merge pull request #6807 from ethereum/storageKnowledge
Knowledge about storage and memory.
2019-06-24 14:09:21 +02:00
Christian Parpart 0fd1db533e yul: adds reindent() function to reindent yul source code and makes use of it in IRGenerator.
This function does count curly and round braces and reindents
accordingly the beginning of each line.

It does consider line-comments (// and ///) but not multiline comments (/* ... */).
2019-06-24 12:53:50 +02:00
chriseth 2b979cba38 Also optimize memory. 2019-06-20 18:43:37 +02:00
chriseth 8572600401 Implement knowledge base. 2019-06-20 18:43:37 +02:00
chriseth 1f9d11c644 Knowledge about storage. 2019-06-20 18:43:37 +02:00
chriseth ecab46c707 Finish word size transform. 2019-06-20 10:42:56 +02:00
chriseth d4a6844e64 Merge pull request #6970 from ethereum/ewasmBoilerplate
Some eWasm boilerplate code.
2019-06-19 19:12:48 +02:00
chriseth d9d1c4a312 Merge pull request #6967 from ethereum/nameDisplacer
[Yul] Name displacer.
2019-06-19 18:56:54 +02:00
chriseth b704abdd75 Some eWasm boilerplate code. 2019-06-19 18:21:58 +02:00
chriseth 8edf9e4baf Merge pull request #6666 from vedant1811/issue-5405
Group function definitions
2019-06-19 18:03:40 +02:00
chriseth d7b366ff46 Name displacer. 2019-06-19 14:55:38 +02:00
chriseth 5675b742ec Merge pull request #6960 from ethereum/fixAsmParser
Asm Parser: Properly consider tokens when checking for clashes with builtins.
2019-06-19 10:57:46 +02:00
chriseth cc5045a56e [Yul] Run optimizer on all dialects. 2019-06-19 10:01:16 +02:00
Vedant Agarwala 5d6cbd97df [Yul] Directly jump over a series of function definitions
Implement a AbstractAssembly::setStackHeight function
Update the tests
Update Changelog
2019-06-19 12:40:11 +08:00