Daniel Kirchner
|
0e5f7efdf1
|
Force disable stack-to-memory in old code generation ABIv2 code.
|
2021-09-14 19:06:32 +02:00 |
|
Daniel Kirchner
|
48ba4e33c6
|
Add optimizer setting for fuzzing.
|
2021-09-14 19:01:12 +02:00 |
|
Daniel Kirchner
|
7e061db811
|
Update tests.
|
2021-09-14 15:54:24 +02:00 |
|
Daniel Kirchner
|
c39e650f35
|
Use index into m_asm->items() to modify free memory push.
|
2021-09-14 15:54:24 +02:00 |
|
Daniel Kirchner
|
6993a89c8b
|
Allow stack limit evasion in system yul routines during old code generation.
|
2021-09-14 15:54:24 +02:00 |
|
Daniel Kirchner
|
1f35d8cc98
|
Compatibility with StackCompressor and StackLimitEvader.
|
2021-09-14 15:53:01 +02:00 |
|
Daniel Kirchner
|
1286e4aae7
|
Enable the new code generator for "system" inline assembly routines.
|
2021-09-14 15:53:01 +02:00 |
|
Daniel Kirchner
|
76f1416d61
|
A first stack shuffling unit test.
|
2021-09-14 15:53:01 +02:00 |
|
Daniel Kirchner
|
c006f15507
|
Enable for IR code generation with stack optimization > homestead.
|
2021-09-14 15:53:01 +02:00 |
|
Daniel Kirchner
|
854b8b65b5
|
Better source locations in Yul ControlFlowGraph and OptimizedEVMCodeTransform.
|
2021-09-14 13:43:16 +02:00 |
|
Daniel Kirchner
|
75c3286311
|
Optimized EVM Code Transform.
|
2021-09-14 13:37:04 +02:00 |
|
Daniel Kirchner
|
dea1b9ec79
|
Merge pull request #11920 from ethereum/update-comment-fixedpoint-example
User defined value type: changes in documentation and test case
|
2021-09-09 17:38:37 +02:00 |
|
Daniel Kirchner
|
8e0ce2d9ba
|
Merge pull request #11911 from ethereum/rematSelectorVariableOrder
Change RematCandidateSelector to not depend on variable name sorting.
|
2021-09-08 19:09:59 +02:00 |
|
Daniel Kirchner
|
c499f27a63
|
Change RematCandidateSelector to not depend on variable name sorting.
|
2021-09-08 15:41:40 +02:00 |
|
Daniel Kirchner
|
d512f7a4fd
|
Merge pull request #11890 from ethereum/stackLayoutGeneratorReportTooDeep
Report stack too deep and conditional stack compression in StackLayoutGenerator.
|
2021-09-08 10:28:30 +02:00 |
|
Daniel Kirchner
|
d0ce6433d9
|
Merge pull request #11894 from ethereum/builtinExpressionVisit
Remove expression visit function from Yul Builtins.
|
2021-09-06 17:49:40 +02:00 |
|
Daniel Kirchner
|
a683ea7646
|
Remove the expression callback from the code generator functions of Yul builtins.
|
2021-09-06 17:07:53 +02:00 |
|
Daniel Kirchner
|
e022ba1bfb
|
Report stack too deep and conditionally aggressively compress stack in StackLayoutGenerator.
|
2021-09-06 09:08:04 +02:00 |
|
Daniel Kirchner
|
646421fee1
|
Allow the Rematerializer to be restricted to an exact set of variables.
|
2021-09-03 15:29:51 +02:00 |
|
Daniel Kirchner
|
8447b32d52
|
Merge pull request #11861 from ethereum/smt_value
[SMTChecker] Support `value` in CHC for external function calls
|
2021-09-03 14:00:21 +02:00 |
|
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 |
|
Daniel Kirchner
|
f4effe966e
|
Merge pull request #11824 from ethereum/yulControlFlowGraphRecursiveCalls
Mark recursive calls in yul control flow graph.
|
2021-09-01 15:18:04 +02:00 |
|
Daniel Kirchner
|
c82f9b9fab
|
Mark recursive calls in yul control flow graph.
|
2021-08-19 16:54:43 +02:00 |
|
Daniel Kirchner
|
729db521a9
|
Merge pull request #11812 from ethereum/addMissingHeader
Add missing header.
|
2021-08-17 16:45:33 +02:00 |
|
Daniel Kirchner
|
f609288cba
|
Add missing header.
|
2021-08-17 16:04:38 +02:00 |
|
Daniel Kirchner
|
9f2885e173
|
Disabling of prepublish hook is no longer needed in setup_solcjs
See https://github.com/ethereum/solc-js/pull/542
|
2021-08-16 16:50:31 +02:00 |
|
Daniel Kirchner
|
4fdf7db02e
|
Merge pull request #11796 from ethereum/smt_fix_develop
Fix SMT test develop
|
2021-08-12 23:15:21 +02:00 |
|
Daniel Kirchner
|
13b4e15e1c
|
Merge pull request #11789 from ethereum/updateReleasePPAScript
Add hirsute to release_ppa script.
|
2021-08-12 13:15:02 +02:00 |
|
Daniel Kirchner
|
f7e9263cea
|
Add hirsute and impish to and remove groovy from release_ppa script.
|
2021-08-11 17:00:02 +02:00 |
|
Daniel Kirchner
|
e28d00a76d
|
Merge pull request #11763 from ethereum/basefee-hasOpcode
Allow basefee as Yul identifier for EVMVersion < london
|
2021-08-11 14:14:21 +02:00 |
|
Daniel Kirchner
|
7b5595b0ad
|
Merge pull request #11775 from ethereum/docs-resources
[DOCS] Update resources.rst
|
2021-08-11 11:43:10 +02:00 |
|
Daniel Kirchner
|
990a072fe5
|
Merge pull request #11782 from ethereum/smt_show_unproved_flag
[SMTChecker] Make show unproved CLI a flag
|
2021-08-11 11:35:24 +02:00 |
|
Daniel Kirchner
|
6ec711b2f0
|
Merge pull request #11667 from ethereum/z3PPAScriptUpdate
Update Z3 version to 4.8.12 in PPA script and add static binary package.
|
2021-08-09 12:06:57 +02:00 |
|
Daniel Kirchner
|
88b5be4224
|
Update Z3 version to 4.8.12 in PPA script and add static binary package.
|
2021-08-09 11:14:03 +02:00 |
|
Daniel Kirchner
|
3d26d47d46
|
Merge pull request #11525 from ethereum/yulControlFlowGraph
Yul control flow graph (OptimizedEVMCodeTransform Step 1)
|
2021-07-15 16:03:39 +02:00 |
|
Daniel Kirchner
|
f3707f2ab0
|
Control flow graph for Yul.
|
2021-07-15 15:24:12 +02:00 |
|
Daniel Kirchner
|
0a6fc89da2
|
Fix negation function name collision.
|
2021-07-08 10:47:29 +02:00 |
|
Daniel Kirchner
|
c341445f8e
|
Maintain disambiguation when generating new functions in StackToMemoryMover.
|
2021-06-28 18:11:57 +02:00 |
|
Daniel Kirchner
|
17d69e2b99
|
Changelog entries.
|
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 |
|
Daniel Kirchner
|
cc0169ad68
|
Function definition collector.
|
2021-06-28 18:11:57 +02:00 |
|
Daniel Kirchner
|
98e7b61a37
|
Merge pull request #11510 from ethereum/removeNondeterministicTest
Remove potentially non-deterministic test case.
|
2021-06-09 15:42:08 +02:00 |
|
Daniel Kirchner
|
284e8a103f
|
Remove potentially non-deterministic test case.
|
2021-06-09 14:42:16 +02:00 |
|
Daniel Kirchner
|
1638b21072
|
Merge pull request #11485 from ethereum/changelogForMod
Changelog entry for modifier fix.
|
2021-06-03 23:25:56 +02:00 |
|
Daniel Kirchner
|
9be57546db
|
Merge pull request #11470 from ethereum/cacheVirtualLookup
Cache functions by name.
|
2021-06-03 11:51:08 +02:00 |
|
Daniel Kirchner
|
324caef53c
|
Merge pull request #11286 from ethereum/evmc8
Upgrade to EVMC 8.0.0 + evmone 0.7.0
|
2021-05-13 18:32:01 +02:00 |
|
Daniel Kirchner
|
3494476abd
|
Merge pull request #11372 from ethereum/evmc8DockerImages
Update evmone and boost download links in docker images.
|
2021-05-13 18:31:52 +02:00 |
|
Daniel Kirchner
|
7073198adb
|
Update docker image hashes in CircleCI config.
|
2021-05-12 16:56:23 +02:00 |
|
Daniel Kirchner
|
98e2b4e5ed
|
Merge pull request #11374 from ethereum/semanticTestVMLoadingAndFailures
Change loading of VMs and error messages during test.
|
2021-05-12 16:47:16 +02:00 |
|
Daniel Kirchner
|
06a9199967
|
Change loading of VMs and error messages during test.
|
2021-05-12 14:48:37 +02:00 |
|
Daniel Kirchner
|
c7f321c12d
|
Update evmone and boost download links in docker images.
|
2021-05-10 13:25:39 +02:00 |
|
Daniel Kirchner
|
5e8abec3e9
|
Merge pull request #11370 from ethereum/fixWindowsBuilds
Change windows boost binary download URL.
|
2021-05-10 12:20:40 +02:00 |
|
Daniel Kirchner
|
452c17c15e
|
Change windows boost binary download URL.
|
2021-05-10 11:30:11 +02:00 |
|
Daniel Kirchner
|
5d070c5bc2
|
Merge pull request #11357 from ethereum/rangesImport
Remove more imports of ranges namespace.
|
2021-05-07 16:21:20 +02:00 |
|
Daniel Kirchner
|
6104ac1cdf
|
Remove more imports of ranges namespace.
|
2021-05-07 15:42:17 +02:00 |
|
Daniel Kirchner
|
c69add1682
|
Remove import of ranges namespace.
|
2021-05-07 13:44:14 +02:00 |
|
Daniel Kirchner
|
f9b23ca845
|
Merge pull request #11247 from ethereum/setValueForCurrentScopeHelper
Add SetValueForCurrentScope helper.
|
2021-04-16 12:42:25 +02:00 |
|
Daniel Kirchner
|
afae46dcb5
|
Add ScopedSaveAndRestore helper.
|
2021-04-16 10:56:56 +02:00 |
|
Daniel Kirchner
|
cb85285ac6
|
Merge pull request #11258 from ethereum/less-verbose-bytecode-comparison-output-in-ci
Less verbose bytecode comparison output in CI
|
2021-04-16 10:22:51 +02:00 |
|
Daniel Kirchner
|
5bebbca273
|
Extract VariableReferenceCounter and StackTooDeep error from EVMCodeTransform.
|
2021-04-13 10:41:16 +02:00 |
|
Daniel Kirchner
|
6fdfd8b62b
|
Fix import path grammar and grammar testing details.
|
2021-04-12 14:54:36 +02:00 |
|
Daniel Kirchner
|
96c8123b6b
|
Use unbounded allocation before returning.
|
2021-04-08 18:37:24 +02:00 |
|
Daniel Kirchner
|
6fc4b04d1d
|
Update test expectations.
|
2021-04-06 13:41:26 +02:00 |
|
Daniel Kirchner
|
35c2eeab68
|
Restrict to only popping, but not reusing argument slots, as well as only freeing up until the return slots are allocated.
|
2021-04-06 13:38:06 +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 |
|
Daniel Kirchner
|
8b3095920a
|
Inline ordinary jumps to small blocks and jumps to terminating control flow.
|
2021-03-24 13:50:24 +01:00 |
|
Daniel Kirchner
|
7170c8ac60
|
Merge pull request #11109 from ethereum/inlinerHeuristicsFix
Fix small bug in inliner heuristics.
|
2021-03-16 14:09:26 +01:00 |
|
Daniel Kirchner
|
d5281877cc
|
Fix inliner heuristics.
|
2021-03-15 20:31:56 +01:00 |
|
Daniel Kirchner
|
8f56c6ad5c
|
Add missing header to Algorithms.h.
|
2021-03-15 13:50:24 +01:00 |
|
Daniel Kirchner
|
1265b39904
|
Merge pull request #11095 from ethereum/fixGcc8
Fix compilation error with GCC 8.
|
2021-03-12 13:25:25 +01:00 |
|
Daniel Kirchner
|
6d19a25705
|
Fix compilation error with GCC 8.
|
2021-03-12 12:28:18 +01:00 |
|
Daniel Kirchner
|
a75424eec4
|
Drop support for evm15 and eip-615.
|
2021-03-09 15:56:03 +01:00 |
|
Daniel Kirchner
|
e99da7e015
|
Extract StackReuseCodegen tests.
|
2021-03-09 15:47:24 +01:00 |
|
Daniel Kirchner
|
acd3084076
|
Fuzzer for stack optimiser/code generator.
|
2021-03-04 17:35:56 +01:00 |
|
Daniel Kirchner
|
5a59fde073
|
Documentation of the inliner in the old optimizer.
|
2021-02-10 09:14:05 +01:00 |
|
Daniel Kirchner
|
cb74a45fd6
|
Add inlining for old optimizer.
|
2021-02-09 19:08:58 +01:00 |
|
Daniel Kirchner
|
8a414d3fab
|
Merge pull request #10838 from ethereum/solc-bin-bytecode-comparison-pr-check-scripts
Bytecode comparison PR scripts for solc-bin
|
2021-02-04 11:40:56 +01:00 |
|
Daniel Kirchner
|
5faefdea65
|
Merge pull request #10893 from ethereum/string2BytesSol2Yul
[Sol->Yul] Fixing string calldata to bytes calldata conversion.
|
2021-02-04 10:33:40 +01:00 |
|
Daniel Kirchner
|
9bf88d5459
|
Merge pull request #10791 from ethereum/committer-date-in-prerelease-txt-on-windows
Use committer date in CI build version strings on Windows
|
2021-01-15 20:12:04 +01:00 |
|
Daniel Kirchner
|
cee8ae75c8
|
Set default build type, if none was specified.
|
2021-01-14 10:22:50 +01:00 |
|
Daniel Kirchner
|
f34d7120a2
|
Add and use mapTuple helper.
|
2021-01-13 17:23:27 +01:00 |
|
Daniel Kirchner
|
b5bb802a93
|
Fix undefined behaviour on 32-bit platforms in swarm hash.
|
2021-01-13 15:52:58 +01:00 |
|
Daniel Kirchner
|
91cdb606a5
|
Some style review suggestions.
|
2021-01-13 12:43:38 +01:00 |
|
Daniel Kirchner
|
804bd8f6dd
|
Switch to new emscripten docker image.
|
2021-01-13 02:22:09 +01:00 |
|
Daniel Kirchner
|
10c742ed0a
|
Update emscripten build to be compatible with new docker image.
|
2021-01-13 01:09:34 +01:00 |
|
Daniel Kirchner
|
d0c8c79888
|
Update emscripten docker image to be based on emscripten 2.0.12 and boost 1.75.0.
|
2021-01-13 00:33:03 +01:00 |
|
Daniel Kirchner
|
4505889481
|
Replace ranges::all_of wrapper by range-v3.
|
2021-01-12 21:44:42 +01:00 |
|
Daniel Kirchner
|
75bed10be5
|
Check for scopes in LoadResolver.
|
2021-01-12 21:41:51 +01:00 |
|
Daniel Kirchner
|
eb035147d2
|
Rephrase erasure condition in DataFlowAnalyzer.
|
2021-01-12 21:40:52 +01:00 |
|
Daniel Kirchner
|
3ed55613ba
|
Add and use cxx20::ranges::all_of.
|
2021-01-12 21:40:52 +01:00 |
|
Daniel Kirchner
|
970e8064bb
|
Clear variables, but not backreferences in popScope.
|
2021-01-12 21:40:52 +01:00 |
|
Daniel Kirchner
|
7fe03cbab0
|
Implement cxx20 polyfill and replace InvertibleMap entirely.
|
2021-01-12 21:40:40 +01:00 |
|
Daniel Kirchner
|
625d402dbb
|
Various optimizations for the DataFlowAnalyzer.
|
2021-01-12 21:39:20 +01:00 |
|
Daniel Kirchner
|
162b1508da
|
Merge pull request #10744 from ethereum/useDropEx
Use drop_exactly.
|
2021-01-12 17:11:54 +01:00 |
|
Daniel Kirchner
|
f5adaa8bbb
|
Add valueOrNullptr and valueOrDefault utilities.
|
2021-01-12 13:13:03 +01:00 |
|
Daniel Kirchner
|
eac2bcf72f
|
Add range-v3.
|
2021-01-11 18:44:55 +01:00 |
|
Daniel Kirchner
|
308549f950
|
Simplify test and add Changelog entry.
|
2021-01-06 11:33:08 +01:00 |
|