chriseth
45041e5d3a
Allow access to `_slot
` for local storage pointer variables.
2020-02-25 14:28:04 +01:00
Leonardo
44bcff42f5
Merge pull request #8161 from ethereum/yulTypeChecking
...
Yul type checking
2020-02-24 16:05:04 -03:00
chriseth
6697c07db7
Merge pull request #8359 from ethereum/fix-8358
...
[Docker] Upgrade libprotobuf-mutator inside clang docker image
2020-02-24 16:06:22 +01:00
Djordje Mijovic
c891597204
Adding ssa type check and test for that one
2020-02-24 15:05:19 +01:00
Djordje Mijovic
2efda4129b
Adding test for multi return values including bool in evmTyped dialect. Calling zeroLiteralForType from inliner
2020-02-24 15:05:19 +01:00
chriseth
bddbcbe6a4
Use bool type in word size transform.
2020-02-24 15:05:19 +01:00
chriseth
6b272faec0
Some wasm related type fixes.
2020-02-24 15:05:19 +01:00
chriseth
a52305d3bd
Use bool type in conditional simplifier and for loop condition into body.
2020-02-24 15:05:19 +01:00
Djordje Mijovic
a52c9af5b9
Adding vardecl optimization for boolean types
2020-02-24 15:05:19 +01:00
chriseth
e75cace78d
Properly assign types in control flow simplifier.
2020-02-24 15:05:19 +01:00
chriseth
e728cd76b6
Introduce typed named functions to dialect.
2020-02-24 15:05:19 +01:00
chriseth
b9b36cd89e
Properly assign types in ExpressionSplitter.
2020-02-24 15:05:19 +01:00
chriseth
915cb65106
Collect types together with names.
2020-02-24 15:05:19 +01:00
chriseth
2ee748b7f5
Add tests
2020-02-24 15:05:19 +01:00
chriseth
9140bc52c4
Tests for invalid types.
2020-02-24 15:05:18 +01:00
chriseth
6eec968365
Test updates.
2020-02-24 15:05:18 +01:00
chriseth
1f51716227
Type checking for Yul.
2020-02-24 15:05:18 +01:00
chriseth
449a8533ce
Merge pull request #8340 from mijovic/value-keyword-wei
...
TestFileParser: Adding keyword wei for expressing function call value
2020-02-24 15:01:15 +01:00
chriseth
aa6a2b4706
Merge pull request #8326 from imapp-pl/yul-phaser-fitness-metrics
...
[yul-phaser] Fitness metrics
2020-02-24 13:34:58 +01:00
Bhargava Shastry
8b6bfabfee
Docker: Upgrade libprotobuf-mutator inside clang docker image
2020-02-21 20:41:28 +05:30
Djordje Mijovic
dd9009eba6
TestFileParser: Adding new keyword wei for expressing function value
2020-02-21 11:39:37 +01:00
chriseth
cc55daae55
Merge pull request #8089 from ethereum/array-copy
...
[DOCS] Clarify array copying semantics
2020-02-20 16:15:17 +01:00
chriseth
525fe384e2
Merge pull request #8357 from ethereum/fix-8356
...
circleci: Use custom pipeline parameters per docker image revision in config
2020-02-20 15:48:10 +01:00
Bhargava Shastry
98fb71f03f
circleci: Use custom pipeline parameters per docker image revision in config
2020-02-20 11:34:49 +05:30
Kamil Śliwak
e8192e9aa3
[yul-phaser] main: Set the number of optimisation sequence repetitions to 5
2020-02-19 17:26:34 +01:00
cameel
2291cf78ac
[yul-phaser] Population: Add constructors to Individual to simplify initialization
2020-02-19 17:26:34 +01:00
cameel
cef01c961a
[yul-phaser] Population: Keep the individuals always sorted
2020-02-19 17:26:34 +01:00
cameel
76842ac3fd
[yul-phaser] Population: Evaluate fitness immediately when an individual is added or modified
...
- This removes the explicit evaluation phase.
- Fitness is no longer optional in Individual
2020-02-19 17:26:34 +01:00
cameel
66fdc1c374
[yul-phaser] Population: Store fitness metric rather than program directly
...
- In the console app use ProgramSize metric when creating the population.
2020-02-19 17:03:35 +01:00
cameel
85074e7a8a
[yul-phaser] Population: Extract sorting from doSelection() into sortIndividuals() in Population class
2020-02-19 17:03:35 +01:00
cameel
41f36f421d
[yul-phaser] Population: Extract conversion from chromosomes to individuals into a separate function
2020-02-19 17:03:35 +01:00
Kamil Śliwak
930a9918a6
[yul-phaser] ProgramSize: Add an option to repeat the optimisation sequence several times
2020-02-19 16:36:14 +01:00
Kamil Śliwak
751caf0ed3
[yul-phaser] Common: Add ChromosomeLengthMetric
2020-02-19 16:36:14 +01:00
cameel
2238919c76
[yul-phaser] Add ProgramSize metric
2020-02-19 16:36:14 +01:00
cameel
096129fbc4
[yul-phaser] Base class for fitness metrics
2020-02-19 16:36:14 +01:00
chriseth
357c936243
Merge pull request #8325 from imapp-pl/yul-phaser-population-tweaks
...
[yul-phaser] Miscellaneous Population tweaks and improvements
2020-02-19 12:35:10 +01:00
chriseth
8f2c5fc081
Merge pull request #8287 from a3d4/cmdlinetests-mingw
...
Adapted cmdlineTests.sh for MinGW
2020-02-19 11:50:24 +01:00
a3d4
4a29726f76
Adjusted solc path and fixed remapping tests in cmdlineTests.sh under mingw64.
2020-02-19 06:05:11 +01:00
chriseth
ba9f740a8f
Merge pull request #8345 from ethereum/release
...
Merge release back into develop.
2020-02-18 21:36:20 +01:00
chriseth
79bb6b80e8
Merge pull request #8342 from ethereum/bumpVersion064
...
Set version to 0.6.4.
2020-02-18 21:35:57 +01:00
Kamil Śliwak
31d8d5930a
[yul-phaser] Population: Equality operators for populations and individuals
2020-02-18 19:40:37 +01:00
cameel
d9c5e2dc9f
[yul-phaser] Population: Add operator+()
2020-02-18 19:40:37 +01:00
Kamil Śliwak
ecb30c670f
[yul-phaser] Population: Make ordering of individuals with same fitness deterministic and prioritise shorter chromosomes
...
- Before this change the order of chromosomes with the same fitness in a population depended on the initial order set when the population was first created. Now it only depends on the individual.
- The length comparison is not strictly necessary (lexicographical order covers that) but it makes the intention clear and the comparison slightly faster when chromosomes have different lengths.
2020-02-18 19:40:37 +01:00
Kamil Śliwak
40a6669538
[yul-phaser] Population: Extract a function for comparing fitness of individuals
...
- Mostly for readability and convenience. This significantly shortens calls to sort().
- I could define it as Individual::operator< instead but it would be inconsistent with operator== because it does not compare the chromosomes, only fitness. It could result in an unintuitive situation where (a <= b <= a) does not necessarily imply (a == b).
2020-02-18 19:40:37 +01:00
Kamil Śliwak
823e715902
[yul-phaser] Population+Chromosome: Better tests for makeRandom()
2020-02-18 19:40:37 +01:00
Kamil Śliwak
806891f494
[yul-phaser] Population: Customizable chromosome length in makeRandom()
2020-02-18 19:40:37 +01:00
Kamil Śliwak
e771f00971
[yul-phaser] Population: Extract Program construction in tests into a fixture
2020-02-18 19:38:55 +01:00
Kamil Śliwak
d22c59aa0e
[yul-phaser] Chromosome: Add a constructor that reads steps from an abbreviation string
2020-02-18 19:38:55 +01:00
Kamil Śliwak
38f79a1761
[yul-phaser] Common: Add chromosomeLengths()
2020-02-18 19:38:55 +01:00
Kamil Śliwak
837ea96da7
[yul-phaser] Move stripWhitespace() from Program tests to Common
2020-02-18 19:38:55 +01:00