solidity/test/libyul/yulOptimizerTests/loadResolver/keccak_reuse_mstore.yul
chriseth 79c52b3c9e Re-use knowledge about keccak calls.
Re-use knowledge about keccak calls.

Update gas cost.

More tests.

Fix bug.

Update libyul/optimiser/DataFlowAnalyzer.cpp

Remove util prefixes

fix test

More test cases.

Add Changelog entry
2022-12-07 14:16:13 +01:00

23 lines
455 B
Plaintext

{
let x := calldataload(0)
let a := keccak256(0x20, x)
sstore(a, 2)
// will disable loading for now, might improve later
mstore(0, 1)
let b := keccak256(0x20, x)
sstore(b, 3)
}
// ----
// step: loadResolver
//
// {
// {
// let _1 := 0
// let x := calldataload(_1)
// let _2 := 0x20
// sstore(keccak256(_2, x), 2)
// mstore(_1, 1)
// sstore(keccak256(_2, x), 3)
// }
// }