Commit Graph
7274 Commits
Author SHA1 Message Date
Alexander Arlt 385142e805 Rebase. 2023-07-12 17:48:48 +02:00
Alexander Arlt b0d65f83ce [libevmasm] EVM Assembly import: Fix sub-assembly object import. 2023-07-12 17:48:48 +02:00
Alexander Arlt 72b4629118 Add cmdlineTests/asm_json_export_yul_subobjects. 2023-07-12 17:48:48 +02:00
Alexander Arlt 1aac4d1a4c [test] cmdLineTests: add test that checks behavior of non unique sources. 2023-07-12 17:48:48 +02:00
Alexander Arlt 024f55165a [evmasm::Assembly] Fix createAssemblyItemFromJSON VERBATIM value check. 2023-07-12 17:48:48 +02:00
Alexander Arlt b02031302a [test] Assembler: Update tests: Assembly::m_sourceList not a member anymore. 2023-07-12 17:48:48 +02:00
Alexander Arlt d7b78cbf4c Yul to EVM assembly json export: Add simple cmdline tests. 2023-07-12 17:48:48 +02:00
Alexander Arlt 108490e630 [libevmasm] Add support to import evm assembly json. 2023-07-12 17:48:48 +02:00
Alejandro Criado-Pérez 29358806f4 updated protoToAbiv2.h 2023-07-09 01:45:54 +02:00
Bhargava Shastry 5d7533b540 Merge pull request #14227 from ethereum/update-codegen-fuzzer
Stack optimizer fuzzer: Detect stack-too-deep during optimization
2023-07-03 14:52:27 +02:00
Martin Blicha 29041c8101 Remove ReasoningBasedSimplifier from libyul
Due to a design decision to move away from a bundled SMT solver,
ReasoningBasedSimplifier in its current form cannot be use any longer.
This is a necessary step to allow a unified way to call solvers using
only SMTLIB interface.

Since this optimization pass has always been marked as highly
experimental and never turned on by default, it should be OK to remove
it.
2023-06-28 14:38:36 +02:00
Leo 2cf03e3f0b Merge pull request #14344 from pgebal/pgebal/fix-ice-internal-type
Fix error in SMTChecker: Use rich indentifier instead of external identifier to encode member access to functions
2023-06-27 12:31:25 +02:00
Bhargava Shastryandr0qs 87d0c84960 Stack optimizer fuzzer: Detect stack-too-deep during optimization
Co-authored-by: r0qs <deepmarolaest@gmail.com>
2023-06-27 10:32:23 +02:00
Kamil Śliwak 10670d6286 prepare_report: Replace hard-coded optimize setting with selectable presets 2023-06-23 19:00:30 +02:00
Pawel Gebal 826fd90dcf Fix error in SMTChecker: Use rich indentifier instead of external identifier to ecnode member access to functions 2023-06-23 15:24:55 +02:00
Nikola Matić 08897b88c9 Merge pull request #14342 from ethereum/peg-oz-to-specific-commit
Disable failing OZ tests
2023-06-21 16:11:23 +02:00
Nikola Matic edd99b07fe Disable failing OZ tests 2023-06-21 14:50:05 +02:00
Kamil Śliwak dc7cda18f0 Merge pull request #14338 from ethereum/cmdline-tests-exclude-option
Add `--exclude` option to `cmdlineTests.sh`
2023-06-20 13:49:53 +02:00
Kamil Śliwak 3ecf968001 Merge pull request #14328 from ethereum/fix-incomplete-ast-in-standard-json-on-analysis-fail
Fix incomplete AST in standard json on analysis fail
2023-06-19 18:26:33 +02:00
Kamil Śliwak 399457d74b cmdlineTests.sh: Add --exclude option 2023-06-19 16:43:30 +02:00
Kamil Śliwak 4752b31e6c cmdlineTests.sh: Rewrite test selection to use find 2023-06-19 16:43:30 +02:00
Pawel Gebal d4be1d9c2f Add --print-smt flag to output SMTChecker SMTLIB code 2023-06-16 14:04:07 +02:00
Kamil Śliwak 712229a5c6 Fix StandardCompiler returning an incomplete AST in Standard JSON in case of an early exit during analysis 2023-06-15 10:50:04 +02:00
Kamil Śliwak f50820fcae Tests checking outputs produced in presence of errors 2023-06-15 10:49:19 +02:00
Daniel 374a6fd50e Merge pull request #14311 from ethereum/StackToMemoryDeterminism
Deterministically choose memory slots for variables during stack-to-memory.
2023-06-14 17:31:32 +02:00
Daniel ca8db58edd Merge pull request #14322 from ethereum/stackLayoutsForUnassignedReturnVariables
Account for unassigned return variables in stack layout generation.
2023-06-14 17:30:57 +02:00
Kamil Śliwak e45e6cc31d CLI tests for metadata output 2023-06-14 16:04:33 +02:00
Kamil Śliwak e6b1f5ccee cmdlineTest.sh: Remove compiler version from metadata in Standard JSON output as well 2023-06-14 16:04:33 +02:00
Kamil Śliwak 4e113820c9 Merge pull request #14321 from ethereum/fix-bash-syntax-error-on-expectation-update-in-cli-tests
Fix Bash syntax error that shows up in CLI test output when updating expectations
2023-06-14 16:03:40 +02:00
Kamil Śliwak e87333f20f More CLI tests for --stop-after parsing 2023-06-14 14:22:38 +02:00
Kamil Śliwak f8a1af8bd5 CommandLineParser: Fix some outputs not being properly disallowed with --stop-after parsing 2023-06-14 14:22:38 +02:00
Kamil Śliwak f4217bdc2c Fix Bash syntax error that shows up in CLI tests when updating expectations 2023-06-14 14:22:10 +02:00
Daniel Kirchner aa01223398 Account for unassigned return variables in stack layout generation. 2023-06-14 11:43:46 +02:00
r0qs 28573dc71b Workaround open-zeppelin expectRevertCustomError bug 2023-06-14 09:49:38 +02:00
Daniel 53c305ea80 Merge pull request #14310 from ethereum/moreRobustSemanticsTests
Do not let low-level semantic test calls depend on a well-defined contract ABI.
2023-06-12 17:32:21 +02:00
Daniel Kirchner b7abd9bba4 Deterministically choose memory slots for variables independently of names that may depend on AST IDs. 2023-06-12 17:28:01 +02:00
Kamil Śliwak b1a773be2f IRGenerator: Leave IR optimization up to the caller to avoid unnecessarily doing it twice 2023-06-07 19:44:40 +02:00
Kamil Śliwak 3aaa207162 Enable unoptimized presets in those external tests where they now pass 2023-06-07 16:45:45 +02:00
Daniel Kirchner 0ea06e1c71 Do not let low-level semantic test calls depend on a well-defined contract ABI. 2023-06-07 13:40:14 +02:00
Kamil Śliwak 5e32a728fe Update test expectations 2023-06-07 12:13:39 +02:00
Kamil Śliwak 25be38905f YulStack: When Yul optimization is not requested, run Yul optimizer with a minimal sequence instead of disabling it 2023-06-07 12:13:38 +02:00
Kamil Śliwak 8e35e8dd8e Command-line tests checking behavior of msize without optimizer 2023-06-07 12:12:00 +02:00
Kamil Śliwak 7ab730d410 Update tests that would become ineffective with minimal optimizations applied 2023-06-07 12:12:00 +02:00
Kamil Śliwak 64ef9d581b Command-line test for equivalence of optimizer options on the CLI and in Standard JSON 2023-06-07 10:29:45 +02:00
Kamil Śliwak e6716e3208 Helpers for removing decorations form solc output 2023-06-07 10:29:45 +02:00
Kamil Śliwak c7372f3f22 Merge pull request #14268 from ethereum/resurrect-yul-optimizer-cli-options
Resurrect Yul optimizer CLI options
2023-06-07 10:28:16 +02:00
Nikola Matic 47969adf91 Experimental standard library
Change import syntax and cover with tests
2023-06-06 17:16:23 +02:00
Kamil Śliwak 2769bb52f6 Make --optimize-yul work again 2023-06-06 09:54:07 +02:00
Kamil Śliwak 42a068b449 CommandLineParser: Store the state of EVM assembly and Yul optimizer explicitly
- Does not change the meaning of CLI options, just the way we map them to internal variables.
2023-06-06 09:54:07 +02:00
Pawel Gebal f15b826431 Add optional bounds to unroll loops in BMC model checker 2023-06-02 18:32:38 +02:00