chriseth
|
cc5045a56e
|
[Yul] Run optimizer on all dialects.
|
2019-06-19 10:01:16 +02:00 |
|
Vedant Agarwala
|
5d6cbd97df
|
[Yul] Directly jump over a series of function definitions
Implement a AbstractAssembly::setStackHeight function
Update the tests
Update Changelog
|
2019-06-19 12:40:11 +08:00 |
|
mingchuan
|
13c1409669
|
Add test case that abi.encode nested storage arrays
|
2019-06-19 10:46:47 +08:00 |
|
chriseth
|
56db792ad9
|
Merge pull request #6876 from rocky/recoveringParser1-StandardCompiler
Add parser errorRecovery (including StandardCompiler)
|
2019-06-18 22:40:35 +02:00 |
|
rocky
|
1a7e09ab7a
|
Add errorRecovery boolean to StandardCompiler
|
2019-06-18 15:54:05 -04:00 |
|
chriseth
|
05a67c486e
|
Use "what" in exception reports.
|
2019-06-18 17:34:10 +02:00 |
|
chriseth
|
6cb6fe35ef
|
Make Yul optimizer not fail for wasm.
|
2019-06-17 18:42:47 +02:00 |
|
rocky
|
ca3afea1d7
|
Add Steve Johnson-style parser recovery rules:
SourceUnit = Error $
Block = '{' Error '}'
ContractDefinition = '{' Error '}'
Statement = Error ';'
Co-Authored-By: chriseth <chris@ethereum.org>
|
2019-06-17 14:47:07 +02:00 |
|
chriseth
|
633510eb04
|
Merge pull request #6935 from ethereum/subMaxValueXNotXRule
Add optimization rule SUB(~0, X) -> NOT(X).
|
2019-06-17 14:42:49 +02:00 |
|
chriseth
|
452a1d6aff
|
Merge pull request #6730 from ethereum/generic-for-loop
For loop with generalized init-cond-post
|
2019-06-17 10:50:50 +02:00 |
|
Daniel Kirchner
|
5718072e10
|
Fix comparison opcodes and minor errors in proof scripts.
|
2019-06-14 17:04:50 +02:00 |
|
Daniel Kirchner
|
d3293cf0d0
|
Correctness proof for SUB(NOT(0),X)->NOT(X).
|
2019-06-14 14:08:21 +02:00 |
|
Daniel Kirchner
|
4aa0c9e079
|
Merge pull request #6939 from ethereum/opt_proofs
Move optimization proofs repo to Solidity repo
|
2019-06-14 14:06:59 +02:00 |
|
Bhargava Shastry
|
b5cbb1a3e9
|
For loop with custom init and post blocks and potentially unbounded conditional expression
|
2019-06-14 08:46:28 +02:00 |
|
Daniel Kirchner
|
4d38df6920
|
Set state mutability of function type members `gas and value ` to pure.
|
2019-06-13 18:27:53 +02:00 |
|
Leonardo Alt
|
5089d4ac28
|
Move optimization proofs repo to Solidity repo
|
2019-06-13 17:11:48 +02:00 |
|
Alex Beregszaszi
|
668972bb4e
|
Merge pull request #6930 from ethereum/msvc-SolidityEnd2EndTest-BigObj
Fixes compilation on Visual Studio 2019
|
2019-06-13 01:17:15 +02:00 |
|
Christian Parpart
|
98d852c832
|
Fixes compilation on Visual Studio 2019 (SolidityEndToEndTest.cpp's object file is too large, so we need a special flag to get it still compiling)
|
2019-06-12 23:46:32 +02:00 |
|
Leonardo
|
d2019f49ea
|
Merge pull request #6906 from ethereum/delegatecall_value_msg
Improve error message for delegatecall.value
|
2019-06-12 21:14:54 +02:00 |
|
Daniel Kirchner
|
dfbdb6c007
|
Fix failing command line tests.
|
2019-06-12 19:04:02 +02:00 |
|
Daniel Kirchner
|
2dc405e948
|
Fix command line tests script to properly report errors.
|
2019-06-12 19:03:45 +02:00 |
|
Daniel Kirchner
|
2849169bff
|
Merge pull request #6909 from ethereum/yul-delete-operation
[Sol->Yul] Make IRStorageItem work with dynamic offsets
|
2019-06-12 16:46:00 +02:00 |
|
Daniel Kirchner
|
502d22a26e
|
Merge pull request #6914 from ethereum/boost170
Use imported targets for boost and update emscripten boost to 1.70.
|
2019-06-12 15:26:24 +02:00 |
|
Mathias Baumann
|
9e23d6d05e
|
[Sol->Yul] Compile some tests with yul
|
2019-06-11 17:44:36 +02:00 |
|
Daniel Kirchner
|
91200fdd2e
|
Merge pull request #6925 from ethereum/keccakTests
Some keccak tests.
|
2019-06-11 15:55:09 +02:00 |
|
Daniel Kirchner
|
073777e836
|
Some keccak tests.
|
2019-06-11 15:09:52 +02:00 |
|
Daniel Kirchner
|
ba8ad1a1d9
|
Use the TestCase settings mechanism for object compiler tests.
|
2019-06-11 14:11:27 +02:00 |
|
Daniel Kirchner
|
547173533c
|
Unify parsing of simple test expectations and require lines to start with `// `.
|
2019-06-11 14:05:45 +02:00 |
|
Daniel Kirchner
|
bd1f65d609
|
Merge pull request #6888 from anurag-git/anurag_semantic_test_update
New semantic tests extracted
|
2019-06-11 10:50:10 +02:00 |
|
Anurag Dashputre
|
60332c6469
|
Extract semantic tests for
1. Transaction Status
2. Empty Contract
3. Smoke test for Range
|
2019-06-09 14:46:02 +02:00 |
|
Daniel Kirchner
|
8e20a5e59a
|
Allow extracted semantics tests to run both with and without Yul.
|
2019-06-06 20:19:16 +02:00 |
|
Daniel Kirchner
|
226f8bb64d
|
Use imported cmake targets for boost.
|
2019-06-06 18:49:34 +02:00 |
|
Daniel Kirchner
|
6368cd4c82
|
AsmParser: disallow trailing commas in function call arguments.
|
2019-06-06 13:16:27 +02:00 |
|
Leonardo Alt
|
b7634faa3d
|
Improve error message for delegatecall.value
|
2019-06-06 12:55:12 +02:00 |
|
Leonardo Alt
|
d9ce9cab99
|
[SMTChecker] Use smtlib's implies instead of \!a or b
|
2019-06-04 14:23:44 +02:00 |
|
Bhargava Shastry
|
f57439035a
|
Do not enclose string literal within double quotes before conversion to u256
|
2019-05-29 15:52:31 +02:00 |
|
chriseth
|
c9e2d388b5
|
Merge pull request #6848 from ethereum/invertibleRelation
Implement references using InvertibleRelation as data structure.
|
2019-05-29 13:34:10 +02:00 |
|
chriseth
|
4ee703e6e5
|
Revert "Add Steve Johnson-style parser recovery rules:"
This reverts commit 97f8ee0d1b .
|
2019-05-28 18:09:24 +02:00 |
|
chriseth
|
f9dca1f282
|
Merge pull request #6681 from rocky/recoveringParser1
Add Steve Johnson-style parser recovery rules:
|
2019-05-28 15:36:45 +02:00 |
|
rocky
|
97f8ee0d1b
|
Add Steve Johnson-style parser recovery rules:
SourceUnit = Error $
Block = '{' Error '}'
ContractDefinition = '{' Error '}'
Statement = Error ';'
Co-Authored-By: chriseth <chris@ethereum.org>
|
2019-05-28 15:06:34 +02:00 |
|
chriseth
|
a3f721bbcc
|
Merge pull request #6583 from ethereum/reset_yulstringrepo
Reset YulStringRepository regularly
|
2019-05-28 14:20:53 +02:00 |
|
chriseth
|
2276b567b1
|
Merge pull request #6840 from ethereum/discoverMSize
Only remove msize-modifying instructions if msize is not used.
|
2019-05-28 13:16:55 +02:00 |
|
Bhargava Shastry
|
dbae0fa939
|
Reset Yul string repository before each compilation.
|
2019-05-28 13:12:39 +02:00 |
|
chriseth
|
df96648b1c
|
Do not allow msize in inline assembly if the Yul optimizer is active.
|
2019-05-28 12:54:33 +02:00 |
|
chriseth
|
d7b5ea6761
|
Allow msize optimization only if it is not present.
|
2019-05-28 12:54:32 +02:00 |
|
chriseth
|
c3cdae908d
|
Merge pull request #6767 from ethereum/constantOptimiserForYul
[Yul] Constant optimiser
|
2019-05-28 11:53:04 +02:00 |
|
chriseth
|
b95eebee1c
|
Merge pull request #6822 from ethereum/uninitializedLoadFromStorage
Explicitly turn uninitialized internal function pointers into invalid function when loaded from storage.
|
2019-05-28 11:48:56 +02:00 |
|
chriseth
|
01b6b680f1
|
Merge pull request #6829 from ethereum/solYulDivision
[SolYul] Division.
|
2019-05-28 11:48:20 +02:00 |
|
chriseth
|
cee1340113
|
Add mini-interpreter to check representation.
|
2019-05-28 11:35:07 +02:00 |
|
chriseth
|
1c16124a09
|
Constant optimiser for Yul.
|
2019-05-28 11:35:07 +02:00 |
|
chriseth
|
4061ad0a7b
|
Implement references using InvertibleRelation as data structure.
|
2019-05-27 22:55:59 +02:00 |
|
chriseth
|
7183940e24
|
Merge pull request #6770 from ethereum/isoltest-parser-fix
[isoltest] TestFileParser: Fixes access of iterator at and beyond iterator ends
|
2019-05-27 19:14:35 +02:00 |
|
chriseth
|
fbf189151d
|
[SolYul] Division.
|
2019-05-27 17:53:46 +02:00 |
|
chriseth
|
5b1a984882
|
Explicitly turn uninitialized internal function pointers into invalid function when loaded from storage.
|
2019-05-27 17:26:37 +02:00 |
|
chriseth
|
a600126703
|
Merge pull request #6833 from sifmelcara/fix-struct-array-mapping
Fix assignment of struct containing array of mappings
|
2019-05-27 11:14:28 +02:00 |
|
mingchuan
|
bf8af89bba
|
Fix assignment of struct containing array of mappings
|
2019-05-25 01:33:49 +08:00 |
|
chriseth
|
73d0eb6b7a
|
Modify test to prevent underflow.
|
2019-05-23 21:32:30 +02:00 |
|
chriseth
|
ee7548a339
|
Activate some tests.
|
2019-05-23 21:32:30 +02:00 |
|
chriseth
|
195a7ff61a
|
Merge pull request #6814 from ethereum/yul-delete-operation
[Sol -> Yul] Implement delete for function pointers
|
2019-05-23 16:27:14 +02:00 |
|
Mathias Baumann
|
981983089c
|
[Sol -> Yul] Implement delete for function pointers
|
2019-05-23 15:51:59 +02:00 |
|
chriseth
|
6132f0aea9
|
Merge pull request #6800 from ethereum/skipEmptyDump
Skip empty entries in memory and storage dump.
|
2019-05-23 14:27:44 +02:00 |
|
chriseth
|
3c548a1d76
|
Update tests.
|
2019-05-23 13:17:27 +02:00 |
|
Mathias Baumann
|
81702717b0
|
[Sol -> Yul] Enable function pointer comparison
|
2019-05-23 12:52:50 +02:00 |
|
chriseth
|
e5902c58a4
|
Merge pull request #6777 from sifmelcara/loop-cond-rewriter
[YulOpt] Implement ForLoopConditionIntoBody
|
2019-05-23 12:51:51 +02:00 |
|
chriseth
|
14545852d1
|
Make YulInterpreterTest EVM version aware.
|
2019-05-23 12:42:11 +02:00 |
|
chriseth
|
1ca3edf6a1
|
Remove side-effect-free instructions from the trace.
|
2019-05-23 12:42:11 +02:00 |
|
chriseth
|
3ef03258ec
|
Remove memory logging.
|
2019-05-23 12:42:11 +02:00 |
|
chriseth
|
0291abf10f
|
Merge pull request #6818 from ethereum/alwaysUseBuiltins
Provide builtin functions even in loose assembly mode.
|
2019-05-23 12:29:12 +02:00 |
|
chriseth
|
91312e657b
|
Skip empty entries in memory and storage dump.
|
2019-05-23 12:27:56 +02:00 |
|
chriseth
|
d707a26a90
|
Merge pull request #6809 from ethereum/refactor-ossfuzz-build
[ossfuzz] Refactor build system so that ossfuzz harnesses can be built locally
|
2019-05-23 12:26:44 +02:00 |
|
chriseth
|
7cf51876e2
|
Merge pull request #6812 from ethereum/asmCallvalue
Do not require payable for callvalue instruction.
|
2019-05-23 12:07:06 +02:00 |
|
chriseth
|
90e8594858
|
Update tests.
|
2019-05-23 11:30:12 +02:00 |
|
chriseth
|
9a00729ce7
|
Provide dialect to Parser and InlineAssembly AST nodes.
|
2019-05-23 00:24:58 +02:00 |
|
chriseth
|
1e3878121a
|
Do not inline recursive functions.
|
2019-05-22 18:15:21 +02:00 |
|
mingchuan
|
4ab377eb00
|
Add tests for ForLoopConditionIntoBody
|
2019-05-22 21:51:03 +08:00 |
|
chriseth
|
7506b5752a
|
Do not require payable for callvalue instruction.
|
2019-05-22 11:30:29 +02:00 |
|
Bhargava Shastry
|
804368bb51
|
First commit
|
2019-05-22 10:15:28 +02:00 |
|
Mathias Baumann
|
cbf81b123a
|
Fix new found spelling mistakes and add exceptions
|
2019-05-21 10:59:34 +02:00 |
|
chriseth
|
e324deabd6
|
Merge pull request #6740 from ethereum/unary-ops
[Sol -> Yul] Implement Int/Bool Unary: ++, --, ~, !
|
2019-05-20 18:06:01 +02:00 |
|
chriseth
|
af2bdfd2fa
|
Merge pull request #6793 from ethereum/irCheckedMul
[Sol - Yul] Implement checked multiplication.
|
2019-05-20 17:54:57 +02:00 |
|
Daniel Kirchner
|
b6f4d4e9bc
|
[Sol - Yul] Implement checked multiplication.
|
2019-05-20 17:36:53 +02:00 |
|
chriseth
|
1dc15d5864
|
Modify parser and optimizer.
|
2019-05-20 17:32:56 +02:00 |
|
chriseth
|
46d9df7574
|
Add EVM opcodes as builtins.
|
2019-05-20 16:46:31 +02:00 |
|
Christian Parpart
|
63ae9f1415
|
[isoltest] TestFileParser: Fixes access of iterator at and beyond iterator ends.
|
2019-05-20 16:29:03 +02:00 |
|
Mathias Baumann
|
86000fdcce
|
[Sol -> Yul] Implement unary - , +
|
2019-05-20 16:14:46 +02:00 |
|
chriseth
|
e08f521b7e
|
Merge pull request #6764 from ethereum/smt_fix_tuple_ice
[SMTChecker] Fix ICE in unsupported function calls with multi return values
|
2019-05-20 15:18:11 +02:00 |
|
Mathias Baumann
|
7dbcb80523
|
[Sol -> Yul] Implement Int/Bool Unary: ++, --, ~, !
|
2019-05-20 11:43:12 +02:00 |
|
chriseth
|
4bdb981224
|
Make dialect const& and allocate single instances statically.
|
2019-05-17 12:54:24 +02:00 |
|
chriseth
|
570db164c9
|
Make Dialect const.
|
2019-05-16 21:51:54 +02:00 |
|
Daniel Kirchner
|
e20fbd388b
|
Merge pull request #6779 from ethereum/gasCostFix
Fix gas cost test.
|
2019-05-16 21:48:05 +02:00 |
|
chriseth
|
315f66fc93
|
Merge pull request #6771 from ethereum/fixConstructorABIV2
Fix handling of structs of dynamic size as constructor parameters.
|
2019-05-16 20:53:16 +02:00 |
|
Daniel Kirchner
|
95ed4daf20
|
Subtract bzzr0 data cost from used gas in gas cost test.
|
2019-05-16 20:38:25 +02:00 |
|
Leonardo Alt
|
60a4f03d3d
|
[SMTChecker] Fix ice in unsupported functions with multi return values
|
2019-05-16 18:23:42 +02:00 |
|
chriseth
|
f2ae30f620
|
Fix handling of structs of dynamic size as constructor parameters.
|
2019-05-16 17:10:54 +02:00 |
|
chriseth
|
54ce3df321
|
Merge pull request #6755 from ethereum/useShiftDirectly
[Optimizer] Use shift directly instead of multiplication in constant optimizer.
|
2019-05-16 15:49:02 +02:00 |
|
chriseth
|
38d92a1163
|
Merge pull request #6746 from ethereum/splitMovable
Split movable property into movable and side-effect-free
|
2019-05-16 13:25:15 +02:00 |
|
chriseth
|
5824f5d42f
|
Use shift directly instead of multiplication in constant optimizer.
|
2019-05-16 12:50:53 +02:00 |
|
chriseth
|
fa23601d52
|
Merge pull request #6766 from ethereum/isoltest-constructor-arguments
[soltest] Adds support for constructor arguments
|
2019-05-16 12:36:50 +02:00 |
|
chriseth
|
733677690e
|
Update tests.
|
2019-05-16 12:30:05 +02:00 |
|
chriseth
|
f6437a2016
|
Optimizer rules that combine shifts and masks.
|
2019-05-15 20:30:53 +02:00 |
|