Commit Graph
93 Commits
Author SHA1 Message Date
chriseth 607bf24afe Merge pull request #7386 from ethereum/060-strict-inline-assembly
Defaulting to strict inline assembly (instead of loose)
2019-10-28 12:48:58 +01:00
Christian Parpart 3c1d12b16c Assembly: Remove errorTypeForLoose property from AsmAnalyzer. 2019-10-25 15:01:26 +02:00
Christian Parpart dc2adb3d9d Assembly: Removing EVMDialect::looseAssemblyForEVM(). 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 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 9ce1ca2340 Refactor Optimiser Steps Interface. 2019-09-24 14:52:01 +02:00
chriseth 4f80117eef Use builtin iszero for for loop condition rewriting. 2019-09-12 10:26:16 +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 35ca6ef5ed Merge pull request #7079 from ethereum/moreWorkOnEWasmExternals
Add eWasm externals.
2019-07-16 14:51:43 +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 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 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 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 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 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
chriseth 6cb6fe35ef Make Yul optimizer not fail for wasm. 2019-06-17 18:42:47 +02:00
chriseth a3f721bbcc Merge pull request #6583 from ethereum/reset_yulstringrepo
Reset YulStringRepository regularly
2019-05-28 14:20:53 +02:00
Bhargava Shastry dbae0fa939 Reset Yul string repository before each compilation. 2019-05-28 13:12:39 +02:00
chriseth afe887adc1 Split MovableChecker and introduce SideEffectsUpToMSize. 2019-05-28 12:54:32 +02:00
chriseth 9a00729ce7 Provide dialect to Parser and InlineAssembly AST nodes. 2019-05-23 00:24:58 +02:00
chriseth 1dc15d5864 Modify parser and optimizer. 2019-05-20 17:32:56 +02:00
chriseth 46d9df7574 Add EVM opcodes as builtins. 2019-05-20 16:46:31 +02:00
chriseth 003c170989 Add EVM instructions as builtin functions. 2019-05-20 16:46:31 +02:00
chriseth 0731abd3f6 Merge pull request #6782 from ethereum/makeVectorEWasmCodeTransform
Use make_vector in EWasmCodeTransform.
2019-05-20 13:07:56 +02:00
Daniel Kirchner 39670abe4d Use make_vector in EWasmCodeTransform. 2019-05-17 14:13:43 +02:00
chriseth 4bdb981224 Make dialect const& and allocate single instances statically. 2019-05-17 12:54:24 +02:00
chriseth 570db164c9 Make Dialect const. 2019-05-16 21:51:54 +02:00
chriseth 9a387380b3 Move generation of builtin functions to helper. 2019-05-16 21:51:54 +02:00
chriseth 7de150924c Extract subIDs from Dialect to allow it being const. 2019-05-16 21:51:54 +02:00
chriseth e8a88b13e4 Introduce side-effect-free as relaxed version of movable. 2019-05-16 12:30:05 +02:00
Andrey Bronin 4eb37fe631 fix warning in GCC 9.1: redundant move in return statement 2019-05-14 17:44:28 +03:00
chriseth 3f55b52a88 Unify suffixes. 2019-05-09 17:07:18 +02:00
chriseth eaee4412da Implement word size transform for if. 2019-05-09 16:55:39 +02:00
chriseth 7ab8cc60c9 Merge pull request #6556 from ethereum/wasmCodeTransform
Prototype for Wasm code transform
2019-05-07 17:48:48 +02:00
mingchuan f7ccdb6447 Implement WordSizeTransform
This transformation turns every u256 variable into four u64 variable.
Purpose is to transpile EVMDialect yul to WasmDialect yul.
2019-05-03 01:51:56 +08:00
chriseth 01d1d08fea Implement switch. 2019-05-02 18:39:54 +02:00