Commit Graph
698 Commits
Author SHA1 Message Date
chriseth 42b8c98567 Merge remote-tracking branch 'origin/develop' into develop_060 2019-10-31 18:03:25 +01:00
chriseth 04c62e2dc3 Fix local and globals wast functions. 2019-10-31 17:41:31 +01:00
chriseth d605f89167 Merge pull request #7548 from ethereum/fixWasmLayout
Wasm: Fix layout for text conversion.
2019-10-29 17:52:34 +01:00
chriseth f98925d8b6 Remove `leave` at end of function. 2019-10-29 14:32:16 +01:00
chriseth ceb8ee9124 [Yul] leave statement. 2019-10-29 14:32:16 +01:00
chriseth edf1e83fda Merge remote-tracking branch 'origin/develop' into develop_060 2019-10-28 15:21:49 +01:00
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 df729b3084 Make use of C++17 std::optional<> instead of boost::optional<>. 2019-10-28 11:39:30 +01:00
Christian Parpart f45c3124f8 libyul: Small code improvements. 2019-10-25 15:39:44 +02:00
Christian Parpart 2890e4888f AsmAnalyzer: Eliminate dead code. 2019-10-25 15:39:16 +02:00
Christian Parpart ee5826b261 AsmAnalyzer: Improve warnOnInstructions(...) implementation. 2019-10-25 15:01:27 +02:00
Christian Parpart 2390b1bfd4 AsmParser: Fix error handling in function call parsing. 2019-10-25 15:01:27 +02:00
Christian Parpart 7fe0f58445 AsmAnalyzer: Only perform further analysis when still in success state (to avoid false positives) 2019-10-25 15:01:27 +02:00
Christian Parpart a6e34bd441 Assembly: Revive warning on not-yet-available EVM instructions in (strict) inline assembly. 2019-10-25 15:01:26 +02:00
Christian Parpart 044eb2d161 Assembly: Finally removing AsmFlavour::Loose 2019-10-25 15:01:26 +02:00
Christian Parpart 3c1d12b16c Assembly: Remove errorTypeForLoose property from AsmAnalyzer. 2019-10-25 15:01:26 +02:00
Christian Parpart 6659720776 Assembly: Remove checkLooseFeature(...) from AsmAnalyzer. 2019-10-25 15:01:26 +02:00
Christian Parpart 3df5dbbca4 Assembly: Remove some explicit checks for Loose Assembly 2019-10-25 15:01:26 +02:00
Christian Parpart d659dbd49c Assembly: Defaulting Dialect's flavor to Strict 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 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