579 Commits
Author SHA1 Message Date
Christian Parpart dc2adb3d9d Assembly: Removing EVMDialect::looseAssemblyForEVM(). 2019-10-25 15:01:26 +02:00
Christian Parpart fdbbf75e78 Assembly: Removing some more strict-assembly syntax from parser. 2019-10-25 15:01:26 +02:00
Christian Parpart e23998fc6e Assembly: Remove Label instruction. 2019-10-25 15:01:25 +02:00
Christian Parpart 5e8d348f66 Assembly: Remove StackAssignment instruction. 2019-10-25 15:01:25 +02:00
chriseth f399d8415f Fix layout for text conversion. 2019-10-23 16:43:29 +02:00
chriseth f8ade0122a Remove label from expression and add br_if. 2019-10-17 13:15:18 +02:00
chriseth 0657aff937 Remove continue from wasm. 2019-10-17 13:15:17 +02:00
chriseth 45705b0e29 Debug optimizer steps. 2019-10-16 14:06:18 +02:00
chriseth 9ce1ca2340 Refactor Optimiser Steps Interface. 2019-09-24 14:52:01 +02:00
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