Commit Graph

361 Commits

Author SHA1 Message Date
Alex Beregszaszi
7ace66ad59 Remove last boost/variant include 2019-12-03 14:44:56 +01:00
chriseth
ccfc1840a9 Allow assembly stack to translate its source. 2019-11-28 16:15:15 +01:00
chriseth
301215f186
Merge pull request #7461 from sifmelcara/licm
[YulOpt] Implement loop-invariant code motion
2019-11-28 12:00:19 +01:00
mingchuan
db60d123d0 [YulOpt] Implement loop-invariant code motion 2019-11-28 11:59:29 +01:00
chriseth
0bb88dabb7 Restrict usage of plain "new". 2019-11-27 17:55:11 +01:00
chriseth
9e9b643b93 Tune the suite. 2019-11-27 11:56:11 +01:00
chriseth
40b4a876eb
Merge pull request #7778 from ethereum/generic_visitor_cpp17
Rewrite GenericVisitor
2019-11-26 16:09:38 +01:00
chriseth
6361e55e2c
Merge pull request #7785 from ethereum/exception-cleanup
A lot of tiny cleanups to exceptions
2019-11-26 15:55:11 +01:00
Leonardo Alt
2bfa3a7c97 Rewrite GenericVisitor 2019-11-26 15:55:06 +01:00
Alex Beregszaszi
991fbd2956 Replace uses of BOOST_THROW_EXCEPTION with assertThrow
Where appropriate.
2019-11-26 13:07:42 +01:00
Gaith Hallak
4a1e85436b Allow splitting string literals into multiple parts 2019-11-26 14:41:30 +03:00
chriseth
f2c6e47038
Merge pull request #7755 from ethereum/fixWasmTransform
Fix Wasm transform.
2019-11-20 18:27:21 +01:00
chriseth
5deaac0849
Merge pull request #7740 from ethereum/istanbul
Enable support for Istanbul
2019-11-20 10:49:27 +01:00
chriseth
d358af6515 Fix Wasm transform. 2019-11-20 00:02:02 +01:00
Leonardo Alt
be849b3c47 Replace boost::variant by std::variant in libyul 2019-11-19 17:23:18 +01:00
Alex Beregszaszi
840aba8929 Add new gas price for deployed bytecode (EIP2028) 2019-11-19 17:09:18 +01:00
chriseth
e70ef0b820 Simplify patterns. 2019-11-15 00:34:01 +01:00
Mathias Baumann
e35a23bbcc Add `switch (..) to style checker 2019-11-11 17:44:21 +01:00
chriseth
fa02667075 Generalize instructions. 2019-11-07 14:33:34 +01:00
chriseth
e79a32e9d5 Wasm to binary assembly stack. 2019-11-05 20:02:42 +01:00
chriseth
081845d775 EWasm binary transform. 2019-11-05 19:58:55 +01:00
chriseth
62aa20137c
Merge pull request #7600 from ethereum/TypeConversionOnTheFly
[WASM] Inject type conversions on the fly if needed.
2019-11-04 16:20:57 +01:00
chriseth
a964a2026b
Merge pull request #7602 from ethereum/fixWasmTypes
Fix types of wasm builtins.
2019-11-04 13:04:25 +01:00
chriseth
8337de5189 [WASM] Inject type conversions on the fly if needed. 2019-11-01 15:44:39 +01:00
chriseth
8780f2d595
Merge pull request #7604 from ethereum/datasizeOffsetSingle
[WASM] datasize and dataoffset only return a single value.
2019-11-01 15:39:50 +01:00
chriseth
02d5b7c18a Run literal rematerializer before for loop condition out of body. 2019-11-01 14:01:56 +01:00
chriseth
1cc5a03e42 Fix bug in unsimplifier. 2019-11-01 14:01:56 +01:00
chriseth
61a2d44f38 Conditional unsimplifier 2019-11-01 14:01:56 +01:00
chriseth
19ccdfb0b3 No into body. 2019-11-01 14:01:56 +01:00
chriseth
5d6e983be3 Conditional simplifier. 2019-11-01 14:01:56 +01:00
chriseth
e1438b72ad Fix types of wasm builtins. 2019-11-01 13:54:01 +01:00
chriseth
7f1593baa0 [WASM] datasize and dataoffset only return a single value. 2019-11-01 13:52:49 +01:00
chriseth
21227d748c Update polyfill and set name. 2019-10-31 18:51:19 +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
Christian Parpart
df729b3084 Make use of C++17 std::optional<> instead of boost::optional<>. 2019-10-28 11:39:30 +01: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