mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
Added a few optimizer tests for Verbatim
This commit is contained in:
@@ -0,0 +1,16 @@
|
||||
{
|
||||
mstore(10, 20)
|
||||
// cannot be resolved because of verbatim
|
||||
sstore(0, mload(10))
|
||||
verbatim_0i_0o("test")
|
||||
}
|
||||
// ----
|
||||
// step: loadResolver
|
||||
//
|
||||
// {
|
||||
// let _1 := 20
|
||||
// let _2 := 10
|
||||
// mstore(_2, _1)
|
||||
// sstore(0, mload(_2))
|
||||
// verbatim_0i_0o("test")
|
||||
// }
|
||||
@@ -0,0 +1,21 @@
|
||||
{
|
||||
sstore(10, 20)
|
||||
// will be resolved
|
||||
sstore(30, sload(10))
|
||||
verbatim_0i_0o("test")
|
||||
// will not be resolved
|
||||
sstore(30, sload(10))
|
||||
}
|
||||
// ----
|
||||
// step: loadResolver
|
||||
//
|
||||
// {
|
||||
// let _1 := 20
|
||||
// let _2 := 10
|
||||
// sstore(_2, _1)
|
||||
// let _4 := _1
|
||||
// let _5 := 30
|
||||
// sstore(_5, _4)
|
||||
// verbatim_0i_0o("test")
|
||||
// sstore(_5, sload(_2))
|
||||
// }
|
||||
@@ -0,0 +1,17 @@
|
||||
{
|
||||
// cannot be removed because of verbatim
|
||||
let a := mload(10)
|
||||
// cannot be removed because of verbatim
|
||||
let b := keccak256(10, 32)
|
||||
// can be removed
|
||||
let c := add(a, b)
|
||||
verbatim_0i_0o("test")
|
||||
}
|
||||
// ----
|
||||
// step: unusedPruner
|
||||
//
|
||||
// {
|
||||
// pop(mload(10))
|
||||
// pop(keccak256(10, 32))
|
||||
// verbatim_0i_0o("test")
|
||||
// }
|
||||
Reference in New Issue
Block a user