Commit Graph

20171 Commits

Author SHA1 Message Date
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
3d29ae73e7 Isoltest: updated the gas tests. 2021-04-22 18:19:47 +02:00
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
Harikrishnan Mulackal
ecf9a44dac
Merge pull request #11212 from ethereum/docs-asm
[DOCS] Added documentation about --asm flag
2021-04-22 18:11:24 +02:00
chriseth
277e6005e1
Merge pull request #11296 from ethereum/returnVariableZeroReplacementAddendum
Add test.
2021-04-22 17:53:02 +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
a6a3af58a0 Add test. 2021-04-22 17:23:56 +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
hrkrshnn
7882a2a89d Added documentation about --asm flag 2021-04-22 11:05:44 +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