Commit Graph

20014 Commits

Author SHA1 Message Date
hrkrshnn
b636ef881e Added command line tests for keccak optimization with low runs
The value of keccak256(0, 32) should not be replaced by the big constant
2021-04-22 18:19:47 +02:00
hrkrshnn
221292c278 Tests and changelog 2021-04-22 18:19:47 +02:00
hrkrshnn
3bc4f5708a Evaluate keccak(a, const) if value at memory location a is known
Here the value of constant can be at most 32.
2021-04-22 18:19:47 +02:00
hrkrshnn
011f8d3ff7 Changed the type of gas calculation to bigint instead of size_t
Since the gas calculation can involve multiplication by ``--optimize-runs``, it is possible that
`size_t` is not enough to represent the total gas.
2021-04-22 18:19:47 +02:00
hrkrshnn
94f9410abe Added hashFunction to Dialect. For EVMDialect, it is keccak256
In a later PR, the functions `storageLoadFunction`, `storageStoreFunctions`, etc will be refactored
to return a YulString instead of a pointer to a BuiltinFunction.
2021-04-22 17:27:57 +02:00
hrkrshnn
dd6300a53e GasMeter can now account for gas of Keccak-256 2021-04-22 17:27:57 +02:00
hrkrshnn
1f5b874eaf Optimizer context has parameter expectedExecutionsPerDeployment 2021-04-22 17:27:57 +02:00
chriseth
074f22f22c
Merge pull request #11246 from ethereum/returnVariableZeroReplacement
Do not replace zeros by return variable.
2021-04-22 17:16:16 +02:00
chriseth
ec4558a245 Update gas costs. 2021-04-22 16:54:02 +02:00
chriseth
314f361d07 Update commandline tests. 2021-04-22 16:54:02 +02:00
chriseth
00fb2d390b Do not replace zeros by return variable. 2021-04-22 16:54:02 +02:00
chriseth
cd13fcd758
Merge pull request #11155 from ethereum/missing-ir-semantic-changes
Docs: Update breaking IR changes documentation wrt expression evaluation order and dirty bits clean up
2021-04-22 16:32:18 +02:00
Đorđe Mijović
8840fb6ffd
Merge pull request #11270 from ethereum/addingBoundsByteArraySolYul 2021-04-22 15:41:32 +02:00
chriseth
bf0afb4667
Merge pull request #11292 from ethereum/fixFunctionSideEffectsDialect
Use "for objects" dialect for function side effects test.
2021-04-22 14:55:08 +02:00
chriseth
9e6d26ffca
Merge pull request #11291 from ethereum/natspec
Remove dead code in NatSpec
2021-04-22 14:39:38 +02:00
chriseth
e408b708ac Use "for objects" dialect for function side effects test. 2021-04-22 14:37:51 +02:00
Alex Beregszaszi
4855fca802 Remove dead code in NatSpec 2021-04-22 13:26:11 +01:00
chriseth
17f522835f
Merge pull request #11288 from ethereum/changeMetricOfZero
Adjust cost of literal zero.
2021-04-22 11:58:16 +02:00
Djordje Mijovic
3a4233f3ad [Sol->Yul] Adding bounds check when increasing size of byte array. 2021-04-22 11:42:46 +02:00
chriseth
35b651103d Adjust cost of literal zero. 2021-04-22 11:42:42 +02:00
chriseth
2a4a2d8f7b
Merge pull request #11198 from ethereum/docs_lang_insprirations
[DOCS] Add "Language Influences" page
2021-04-22 10:56:29 +02:00
franzihei
391343564b adding language influences page 2021-04-22 10:46:11 +02:00
Bhargava Shastry
6e74df8ab6 Update text on function argument evaluation order.
Co-authored-by: Kamil Śliwak <kamil.sliwak@codepoets.it>
2021-04-22 10:38:51 +02:00
Bhargava Shastry
abbe460813 Docs: Update breaking IR changes documentation wrt expression evaluation order and dirty bits clean up.
Co-authored-by: Kamil Śliwak <kamil.sliwak@codepoets.it>
Co-authored-by: chriseth <chris@ethereum.org>
2021-04-22 10:38:51 +02:00
Harikrishnan Mulackal
1eff128b6d
Merge pull request #11287 from ethereum/isoltest-minor
Small refactorings for isoltest
2021-04-22 10:11:50 +02:00
Alex Beregszaszi
8fb7a18800 Small refactorings for isoltest 2021-04-22 01:04:34 +01:00
Alex Beregszaszi
8527430421
Merge pull request #11149 from ethereum/evmc
Upgrade to EVMC 7.5.0
2021-04-21 22:26:05 +01:00
Alex Beregszaszi
f1aaae36ee Upgrade to EVMC 7.5.0
One important change: MockedAccount.storage is a map and not unordered_map
2021-04-21 21:05:40 +01:00
chriseth
83213e659d
Merge pull request #11282 from ethereum/release_checklist
Update release checklist.
2021-04-21 22:03:24 +02:00
chriseth
70a3ef16e2 Update release checklist. 2021-04-21 22:03:24 +02:00
chriseth
f3ac70152c
Merge pull request #11285 from ethereum/version085
Set version to 0.8.5
2021-04-21 22:02:24 +02:00
Alex Beregszaszi
bb19c9e460 Set version to 0.8.5 2021-04-21 20:42:20 +01:00
chriseth
c7e474f243
Merge pull request #11279 from ethereum/changelog084
Prepare changelog for 0.8.4.
2021-04-21 15:09:37 +02:00
chriseth
3aad6b239c Prepare changelog for 0.8.4. 2021-04-21 14:21:00 +02:00
Leonardo
7bbf3a694b
Merge pull request #11261 from ethereum/smt_choose_target
[SMTChecker] Add option to choose contracts to be analyzed
2021-04-21 13:11:33 +02:00
chriseth
c3d73982ea
Merge pull request #11268 from ethereum/refactorByteArrayPopSol2Yul
[Sol->Yul] Refactor ByteArrayPop to use unchecked index access
2021-04-21 13:05:00 +02:00
chriseth
e2120f1f2f
Merge pull request #11272 from ethereum/replace-boost-with-rangev3-solgen
Remove most boost usages in Yul proto converter
2021-04-21 12:21:57 +02:00
Djordje Mijovic
d03744489f Update cmdline tests. 2021-04-21 11:01:22 +02:00
Djordje Mijovic
9fcf16900d Update gas costs in smeantic tests. 2021-04-21 11:01:22 +02:00
Djordje Mijovic
0dd59fa0a2 [Sol->Yul] Remove index access from byte array pop function to optimize it. 2021-04-21 11:01:18 +02:00
Leonardo Alt
dd1865873e Choose contracts to be analyzed by the SMTChecker 2021-04-21 10:34:14 +02:00
chriseth
c3f639b355
Merge pull request #11277 from ethereum/isoltest-trivial-reformatting
Normalize tests to match isoltest output (only trivial changes)
2021-04-21 10:01:33 +02:00
Bhargava Shastry
69dd1771b7 Remove as many boost usages as possible in protoToYul.cpp 2021-04-20 18:46:19 +02:00
Alex Beregszaszi
4177270562 Trivial isoltest updates: comments always on the same line 2021-04-20 17:38:29 +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
Alex Beregszaszi
45c6bbe02b Trivial isoltest updates: directives sorted alphabetically 2021-04-20 17:21:56 +02:00
chriseth
cf7f814a4e
Merge pull request #10921 from ethereum/issue-10881
Natspec: Don't copy from base function if return parameters differ
2021-04-20 15:33:48 +02:00
Leonardo
159d6f9efa
Merge pull request #11222 from ethereum/smt_free_functions
[SMTChecker] Free functions and constants
2021-04-19 21:25:05 +02:00
Leonardo Alt
a39a6e26da update tests 2021-04-19 19:23:18 +02:00