Commit Graph
528 Commits
Author SHA1 Message Date
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