Kamil Śliwak
afb8fb4927
Create libraries for yul-phaser and solc to avoid compiling their sources again for soltest
2021-06-22 17:47:45 +02:00
Alex Beregszaszi
44e35e0652
Fix compilation errors with GCC 11
2021-05-17 11:35:07 +01:00
hrkrshnn
1f5b874eaf
Optimizer context has parameter expectedExecutionsPerDeployment
2021-04-22 17:27:57 +02:00
Mathias Baumann
e197ebbdd1
Replace TypePointer
with Type const*
2021-03-23 11:47:19 +01:00
chriseth
806453aca9
Merge remote-tracking branch 'origin/develop' into breaking
2020-12-08 21:00:09 +01:00
Alex Beregszaszi
7e88ba8da0
Enable the -Wconversion warning
2020-12-08 16:45:24 +00:00
chriseth
a3c5d37d02
Merge remote-tracking branch 'origin/develop' into breaking
2020-12-07 17:13:48 +01:00
Alex Beregszaszi
1e2bfbd6b2
Enable the -Wextra-semi warning
2020-12-04 17:21:19 +01:00
chriseth
9a5902f9d7
Merge remote-tracking branch 'origin/develop' into breaking
2020-12-02 12:28:02 +01:00
chriseth
c193ce6c07
Rename SourceReferenceFormatterHuman.
2020-12-01 16:09:46 +01:00
Alex Beregszaszi
1dedba8538
Only use SourceReferenceFormatterHuman
2020-12-01 16:09:46 +01:00
Alex Beregszaszi
a22077f736
Rename AsmData -> AST
...
Also attempt to only include ASTForward where appropriate.
2020-11-25 17:58:02 +00:00
Mathias Baumann
dd81d05559
Make annotations `SetOnce
or
optional
` where feasible
2020-09-22 17:38:21 +02:00
Kamil Śliwak
d75f0ba437
[yul-phaser] Chromosome: Make it possible to use genes that do not correspond to existing optimiser steps
2020-09-14 16:17:39 +02:00
Kamil Śliwak
47f5ee42c9
[yul-phaser] isFitter(): Switch from toString() to genes() to make chromosome comparisons a tiny bit faster
...
- toString() uses a stream for conversion while genes() returns a direct reference to the string, without copies in between. The speed up is very small compared to the improvement from switching to storing a string of abbreviations instead of a vector of step names inside chromosomes but there's basically no downside to this change so it's still worth it.
2020-09-11 23:09:51 +02:00
Kamil Śliwak
952a9c6115
[yul-phaser] Chromosome: store step abbreviations instead of full names
2020-09-11 22:05:56 +02:00
Kamil Śliwak
2a707e7685
[yul-phaser] Chromosome: Add stepsToGenes() and genesToSteps()
2020-09-11 22:05:56 +02:00
chriseth
50c3daf693
Merge pull request #9255 from ethereum/solidity-upgrade-constructor
...
[BREAKING] solidity-upgrade: added module to remove visibility of constructors
2020-07-21 13:24:39 +02:00
chriseth
9be5ed1220
Merge remote-tracking branch 'origin/develop' into breaking
2020-07-21 11:35:28 +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
Harikrishnan Mulackal
6b435b2192
solidity-upgrade: added module to remove visibility of constructors
2020-07-08 18:57:20 +05:30
chriseth
8155ad2187
Merge remote-tracking branch 'origin/develop' into breaking
2020-06-15 17:11:41 +02:00
a3d4
51e64fe0b1
Add error IDs to console output
2020-06-10 13:27:25 +02:00
chriseth
6b3171c38b
Merge remote-tracking branch 'origin/develop' into breaking
2020-06-10 11:30:50 +02:00
Kamil Śliwak
8f55ead48d
yul-phaser: Switch from uint32_t to size_t in SimulationRNG
...
- Also pass the appriopriate type internally to the distribution instead of relying on the default (which is uint32_t)
2020-06-04 17:19:42 +02:00
Djordje Mijovic
a49a127627
yul-phaser: Use ptrdiff_t for iterator arithmetic
2020-06-04 17:17:40 +02:00
chriseth
c8b9d24eba
Merge pull request #9106 from ethereum/develop
...
Merge develop into breaking.
2020-06-03 13:51:28 +02:00
Djordje Mijovic
4b6c322279
Fixing various signedness warnings
2020-06-03 10:37:18 +02:00
chriseth
894478ff8c
Merge pull request #9038 from ethereum/develop
...
Merge develop into breaking.
2020-05-27 15:24:27 +02:00
chriseth
9604174151
Rename asCallableFunction.
2020-05-26 11:35:12 +02:00
chriseth
74b9b094c0
Merge remote-tracking branch 'origin/develop' into HEAD
2020-05-20 17:22:47 +02:00
Kamil Śliwak
1fa689e951
[yul-phaser] ProgramCache::calculateTotalCachedCodeSize(): Replace default weights with ones that better correlate with memory usage
2020-05-20 16:47:23 +02:00
Kamil Śliwak
bff012c76d
[yul-phaser] Change default metric weights so that everything has a cost
...
- The CodeSize::DefaultWeights gives zeros to instructions that it assumes will be optimised out. Obviously, we cannot make this assumption here since phaser is meant to find the best way for the optimiser to work.
2020-05-20 16:47:23 +02:00
Kamil Śliwak
b776021870
[yul-phaser] Command-line options for altering weights used by CodeSize metric
2020-05-20 16:47:23 +02:00
Kamil Śliwak
40dfac7683
[yul-phaser] Require specifying weights for Program::codeSize()
2020-05-20 16:47:23 +02:00
hrkrshnn
4a001d568e
Removed null members from JSON output
2020-05-20 16:56:33 +05:30
chriseth
0be56a0abf
Merge remote-tracking branch 'origin/develop' into breaking
2020-05-12 17:48:53 +02:00
chriseth
3312150d7f
Merge pull request #8878 from ethereum/selecting-yul-optimisation-steps-in-strict-assembly-mode
...
Selecting Yul optimisation steps in strict assembly mode
2020-05-11 16:05:57 +02:00
Alex Beregszaszi
c31a93b3f2
Remove boost::filesystem where it is not needed
...
A two uses in CommonIO remain for the compiler (plus testing/tools use it extensively)
2020-05-11 11:19:11 +01:00
Alex Beregszaszi
338e55be10
Add header guard to two files
2020-05-11 10:44:20 +01:00
Kamil Śliwak
e8aec6de54
More information about --yul-optimizations option in READMEs and docs
2020-05-08 22:29:57 +02:00
Kamil Śliwak
5d4b9022f0
yul-phaser README: --no-optimize-yul options is not really necessary
2020-05-08 22:05:04 +02:00
Harikrishnan Mulackal
92cf61d4f9
fixed compilation tests and upgraded ext. tests branch
2020-05-05 21:11:15 +05:30
Harikrishnan Mulackal
aed6c22318
solidity-upgrade can now change now to block.timestamp
2020-05-05 21:11:15 +05:30
chriseth
e306fdc251
Merge pull request #8741 from ethereum/dot-syntax-upgrade
...
[BREAKING] solidity-upgrade dot syntax for gas and value
2020-04-28 18:29:49 +02:00
hrkrshnn
644ae320a4
Fixed infinite loops
2020-04-27 17:37:18 +05:30
Kamil Śliwak
ee915008bd
[yul-phaser] README
2020-04-24 17:31:50 +02:00
Kamil Śliwak
163e35dd23
[yul-phaser] Tweak default values according to experiment results
...
- Long chromosomes in the intial population are better. Set minimum and maximum to 100.
- The classic algorithm does not work well without elite. 50% performed better but I think it might be too large. Let's set it to 25%.
- Switch to uniform crossover since this is what was used in most experiments and performed well.
2020-04-24 17:31:50 +02:00
Kamil Śliwak
35395a4b9c
[yul-phaser] Phaser: Missing word in --metric-aggregator option description
2020-04-24 17:31:50 +02:00
Kamil Śliwak
424edecd21
[yul-phaser] Phaser: List all available values of enum options in --help
2020-04-24 17:31:50 +02:00