Alex Beregszaszi
7e88ba8da0
Enable the -Wconversion warning
2020-12-08 16:45:24 +00:00
Alex Beregszaszi
a22077f736
Rename AsmData -> AST
...
Also attempt to only include ASTForward where appropriate.
2020-11-25 17:58:02 +00:00
Alex Beregszaszi
3c7f642227
Change readFile/readFileAsString to throw FileNotFound exception
2020-11-04 16:35:19 +00:00
chriseth
9bcc2f1713
Make ReasoningBasedSimplifier available as step.
2020-09-15 15:57:59 +02:00
chriseth
f73fb726af
Reasoning based optimizer.
2020-09-15 15:57:58 +02:00
Sachin Grover
b7adb2aa42
Add SPDX license identifier if not present already in source file
...
Fixes : #9220
2020-07-17 20:24:12 +05:30
Kamil Śliwak
156bfadad3
yulopti: Fix conflict between 'l' in yulopti and OptimiserSuite and make future conflicts less likely
...
- OptimizerSuite uses letters so switching to punctuation marks in yulopti should help.
2020-05-07 17:27:24 +02:00
Kamil Śliwak
d3d1520870
yulopti: Add an error message to assetion triggered when an optimizer step abbreviation conflicts with yulopti controls
2020-05-07 17:21:39 +02:00
Kamil Śliwak
3e9fa7e388
yulopti: Print errors to stderr rather than stdout
2020-05-07 17:16:50 +02:00
cameel
5fbc4d4afa
[yulopti] Automate printing of the usage banner
...
- This now displays internal step names rather than human-readable ones but the internal ones are readable enough and it's not something worth creating another map.
- Options in the banner are now aligned in columns and thus easier to read.
2020-02-03 12:22:47 +01:00
cameel
4129c27495
[yulopti] Replace hard-coded step list with OptimiserSuite's maps
2020-02-03 12:22:47 +01:00
chriseth
2afcfec77b
Merge pull request #8220 from ethereum/remove-var-name-cleaner-from-optimiser-suite-step-list
...
Remove var name cleaner from optimiser suite step list
2020-01-30 17:58:43 +01:00
cameel
ed5210490d
[yulopti] Run disambiguator after VarNameCleaner
...
- This is a trivial change and it makes it safe to use in combination with other step.
2020-01-30 17:35:27 +01:00
chriseth
fbe5bb0cce
Parse default dialect and omit when printing.
2020-01-29 17:25:25 +01:00
cameel
bf5e62931d
fixup! [yulopti] Fix typo: (f)flatten -> (f)latten
2020-01-17 12:38:45 +01:00
cameel
49ca1f8534
[yulopti] Add missing ConditionalUnsimplifier to the list of available optimizations
2020-01-17 08:01:39 +01:00
cameel
4262eebdc4
[yulopti] Fix typo: (f)flatten -> (f)latten
2020-01-17 08:01:31 +01:00
Christian Parpart
345f9928ab
Library libdevcore renamed to libsolutil.
2020-01-07 15:51:50 +01:00
Christian Parpart
ed45b000d1
Adapt tests directory to C++ namespace changes.
2020-01-07 15:51:50 +01:00
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