new tests

This commit is contained in:
chriseth 2022-03-17 17:27:34 +01:00
parent b98c663f95
commit d145919b5d
2 changed files with 81 additions and 0 deletions

View File

@ -0,0 +1,43 @@
{
let x := 0
for {} sload(0) { let t := 0 /* can replace this */ } {
x := 0
if calldataload(0) { x := 2 break }
let r := 0
if calldataload(1) { x := 3 revert(0, 0) }
let s := 0
if calldataload(0) { continue }
let v := 0
x := 4
revert(0, 0)
}
// cannot replace this
let u := 0
}
// ----
// step: commonSubexpressionEliminator
//
// {
// let x := 0
// for { } sload(0) { let t := x }
// {
// x := 0
// if calldataload(x)
// {
// x := 2
// break
// }
// let r := x
// if calldataload(1)
// {
// x := 3
// revert(0, 0)
// }
// let s := x
// if calldataload(x) { continue }
// let v := x
// x := 4
// revert(0, 0)
// }
// let u := 0
// }

View File

@ -0,0 +1,38 @@
{
let x := calldataload(0)
let y := calldataload(1)
sstore(x, y)
switch calldataload(2)
case 0 {
x := 2
sstore(x, y)
}
default {
x := 3
sstore(x, y)
}
let t := sload(x)
sstore(0, t)
}
// ----
// step: loadResolver
//
// {
// {
// let _1 := 0
// let x := calldataload(_1)
// let y := calldataload(1)
// sstore(x, y)
// let _3 := 2
// switch calldataload(_3)
// case 0 {
// x := _3
// sstore(_3, y)
// }
// default {
// x := 3
// sstore(x, y)
// }
// sstore(_1, sload(x))
// }
// }