Commit Graph
15913 Commits
Author SHA1 Message Date
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
cameel 71dcbf9df5 [yul-phaser] Population: Remove ambiguous default from one of the constructors 2020-02-18 19:38:55 +01:00