Alex Beregszaszi
a9be2e4bb8
update tests
2020-12-03 17:15:45 +01:00
Alex Beregszaszi
6c0a3bd043
Ensure that builtins must be executed
2020-12-03 17:15:44 +01:00
Alex Beregszaszi
43353bb6ca
update tests
2020-12-03 17:15:43 +01:00
Bhargava Shastry
e1b44500dd
Yul interpreter: Smaller execution timeout for tests and additional test cases
2020-12-03 10:08:41 +01:00
chriseth
e10712c173
Merge pull request #10454 from ethereum/ewasm-cleanup
...
[ewasm] Clean up some builtins and fix text representation of `select`
2020-12-01 17:34:48 +01:00
Alex Beregszaszi
04cf4867fe
[ewasm] Clean up opcodes/builtins in the binary encoder
...
Also make sure that `i32.drop/i64.drop` won't silently drop its arguments, as they may have side-effects.
2020-12-01 12:50:54 +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
6f6bcdd526
[ewasm] Display custom sections as hex string in the text output
2020-11-10 23:48:24 +01:00
Alex Beregszaszi
e5396e42c3
Add wasm support to libyul/ObjectCompilerTest
2020-11-10 23:24:49 +01:00
Alex Beregszaszi
1536e49b3d
Add more syntax tests for uncovered cases
2020-11-05 10:30:09 +00:00
Christian Parpart
1a9a3b115c
Moving the surplus_input
inline assembly test to yulSyntaxTests.
2020-11-04 12:03:33 +01:00
Christian Parpart
f55844e0f2
InlineAssembly: Extracting remaining tests.
2020-11-04 12:03:33 +01:00
Christian Parpart
3597c8343d
InlineAssembly: Extracting tests for name clashes.
2020-11-04 12:03:33 +01:00
Christian Parpart
55f9eab51f
InlineAssembly: Extracting tests for function definition and calls.
2020-11-04 12:03:33 +01:00
Christian Parpart
f2117b87f7
InlineAssembly: Extracting tests for for-statements.
2020-11-04 12:03:33 +01:00
Christian Parpart
671b1c950e
InlineAssembly: Extracting function expression tests
2020-11-04 12:03:33 +01:00
Christian Parpart
616f03f577
InlineAssembly: Extracting tests for variable declaration
2020-11-04 12:03:33 +01:00
Christian Parpart
cc230ddda3
InlineAssembly: Extracting tests for switch statement
2020-11-04 12:03:33 +01:00
Christian Parpart
6f872dbebf
InlineAssembly: Extracting tests for if statement
2020-11-04 12:03:33 +01:00
Alex Beregszaszi
62028c90f0
[ewasm] Overhaul memory handling in EwasmInterpreter
...
Introduce writeMemory and read/writeBytes32/Address helpers.
Fix read/writeU128/U256 to be little-endian.
Update each instruction to follow the specification.
2020-10-28 11:57:18 +00:00
Christian Parpart
626b7cdb09
Extract yul syntax tests: invalid use of builtin identifiers
2020-10-14 12:18:33 +02:00
Christian Parpart
5d40494ed2
Extract yul syntax tests: function
2020-10-14 12:05:46 +02:00
Christian Parpart
5b799b01ab
Extract yul syntax tests: multiple assignment expression
2020-10-14 11:50:25 +02:00
Christian Parpart
99d18336a0
Extract yul syntax tests: recursion depth
2020-10-14 11:45:54 +02:00
Christian Parpart
b1b2d3ef62
Extract yul syntax tests: switch statement
2020-10-14 11:39:10 +02:00
Christian Parpart
c63265ff03
Extract yul syntax tests: for statement
2020-10-14 11:23:10 +02:00
Christian Parpart
2accbbe251
Extract yul syntax tests: if statement
2020-10-14 10:54:18 +02:00
Harikrishnan Mulackal
2b9f040c48
Optimize exp when base is -1
2020-09-29 17:44:09 +02:00
Daniel Kirchner
7fa9a9d312
Merge pull request #9162 from ethereum/memoryEscalator
...
Memory Escalator
2020-09-21 20:03:38 +02:00
chriseth
306fef334b
Merge pull request #9546 from ethereum/expToShift
...
Optimization rule: Replace exp by shl.
2020-09-21 12:21:47 +02:00
Daniel Kirchner
48f620fb50
Reverse the order of the memory offsets assigned to variables.
2020-09-17 22:13:27 +02:00
Daniel Kirchner
f4b42d1c72
Add stack limit evader.
2020-09-17 22:13:27 +02:00
chriseth
684fff34a9
Replace exp by shl.
2020-09-17 16:06:52 +02:00
chriseth
6e4205e445
Do not run reasoning test if no SMT Solver is available.
2020-09-17 13:43:35 +02:00
chriseth
2d7e28769a
Skip smt optimizer tests if smt is disabled.
2020-09-15 15:57:59 +02:00
chriseth
f73fb726af
Reasoning based optimizer.
2020-09-15 15:57:58 +02:00
chriseth
768e0e96e4
Extract yul syntax tests.
2020-09-15 12:13:30 +02:00
chriseth
552a5f0913
Merge pull request #9314 from ethereum/inlineStartingFromLeaves
...
Handle "leaf functions" first in full inliner.
2020-09-14 20:22:48 +02:00
Harikrishnan Mulackal
b7944477a1
Update UnusedFunctionParameterPruner tests to avoid getting inlined
2020-09-14 17:59:50 +02:00
chriseth
8e39110a30
Remove flag.
2020-09-14 17:35:04 +02:00
chriseth
42c26e0bf5
Inline tiny functions first.
2020-09-10 17:01:20 +02:00
chriseth
f102feaf09
Handle "leaf functions" first in full inliner.
2020-09-10 17:01:19 +02:00
chriseth
6101bdf7e2
Name simplifier.
2020-09-10 16:23:29 +02:00
Harikrishnan Mulackal
974e35d09c
Tests and changelog
2020-09-03 13:15:38 +02:00
Harikrishnan Mulackal
e2fd41f097
Implemented UnusedFunctionArgumentPruner
2020-09-03 13:15:38 +02:00
Alex Beregszaszi
7ef9591e64
Expose hex literal to the Yul parser
...
This allows nicer error messages.
2020-08-28 19:34:52 +01:00
Alex Beregszaszi
26a76c18d4
Add Yul syntax test for every Solidity keyword
2020-08-28 19:34:52 +01:00
Alex Beregszaszi
caa329066e
Do not emit Solidity-only tokens in the Scanner for Yul
...
And simplfiy AsmParser greatly.
2020-08-28 19:34:52 +01:00
Alex Beregszaszi
4e5b403c37
Introduce RightArrow (->) token in the scanner
2020-08-27 12:28:27 +01:00
chriseth
e72afcba47
Fix inlining order to correspond to source order.
2020-08-26 10:20:18 +02:00