chriseth
|
f7fc42d8c3
|
Merge pull request #7826 from ethereum/develop
Merge develop into develop_060
|
2019-11-28 13:37:19 +01:00 |
|
mingchuan
|
db60d123d0
|
[YulOpt] Implement loop-invariant code motion
|
2019-11-28 11:59:29 +01:00 |
|
chriseth
|
a00f824479
|
Merge pull request #7773 from ethereum/develop
Merge develop into develop_060
|
2019-11-21 21:49:22 +01:00 |
|
chriseth
|
a26dd5a428
|
Remove trailing spaces in output.
|
2019-11-21 20:09:03 +01:00 |
|
Leonardo Alt
|
389da5228e
|
Merge remote-tracking branch 'origin/develop' into merge_develop_060
|
2019-11-20 12:27:40 +01:00 |
|
Leonardo Alt
|
be849b3c47
|
Replace boost::variant by std::variant in libyul
|
2019-11-19 17:23:18 +01:00 |
|
chriseth
|
46ac16d25c
|
Merge remote-tracking branch 'origin/develop' into develop_060
|
2019-11-04 19:09:11 +01:00 |
|
chriseth
|
5d6e983be3
|
Conditional simplifier.
|
2019-11-01 14:01:56 +01:00 |
|
Christian Parpart
|
3c1d12b16c
|
Assembly: Remove errorTypeForLoose property from AsmAnalyzer.
|
2019-10-25 15:01:26 +02:00 |
|
chriseth
|
9ce1ca2340
|
Refactor Optimiser Steps Interface.
|
2019-09-24 14:52:01 +02:00 |
|
chriseth
|
7a79742f3d
|
Out of body again.
|
2019-09-17 12:30:15 +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 |
|
Leonardo Alt
|
d131784714
|
Add Load Resolver to Yulopti
|
2019-09-03 15:51:33 +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
|
869d69d293
|
Supply full object to stack compressor and Optimizer Suite.
|
2019-07-10 18:49:42 +02:00 |
|
chriseth
|
e5902c58a4
|
Merge pull request #6777 from sifmelcara/loop-cond-rewriter
[YulOpt] Implement ForLoopConditionIntoBody
|
2019-05-23 12:51:51 +02:00 |
|
mingchuan
|
4ab377eb00
|
Add tests for ForLoopConditionIntoBody
|
2019-05-22 21:51:03 +08:00 |
|
chriseth
|
1dc15d5864
|
Modify parser and optimizer.
|
2019-05-20 17:32:56 +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
|
dd4f9bf1a6
|
Really split structural simplifier.
|
2019-05-13 10:26:57 +02:00 |
|
mingchuan
|
f1374066af
|
Add shortcuts for formatting error information
|
2019-04-10 18:44:45 +08:00 |
|
Mathias Baumann
|
e20acf5d0a
|
Yul Optimizer: Remove dead code
|
2019-04-01 17:16:04 +02:00 |
|
chriseth
|
8514c0bc60
|
Provide max iterations for stack compressor as parameter.
|
2019-03-20 15:07:05 +01:00 |
|
chriseth
|
38cbf8d230
|
Pass "optimize stack allocation" flag down to the stack compressor.
|
2019-03-20 15:03:27 +01:00 |
|
chriseth
|
38831e885d
|
Merge pull request #5855 from ethereum/cp
[Yul] Variable Name Canonicalization
|
2019-03-04 17:58:45 +01:00 |
|
Christian Parpart
|
609855546e
|
Yul: Adds optimizer pass to make variable names suffix-canonical.
|
2019-03-04 17:26:56 +01:00 |
|
chriseth
|
9a949c1bda
|
Set default EVM version to Petersburg.
|
2019-03-04 14:53:00 +01:00 |
|
Alex Beregszaszi
|
ecd246aeb6
|
Support petersburg in evmVersion
|
2019-03-04 14:10:41 +01:00 |
|
chriseth
|
7f5b335b47
|
Make EVM version part of EVM dialect.
|
2019-02-21 21:59:46 +01:00 |
|
chriseth
|
83083d2208
|
Stack compressor.
|
2019-02-11 15:48:29 +01:00 |
|
Daniel Kirchner
|
29f66b2674
|
Stabilize SSAReverser.
|
2019-01-17 21:05:32 +01:00 |
|
Daniel Kirchner
|
6de2d92f20
|
Add SSAReverser to the yul optimiser.
|
2019-01-17 20:37:43 +01:00 |
|
Daniel Kirchner
|
81f24f24e6
|
Add equivalent function combiner as Yul optimizer step.
|
2019-01-15 17:21:03 +01:00 |
|
chriseth
|
5b73c2ae3b
|
Take special functions that require literals into account.
|
2019-01-07 17:23:38 +01:00 |
|
chriseth
|
9222eff08f
|
Make the dialect available everywhere.
|
2019-01-07 16:41:03 +01:00 |
|
chriseth
|
2e9c70add0
|
Use rematerializer if variable is unreferenced or value is "cheap".
|
2019-01-07 14:03:32 +01:00 |
|
chriseth
|
bc22a25a60
|
Remove VarDeclPropagator.
|
2018-12-13 16:51:10 +01:00 |
|
chriseth
|
fb3a0ac1c7
|
Codegen for object access.
|
2018-12-11 19:24:44 +01:00 |
|
Daniel Kirchner
|
1eb60cbb39
|
Add structural simplifier as optimization step for Yul.
|
2018-12-06 18:37:35 +01:00 |
|
chriseth
|
0e8841005c
|
Merge pull request #5554 from ethereum/cp-SourceReferenceFormatter-refactor
[2/3] Refactor SourceReferenceFormatter (split-out data extraction & make use of new SourceLocation knowledge)
|
2018-12-06 14:01:39 +01:00 |
|
Christian Parpart
|
073b03d90c
|
liblangutil: refactor SourceReferenceFormatter, splitting out retrieval and making use of new SourceLocation's CharStream knowledge
|
2018-12-06 14:01:01 +01:00 |
|
Mathias Baumann
|
6e5160efa0
|
Relax assertion about jumps in loose mode
|
2018-12-05 10:25:59 +01:00 |
|
chriseth
|
99db4e3ff4
|
Introduce the concept of builtin functions.
|
2018-12-04 12:06:33 +01:00 |
|
Christian Parpart
|
435f7b3b72
|
liblangutil: Scanner: remove superfluous sourceName field (it's in CharStream already)
Also, ParserBase::sourceName() was dead code. Eliminating it should
increase test coverage (how sneaky) :-)
|
2018-11-30 17:07:17 +01:00 |
|
Christian Parpart
|
22eff22492
|
liblangutil: extends CharStream to know about the respective (file-)name (and adapt codebase to it)
|
2018-11-29 12:45:27 +01:00 |
|
Christian Parpart
|
aeb66905de
|
Moving SourceReferenceFormatter into langutil namespace.
|
2018-11-24 12:33:36 +01:00 |
|
Christian Parpart
|
ec47c8946b
|
Isolating libyul library API into its own namespace yul .
|
2018-11-23 14:29:00 +01:00 |
|