Daniel Kirchner
|
d384664dcb
|
Merge pull request #11615 from ethereum/yulStackLayoutGenerator
Yul Stack Layout Generator (New Code Transform Step 2)
|
2021-09-03 13:13:18 +02:00 |
|
Daniel Kirchner
|
f881409ea4
|
Stack layout generator for new code generation.
|
2021-09-02 17:47:19 +02:00 |
|
chriseth
|
5caa15879b
|
Allow and require use-src to be repeated for each object.
|
2021-09-02 11:29:42 +02:00 |
|
soroosh-sdi
|
b0ce98bcb2
|
Using range-v3 instead of boost
Signed-off-by: soroosh-sdi <soroosh.sardari@gmail.com>
|
2021-08-24 23:50:23 +04:30 |
|
chriseth
|
a467f3205c
|
Tests for knowledge base.
|
2021-08-19 12:51:54 +02:00 |
|
chriseth
|
4b038e3f02
|
Extend knowledge base.
|
2021-08-18 12:42:46 +02:00 |
|
chriseth
|
4480662a58
|
Test.
|
2021-08-16 18:54:33 +02:00 |
|
hrkrshnn
|
43605d9299
|
Tests and Changelog for basefee.
|
2021-08-11 09:51:12 +02:00 |
|
chriseth
|
ae519c1278
|
Merge pull request #11658 from ethereum/removeScannerFromCompilerStack
Remove scanner from compiler stack
|
2021-08-03 17:47:39 +02:00 |
|
chriseth
|
d7a40622e4
|
Merge pull request #11729 from ethereum/build-speedups
header file cleanups
|
2021-08-03 16:44:54 +02:00 |
|
Christian Parpart
|
af18b8afc2
|
Eliminate some unnecessary header inclusions in headers in Scanner.h and SourceReferenceFormatter.h
|
2021-08-03 15:43:17 +02:00 |
|
Christian Parpart
|
6294aa871a
|
Simplify AsmParser::parse(.) usage
|
2021-08-03 15:43:17 +02:00 |
|
chriseth
|
ffc5cfd9a5
|
Remove scanner from compiler stack.
|
2021-08-03 15:43:17 +02:00 |
|
Mathias Baumann
|
2ee6c7be64
|
Print @src and @use-src locations in AsmPrinter
|
2021-08-03 15:29:52 +02:00 |
|
Christian Parpart
|
3755210b7b
|
[libyul] ObjectParser: Enables the use of custom source mapping via @use-src.
|
2021-07-27 16:46:47 +02:00 |
|
Daniel Kirchner
|
f3707f2ab0
|
Control flow graph for Yul.
|
2021-07-15 15:24:12 +02:00 |
|
chriseth
|
f75b55071e
|
Remove CharStream from SourceLocation.
|
2021-07-14 15:12:07 +02:00 |
|
chriseth
|
e5ab68ed71
|
Use unknown file for invalid source index.
|
2021-07-12 17:35:49 +02:00 |
|
Christian Parpart
|
5e4868d5d6
|
Adapted tests due to more precise Yul source locations.
Also added support for -1 source index, referencing original scanner's source location.
|
2021-07-09 11:50:48 +02:00 |
|
Christian Parpart
|
132fa46faa
|
Yul: Adds parsing @src comment in AsmParser to customize the AST's sourcer locations.
|
2021-07-09 11:48:00 +02:00 |
|
Christian Parpart
|
f9f32c910d
|
Fix source location for `if ` statements.
|
2021-07-07 17:37:01 +02:00 |
|
chriseth
|
8d5e82b406
|
Fix source location of builtin function calls.
|
2021-07-06 16:54:29 +02:00 |
|
Kamil Śliwak
|
105b4b4c8b
|
Update tests
|
2021-07-05 13:46:53 +02:00 |
|
Kamil Śliwak
|
703a73f949
|
EVMCodeTransformTest: Disable all non-stack optimizations
|
2021-07-01 16:54:09 +02:00 |
|
Alex Beregszaszi
|
cd60ade472
|
Improve some Yul object and command line tests to avoid using pop() which can be optimized out
|
2021-07-01 16:54:09 +02:00 |
|
Daniel Kirchner
|
c341445f8e
|
Maintain disambiguation when generating new functions in StackToMemoryMover.
|
2021-06-28 18:11:57 +02:00 |
|
Daniel Kirchner
|
bc288aacf5
|
Have the stack optimization in the code transform only reuse slots that are reachable and fix argument slot reuse on functions without return variables.
|
2021-06-28 18:11:57 +02:00 |
|
Daniel Kirchner
|
dfce7b667d
|
Move function arguments and return values.
|
2021-06-28 18:11:57 +02:00 |
|
Kamil Śliwak
|
19fada966f
|
Do not use \b, \v and \f escapes in string literals in generated Yul code
|
2021-06-28 14:13:47 +02:00 |
|
chriseth
|
0df8a38e55
|
Support metadata via IR.
|
2021-06-21 18:20:31 +02:00 |
|
Daniel Kirchner
|
284e8a103f
|
Remove potentially non-deterministic test case.
|
2021-06-09 14:42:16 +02:00 |
|
Djordje Mijovic
|
e404b6e7a6
|
Refactoring yul source locations.
|
2021-05-04 16:05:23 +02:00 |
|
chriseth
|
2cd0bb11dc
|
Merge pull request #11316 from ethereum/verbatimdata-tests
Added a few optimizer tests for Verbatim
|
2021-04-28 10:19:19 +02:00 |
|
hrkrshnn
|
8b4eaeabbf
|
Added a few optimizer tests for Verbatim
|
2021-04-28 09:56:45 +02:00 |
|
Kamil Śliwak
|
43de99dee5
|
Use 'optimizationPreset: none' for objectCompiler tests that rely on things that could get optimized out
|
2021-04-27 14:07:04 +02:00 |
|
Kamil Śliwak
|
a51d72fb89
|
ObjectCompilerTest: Replace 'optimize' setting with 'optimizationPreset'
|
2021-04-27 14:06:56 +02:00 |
|
chriseth
|
f72592549b
|
Merge pull request #11110 from ethereum/issue_10475_isoltest_external_sources
[isoltest] Add support for external sources.
|
2021-04-27 10:54:39 +02:00 |
|
chriseth
|
2b5a24e82e
|
Add function side effects test.
|
2021-04-26 19:56:44 +02:00 |
|
chriseth
|
e2d8005737
|
Add verbatim builtin.
|
2021-04-26 19:56:44 +02:00 |
|
Alexander Arlt
|
481971cbcf
|
[isoltest] Add support for external sources.
|
2021-04-26 08:27:30 -05:00 |
|
Alex Beregszaszi
|
73b804aff4
|
Update tests
|
2021-04-23 15:54:10 +01:00 |
|
Harikrishnan Mulackal
|
f162c484ca
|
Merge pull request #11026 from ethereum/resolve-keccak
Evaluate ``keccak256(a, const)``, when the value at memory location ``a`` is known at compile time and ``const <= 32``
|
2021-04-22 19:18:19 +02:00 |
|
hrkrshnn
|
b599235b8d
|
Skip resolving Keccak if AST contains msize.
Also a refactoring changing `m_optimizeMLoad` to `m_containsMSize`.
|
2021-04-22 18:19:47 +02:00 |
|
hrkrshnn
|
221292c278
|
Tests and changelog
|
2021-04-22 18:19:47 +02:00 |
|
hrkrshnn
|
1f5b874eaf
|
Optimizer context has parameter expectedExecutionsPerDeployment
|
2021-04-22 17:27:57 +02:00 |
|
chriseth
|
a6a3af58a0
|
Add test.
|
2021-04-22 17:23:56 +02:00 |
|
chriseth
|
00fb2d390b
|
Do not replace zeros by return variable.
|
2021-04-22 16:54:02 +02:00 |
|
chriseth
|
e408b708ac
|
Use "for objects" dialect for function side effects test.
|
2021-04-22 14:37:51 +02:00 |
|
chriseth
|
35b651103d
|
Adjust cost of literal zero.
|
2021-04-22 11:42:42 +02:00 |
|
Alex Beregszaszi
|
1be07c2b36
|
Trivial isoltest updates: missing // ---- at the end
|
2021-04-20 17:38:29 +02:00 |
|
Alex Beregszaszi
|
84c05d35f3
|
Trivial isoltest updates: normalized whitespace
|
2021-04-20 17:38:29 +02:00 |
|
chriseth
|
2856f56525
|
Merge pull request #10942 from ethereum/returnSlotAllocation
Delayed return slot allocation.
|
2021-04-08 16:42:07 +02:00 |
|
chriseth
|
f04adde664
|
Allow hex string literals in Yul.
|
2021-04-08 15:03:33 +02:00 |
|
Daniel Kirchner
|
6fc4b04d1d
|
Update test expectations.
|
2021-04-06 13:41:26 +02:00 |
|
Daniel Kirchner
|
4b0f8383a6
|
Reuse function argument slots and defer allocation of return variable slots in EVMCodeTransform.
|
2021-04-06 13:38:05 +02:00 |
|
Daniel Kirchner
|
04a051d380
|
Add test cases for return slot allocation.
|
2021-04-06 13:31:22 +02:00 |
|
hrkrshnn
|
0100f48e05
|
FunctionSpecializer: skip specializing recursive functions
This avoids potential pathological behaviour, like in Ackermann function.
|
2021-03-29 11:02:31 +02:00 |
|
hrkrshnn
|
2c75d1dfe4
|
Isoltest gas update for FunctionSpecializer
|
2021-03-29 11:02:31 +02:00 |
|
hrkrshnn
|
09998ceb0c
|
Tests for FunctionSpecializer
|
2021-03-29 11:02:18 +02:00 |
|
chriseth
|
2c8540b1f9
|
Yul optimizer test updates.
|
2021-03-18 08:42:49 +01:00 |
|
chriseth
|
5c2cd8d553
|
Merge pull request #11073 from ethereum/extractStackReuseTests
Extract StackReuseCodegen tests.
|
2021-03-09 15:52:23 +01:00 |
|
Daniel Kirchner
|
e99da7e015
|
Extract StackReuseCodegen tests.
|
2021-03-09 15:47:24 +01:00 |
|
chriseth
|
40c27ccc22
|
Move AND with constant inside OR.
|
2021-03-09 15:26:19 +01:00 |
|
chriseth
|
7d0ecd9406
|
Merge pull request #10535 from ethereum/removeNumbers
Improve generated names.
|
2021-02-23 13:29:18 +01:00 |
|
Bhargava Shastry
|
91b7d60301
|
Optimiser fuzzer: Disable reasoning based simplifier runs.
|
2021-02-18 10:48:49 +01:00 |
|
chriseth
|
612d8184d1
|
Update tests.
|
2021-02-16 15:50:48 +01:00 |
|
hrkrshnn
|
8167029dc1
|
Updating tests after improving Yul error reporting
|
2021-02-09 16:55:33 +01:00 |
|
chriseth
|
c7d1e1911e
|
Merge pull request #10369 from ethereum/ewasm-polyfill-address-balance
[ewasm] Polyfill: balance, address.
|
2021-02-01 16:19:23 +01:00 |
|
Leonardo Alt
|
40221a90c4
|
Update smtCheckerTests for z3 4.8.10
|
2021-01-26 10:18:52 +01:00 |
|
Alexander Arlt
|
f928107181
|
[ewasm] Polyfill: balance & address: Update Tests.
|
2021-01-19 13:04:45 -05:00 |
|
Bhargava Shastry
|
b3dd83a20b
|
Enable fine grained yul optimizer fuzzing
|
2021-01-19 18:22:59 +01:00 |
|
Bhargava Shastry
|
7c24074909
|
Minor refactor yul optimizer test framework to make it easier to fuzz
|
2021-01-19 11:45:27 +01:00 |
|
Bhargava Shastry
|
02b28b42e8
|
Remove fuzzer mode from yul optimizer unit test framework.
|
2021-01-18 10:27:58 +01:00 |
|
Bhargava Shastry
|
3e7659596e
|
Header cleanup
|
2021-01-18 10:27:58 +01:00 |
|
Bhargava Shastry
|
42c05df0a9
|
Yul optimizer test: Separate test parsing and optimisation
|
2021-01-18 10:27:58 +01:00 |
|
Daniel Kirchner
|
308549f950
|
Simplify test and add Changelog entry.
|
2021-01-06 11:33:08 +01:00 |
|
chriseth
|
d46da8e53c
|
Optimize iszero(sub(x, y)) to eq(x, y).
|
2020-12-22 15:11:48 +01:00 |
|
chriseth
|
8f833f4e8f
|
Merge pull request #10618 from ethereum/develop
Merge develop into breaking.
|
2020-12-16 12:34:41 +01:00 |
|
chriseth
|
5c40fb060c
|
Report illegal tokens in the Yul parser.
|
2020-12-16 12:20:07 +01:00 |
|
Christian Parpart
|
381c63ec99
|
Scanner: Generate error on inbalanced RLO/LRO/PDF override markers.
|
2020-12-15 18:40:51 +01:00 |
|
chriseth
|
6c7e6a3c9f
|
Merge pull request #10615 from ethereum/develop
Merge develop into breaking.
|
2020-12-15 18:34:01 +01:00 |
|
Bhargava Shastry
|
b45a5d7605
|
Asmanalysis: Add test case that demonstrates bug
|
2020-12-15 17:57:19 +01:00 |
|
Bhargava Shastry
|
9b38176c77
|
AsmAnalysis: Fix out of bounds read due to incorrect bounds checking on literal arguments
|
2020-12-15 15:38:59 +01:00 |
|
chriseth
|
f7a7e2928b
|
New test.
|
2020-12-10 18:35:13 +01:00 |
|
Alex Beregszaszi
|
c032ad3379
|
Update tests
|
2020-12-10 17:18:15 +01:00 |
|
chriseth
|
329b8f2a60
|
Merge remote-tracking branch 'origin/develop' into breaking
|
2020-12-07 13:04:14 +01:00 |
|
Bhargava Shastry
|
32fd692c51
|
Yul interpreter: Introduce expression evaluation maximum nesting depth
|
2020-12-04 17:27:03 +01:00 |
|
chriseth
|
d56a7bb89e
|
Merge pull request #10489 from ethereum/develop
Merge develop into breaking.
|
2020-12-03 18:11:12 +01:00 |
|
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
|
9a5902f9d7
|
Merge remote-tracking branch 'origin/develop' into breaking
|
2020-12-02 12:28:02 +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 |
|
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
|
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 |
|
chriseth
|
0a31a6bc36
|
Merge pull request #10258 from ethereum/develop
Merge develop into breaking.
|
2020-11-11 13:36:17 +01:00 |
|
Alex Beregszaszi
|
6f6bcdd526
|
[ewasm] Display custom sections as hex string in the text output
|
2020-11-10 23:48:24 +01:00 |
|