Commit Graph

21 Commits

Author SHA1 Message Date
Leonardo Alt
2bfa3a7c97 Rewrite GenericVisitor 2019-11-26 15:55:06 +01:00
Leonardo Alt
be849b3c47 Replace boost::variant by std::variant in libyul 2019-11-19 17:23:18 +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
9ce1ca2340 Refactor Optimiser Steps Interface. 2019-09-24 14:52:01 +02:00
chriseth
fcfe829534 Introduce LiteralRematerializer and thus simplify StructuralSimplifier. 2019-09-11 19:50:24 +02:00
Bhargava Shastry
dbae0fa939 Reset Yul string repository before each compilation. 2019-05-28 13:12:39 +02:00
Daniel Kirchner
05c210772a Make use of make_vector where possible. 2019-05-17 10:08:53 +02:00
chriseth
d9831c8b96 Split structural simplifier. 2019-05-13 10:26:57 +02:00
chriseth
2308904f68 Remove "using namespace" from header and move Instruction to dev::eth. 2019-03-28 13:48:11 +01:00
chriseth
791fde953d First simplify switch with known constant expression. 2019-03-06 21:32:55 +01:00
chriseth
21115f8050 Fix visitation order bug for structural simplifier. 2019-03-06 19:34:07 +01:00
Mathias Baumann
be52aa3181 YulOpt: Move if-branches into functions 2019-03-06 19:01:05 +01:00
Mathias Baumann
3ce7069766 YulOpt: Remove empty cases 2019-03-06 18:39:44 +01:00
Mathias Baumann
433175b19e YulOpt: Add comment about optimization 2019-03-06 18:39:44 +01:00
Mathias Baumann
db3bea7b56 Use reference for so we have to type less 2019-03-06 18:39:44 +01:00
Mathias Baumann
f6e09d6368 YulOpt: Extend StructuralSimplifier to work with all types 2019-03-05 18:39:27 +01:00
Mathias Baumann
c686a65876 Yul Optimizer: reduce switches with const arguments 2019-02-28 15:43:10 +01:00
Christian Parpart
065c3c87af
libyul: changing some AST members from shared_ptr<> to unique_ptr<>
* Some spaces look a little more verbose now, but that shouln't be a problem as it also should raise readability, too.
* This makes some use of return-value-optimizations also.
2019-01-16 14:58:59 +01:00
Daniel Kirchner
4c8f8e9491 Disallow mismatching types in switch cases and detect duplicates by value for number literals. 2019-01-15 16:32:21 +01:00
Daniel Kirchner
a18985800f Fix compilation for certain combinations of boost and gcc. 2018-12-12 07:51:23 +01:00
Daniel Kirchner
1eb60cbb39 Add structural simplifier as optimization step for Yul. 2018-12-06 18:37:35 +01:00