Alexander Arlt
d0eeca8014
Fix CompilerStack::loadMissingSources()
...
- FatalError Exception was not caught
- fixes #8102
2020-02-12 11:22:11 -05:00
Daniel Kirchner
df0873d138
Implement calldata arrays for Yul IR
2020-02-12 14:00:29 +01:00
Daniel Kirchner
3c9f18b749
Use IRVariable's in IR code generation and implement tuples.
2020-02-12 12:36:14 +01:00
Daniel Kirchner
e786650bef
Merge pull request #8274 from ethereum/structRecursionMapping
...
Move mapping key checks to ReferencesResolver and make errors fatal.
2020-02-12 11:19:07 +01:00
chriseth
0e100e7e7e
Merge pull request #8267 from ghallak/prune-unnecessary-funcs
...
[Yul] Prune functions that call each other but are otherwise unreferenced
2020-02-12 11:09:27 +01:00
Gaith Hallak
24d6702986
[Yul] Prune functions that call each other but are otherwise unreferenced
2020-02-11 20:39:32 +03:00
Mathias Baumann
80bd0f47cc
Unify optimize yul code in CompilerContext/ContractCompiler
2020-02-11 13:55:47 +01:00
Mathias Baumann
1a3998648c
Run yul optimizer on user code without refs
2020-02-11 13:55:47 +01:00
Daniel Kirchner
9c3151748e
Move mapping key checks to ReferencesResolver and make them fatal.
2020-02-11 13:35:23 +01:00
Bhargava Shastry
79f1917422
yul proto fuzzer: Refactor dataoffset/size specification
2020-02-11 13:58:36 +05:30
chriseth
d033c2f767
Merge pull request #8178 from ethereum/internal_revert_strings
...
Internal reverts with reason in debug mode
2020-02-10 17:35:41 +01:00
chriseth
db2eece7fc
Merge pull request #8273 from ethereum/fix-8271
...
yul proto fuzzer: Support boolean literal generation
2020-02-10 17:35:09 +01:00
Bhargava Shastry
59e7206c8f
yul proto fuzzer: Support boolean literal generation
2020-02-10 20:48:29 +05:30
Leonardo Alt
36928c7a35
Add reason string for internal reverts
2020-02-10 11:57:20 -03:00
a3d4
e3d6a3e44e
Updated expectations.
2020-02-09 17:29:13 +01:00
chriseth
92c9b078b4
Use correct instance of EVMDialectTyped.
2020-02-06 19:46:37 +01:00
chriseth
4ae97f4563
Make dialect option lowercase.
2020-02-06 19:46:37 +01:00
chriseth
f0ebb26f29
Merge pull request #8223 from imapp-pl/yul-phaser-program-reuse
...
[yul-phaser] Program reuse
2020-02-06 13:29:44 +01:00
Daniel Kirchner
e07274a96f
Disallow libraries as mapping keys.
2020-02-06 09:09:43 +01:00
cameel
e4c7b73897
[yul-phaser] Store already loaded program in Population and make copies when computing fitness
...
- Until now the source code was being parsed during every fitness computation. Now the parsed program is reused and only the optimisation steps are applied each time.
2020-02-06 09:01:10 +01:00
cameel
57fb64d467
[yul-phaser] Make Program copyable by doing a deep copy of the AST in the copy constructor
2020-02-06 09:01:10 +01:00
cameel
33cf4e4769
[yul-phaser] Tests for Population class
2020-02-05 18:13:30 +01:00
cameel
ccaff1b08e
[yul-phaser] Tests for random number generators
2020-02-05 18:13:30 +01:00
cameel
24d63a93cf
[yul-phaser] Tests for Program class
2020-02-05 18:13:30 +01:00
cameel
bee62cdd9e
[yul-phaser] Tests for Chromosome class
2020-02-05 18:13:30 +01:00
cameel
f8e397b487
[yul-phaser] Create test suite for Chromosome
2020-02-05 18:13:30 +01:00
chriseth
5de3379d82
Merge pull request #8238 from ethereum/yul-syntax-tests
...
Implement yul syntax tests
2020-02-05 15:15:41 +01:00
Mathias Baumann
fc10e701fc
Implement yul syntax tests
2020-02-05 14:58:34 +01:00
Mathias Baumann
ef07fc3066
Fix formatting
2020-02-05 13:22:15 +01:00
chriseth
0b9c842656
Fix abstract without contract.
2020-02-05 12:14:14 +01:00
chriseth
527c011c2e
Update tests.
2020-02-04 22:51:33 +01:00
chriseth
48933df18d
Add some missing wasm functions.
2020-02-04 22:44:08 +01:00
chriseth
a7624ffc45
Implement i32 builtins for the interpreter.
2020-02-04 22:44:08 +01:00
chriseth
7cca036f4c
Merge pull request #8224 from a3d4/refactor-sourcelocation
...
Replaced SourceLocation::isEmpty() with isValid() and hasText().
2020-02-04 22:23:51 +01:00
alex
3416c029cf
Relaxed assert in AsmJsonImporter::createAsmNode.
2020-02-04 20:37:51 +01:00
chriseth
cafad3770d
Update tests.
2020-02-04 18:27:01 +01:00
chriseth
9f0cef97c2
Specify default type for word size transform externally.
2020-02-04 18:13:37 +01:00
Daniel Kirchner
d882b6fa83
Allow tests to be marked ABIEncoderV1Only.
2020-02-04 17:22:03 +01:00
Daniel Kirchner
af9fc8b634
Mapping getters for Yul IR.
2020-02-04 17:22:03 +01:00
Daniel Kirchner
d3cbfb0c5c
Allow user-defined types as mapping keys in parser and restrict to contracts during type checking.
2020-02-04 17:22:03 +01:00
alex
211227f50b
Modified SourceLocation::hasText() to allow empty source.
2020-02-04 04:19:28 +01: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
alex
e4b18e85e6
Replaced SourceLocation::isEmpty() with isValid() and hasText().
...
The function SourceLocation::isEmpty() had somewhat dual role.
Sometimes it indicates that the SourceLocation is invalid.
Sometimes it means that there is no corresponding source text.
Hence the proposal is to replace it with two functions, isValid() and hasText().
I also removed Scanner::sourceAt(). (Do we have a rule of thumb to remove unused code?)
Since hasText() checks that start and end are valid indices for source, I adjusted a couple of tests to avoid empty source strings.
2020-02-03 08:04:21 +01:00
chriseth
2098dbade9
Merge pull request #7834 from ethereum/docstring-ast-node
...
[natspec] Introduce AST node for structured documentation
2020-01-30 19:04:52 +01:00
Erik Kundt
4a179056ed
Adds JSON import / export for structured documentation.
2020-01-30 18:26:01 +01:00
Erik Kundt
ec27c2e507
Introduce AST node for structured documentation.
2020-01-30 18:25:56 +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
d41e1db74a
Adjust and add commandline tests for yul.
2020-01-29 19:10:53 +01:00