Update tests.

This commit is contained in:
Daniel Kirchner 2021-11-09 13:25:25 +01:00
parent f2d9a806e0
commit 10618188dd
159 changed files with 893 additions and 638 deletions

View File

@ -1,21 +1,25 @@
{ {
let _1 := mload(0)
let f_a := mload(1)
let f_r
{ {
f_a := mload(f_a) let _1 := mload(0)
f_r := add(f_a, calldatasize()) let f_a := mload(1)
let f_r
{
f_a := mload(f_a)
f_r := add(f_a, calldatasize())
}
let z := mload(2)
} }
let z := mload(2)
} }
// ---- // ----
// step: blockFlattener // step: blockFlattener
// //
// { // {
// let _1 := mload(0) // {
// let f_a := mload(1) // let _1 := mload(0)
// let f_r // let f_a := mload(1)
// f_a := mload(f_a) // let f_r
// f_r := add(f_a, calldatasize()) // f_a := mload(f_a)
// let z := mload(2) // f_r := add(f_a, calldatasize())
// let z := mload(2)
// }
// } // }

View File

@ -1,12 +1,16 @@
{ {
for { let a := 1 } iszero(eq(a, 10)) { a := add(a, 1) } { {
a := add(a, 1) for { let a := 1 } iszero(eq(a, 10)) { a := add(a, 1) } {
a := add(a, 1)
}
} }
} }
// ---- // ----
// step: blockFlattener // step: blockFlattener
// //
// { // {
// for { let a := 1 } iszero(eq(a, 10)) { a := add(a, 1) } // {
// { a := add(a, 1) } // for { let a := 1 } iszero(eq(a, 10)) { a := add(a, 1) }
// { a := add(a, 1) }
// }
// } // }

View File

@ -1,21 +1,25 @@
{ {
if add(mload(7), sload(mload(3)))
{ {
let y := add(mload(3), 3) if add(mload(7), sload(mload(3)))
{ {
y := add(y, 7) let y := add(mload(3), 3)
} {
y := add(y, 7)
}
}
let t := add(3, 9)
} }
let t := add(3, 9)
} }
// ---- // ----
// step: blockFlattener // step: blockFlattener
// //
// { // {
// if add(mload(7), sload(mload(3)))
// { // {
// let y := add(mload(3), 3) // if add(mload(7), sload(mload(3)))
// y := add(y, 7) // {
// let y := add(mload(3), 3)
// y := add(y, 7)
// }
// let t := add(3, 9)
// } // }
// let t := add(3, 9)
// } // }

View File

@ -1,29 +1,33 @@
{ {
let a := 3
let b := 4
{ {
a := add(b, 3) let a := 3
let c := 5 let b := 4
{ {
b := add(b, 4) a := add(b, 3)
let c := 5
{ {
c := add(a, 5) b := add(b, 4)
} {
b := add(a, b) c := add(a, 5)
}
b := add(a, b)
}
a := add(a, c)
} }
a := add(a, c)
} }
} }
// ---- // ----
// step: blockFlattener // step: blockFlattener
// //
// { // {
// let a := 3 // {
// let b := 4 // let a := 3
// a := add(b, 3) // let b := 4
// let c := 5 // a := add(b, 3)
// b := add(b, 4) // let c := 5
// c := add(a, 5) // b := add(b, 4)
// b := add(a, b) // c := add(a, 5)
// a := add(a, c) // b := add(a, b)
// a := add(a, c)
// }
// } // }

View File

@ -1,23 +1,27 @@
{ {
{
let a := 1 let a := 1
switch calldataload(0) switch calldataload(0)
case 0 { { { mstore(0, 1) } } a := 8 } case 0 { { { mstore(0, 1) } } a := 8 }
default { a := 3 { a := 4 } } default { a := 3 { a := 4 } }
a := 5 a := 5
}
} }
// ---- // ----
// step: blockFlattener // step: blockFlattener
// //
// { // {
// let a := 1 // {
// switch calldataload(0) // let a := 1
// case 0 { // switch calldataload(0)
// mstore(0, 1) // case 0 {
// a := 8 // mstore(0, 1)
// a := 8
// }
// default {
// a := 3
// a := 4
// }
// a := 5
// } // }
// default {
// a := 3
// a := 4
// }
// a := 5
// } // }

View File

@ -9,8 +9,10 @@
// step: circularReferencesPruner // step: circularReferencesPruner
// //
// { // {
// let a // {
// a := h() // let a
// a := h()
// }
// function f() -> x // function f() -> x
// { x := g() } // { x := g() }
// function g() -> y // function g() -> y

View File

@ -11,4 +11,4 @@
// ---- // ----
// step: circularReferencesPruner // step: circularReferencesPruner
// //
// { } // { { } }

View File

@ -11,4 +11,4 @@
// ---- // ----
// step: circularReferencesPruner // step: circularReferencesPruner
// //
// { } // { { } }

View File

@ -5,4 +5,4 @@
// ---- // ----
// step: circularReferencesPruner // step: circularReferencesPruner
// //
// { } // { { } }

View File

@ -14,6 +14,8 @@
// step: expressionJoiner // step: expressionJoiner
// //
// { // {
// if add(mload(7), sload(mload(3))) { let y := add(mload(3), 3) } // {
// let t := add(3, 9) // if add(mload(7), sload(mload(3))) { let y := add(mload(3), 3) }
// let t := add(3, 9)
// }
// } // }

View File

@ -8,7 +8,9 @@
// step: expressionJoiner // step: expressionJoiner
// //
// { // {
// let a := mload(3) // {
// let b := mload(6) // let a := mload(3)
// sstore(mul(add(b, a), mload(2)), 3) // let b := mload(6)
// sstore(mul(add(b, a), mload(2)), 3)
// }
// } // }

View File

@ -8,5 +8,7 @@
// step: expressionJoiner // step: expressionJoiner
// //
// { // {
// sstore(mul(add(mload(6), mload(2)), 2), 3) // {
// sstore(mul(add(mload(6), mload(2)), 2), 3)
// }
// } // }

View File

@ -7,6 +7,8 @@
// step: expressionJoiner // step: expressionJoiner
// //
// { // {
// let a := mload(2) // {
// let b := add(a, a) // let a := mload(2)
// let b := add(a, a)
// }
// } // }

View File

@ -11,6 +11,8 @@
// step: expressionJoiner // step: expressionJoiner
// //
// { // {
// let a := mload(2) // {
// sstore(mul(a, add(2, mload(6))), 3) // let a := mload(2)
// sstore(mul(a, add(2, mload(6))), 3)
// }
// } // }

View File

@ -8,6 +8,8 @@
// step: expressionJoiner // step: expressionJoiner
// //
// { // {
// let a := mload(2) // {
// sstore(mul(add(a, mload(6)), 2), 3) // let a := mload(2)
// sstore(mul(add(a, mload(6)), 2), 3)
// }
// } // }

View File

@ -15,6 +15,8 @@
// step: expressionJoiner // step: expressionJoiner
// //
// { // {
// let x := calldataload(mload(2)) // {
// sstore(x, 3) // let x := calldataload(mload(2))
// sstore(x, 3)
// }
// } // }

View File

@ -5,6 +5,8 @@
// step: expressionJoiner // step: expressionJoiner
// //
// { // {
// for { let b := mload(1) } b { } // {
// { } // for { let b := mload(1) } b { }
// { }
// }
// } // }

View File

@ -6,7 +6,9 @@
// step: expressionJoiner // step: expressionJoiner
// //
// { // {
// let a := mload(0) // {
// for { } a { } // let a := mload(0)
// { } // for { } a { }
// { }
// }
// } // }

View File

@ -9,6 +9,7 @@
// step: expressionJoiner // step: expressionJoiner
// //
// { // {
// { }
// function f(a) -> x // function f(a) -> x
// { // {
// a := mload(2) // a := mload(2)

View File

@ -8,7 +8,9 @@
// step: expressionJoiner // step: expressionJoiner
// //
// { // {
// let a := mload(2) // {
// let b := mload(a) // let a := mload(2)
// a := 4 // let b := mload(a)
// a := 4
// }
// } // }

View File

@ -7,5 +7,7 @@
// step: expressionJoiner // step: expressionJoiner
// //
// { // {
// sstore(calldataload(mload(2)), 3) // {
// sstore(calldataload(mload(2)), 3)
// }
// } // }

View File

@ -9,6 +9,8 @@
// step: expressionJoiner // step: expressionJoiner
// //
// { // {
// let b := sload(mload(3)) // {
// sstore(add(b, mload(7)), 0) // let b := sload(mload(3))
// sstore(add(b, mload(7)), 0)
// }
// } // }

View File

@ -2,4 +2,4 @@
// ---- // ----
// step: expressionJoiner // step: expressionJoiner
// //
// { } // { { } }

View File

@ -18,8 +18,10 @@
// step: expressionJoiner // step: expressionJoiner
// //
// { // {
// switch add(mload(7), sload(mload(3))) // {
// case 3 { let y := add(mload(3), 3) } // switch add(mload(7), sload(mload(3)))
// default { sstore(1, 0) } // case 3 { let y := add(mload(3), 3) }
// let t := add(3, 9) // default { sstore(1, 0) }
// let t := add(3, 9)
// }
// } // }

View File

@ -9,5 +9,7 @@
// step: expressionJoiner // step: expressionJoiner
// //
// { // {
// sstore(mul(add(mload(7), mload(6)), mload(2)), 3) // {
// sstore(mul(add(mload(7), mload(6)), mload(2)), 3)
// }
// } // }

View File

@ -8,8 +8,10 @@
// step: expressionSimplifier // step: expressionSimplifier
// //
// { // {
// let c, d := f() // {
// sstore(add(add(d, c), 7), 20) // let c, d := f()
// sstore(add(add(d, c), 7), 20)
// }
// function f() -> x, z // function f() -> x, z
// { } // { }
// } // }

View File

@ -6,4 +6,4 @@
// ---- // ----
// step: expressionSimplifier // step: expressionSimplifier
// //
// { sstore(0, 0) } // { { sstore(0, 0) } }

View File

@ -13,7 +13,9 @@
// step: expressionSimplifier // step: expressionSimplifier
// //
// { // {
// let x := calldataload(0) // {
// let a := and(0xff, and(shr(248, x), 255)) // let x := calldataload(0)
// sstore(a, shr(12, and(shl(8, x), 15790080))) // let a := and(0xff, and(shr(248, x), 255))
// sstore(a, shr(12, and(shl(8, x), 15790080)))
// }
// } // }

View File

@ -24,25 +24,27 @@
// step: expressionSimplifier // step: expressionSimplifier
// //
// { // {
// let x := calldataload(0) // {
// let _2 := 0xf // let x := calldataload(0)
// let _5 := and(shr(248, x), 0) // let _2 := 0xf
// let _10 := 0xff // let _5 := and(shr(248, x), 0)
// let a := and(_5, 255) // let _10 := 0xff
// let _14 := and(shr(4, x), 3855) // let a := and(_5, 255)
// let _15 := 12 // let _14 := and(shr(4, x), 3855)
// let b := shl(_15, _14) // let _15 := 12
// let _19 := and(shr(4, x), 3855) // let b := shl(_15, _14)
// let c := shl(_15, _19) // let _19 := and(shr(4, x), 3855)
// let d := shl(_15, and(shr(255, x), 0)) // let c := shl(_15, _19)
// let e := shl(_10, _19) // let d := shl(_15, and(shr(255, x), 0))
// let f := 0 // let e := shl(_10, _19)
// let g := 0 // let f := 0
// sstore(10, a) // let g := 0
// sstore(11, b) // sstore(10, a)
// sstore(_15, c) // sstore(11, b)
// sstore(13, d) // sstore(_15, c)
// sstore(14, e) // sstore(13, d)
// sstore(_2, f) // sstore(14, e)
// sstore(16, g) // sstore(_2, f)
// sstore(16, g)
// }
// } // }

View File

@ -21,17 +21,19 @@
// step: expressionSimplifier // step: expressionSimplifier
// //
// { // {
// let x := calldataload(0) // {
// let a := and(shl(8, x), 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000) // let x := calldataload(0)
// let b := and(shr(8, x), 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0) // let a := and(shl(8, x), 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000)
// let c := and(shr(8, x), 0x0fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) // let b := and(shr(8, x), 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0)
// let d := and(shl(8, x), 0x0fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00) // let c := and(shr(8, x), 0x0fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff)
// let _14 := 150 // let d := and(shl(8, x), 0x0fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00)
// let e := shl(_14, and(shl(148, x), 0x3ffffffffffffffffffffffffff0000000000000000000000000000000000000)) // let _14 := 150
// sstore(15, x) // let e := shl(_14, and(shl(148, x), 0x3ffffffffffffffffffffffffff0000000000000000000000000000000000000))
// sstore(16, a) // sstore(15, x)
// sstore(17, b) // sstore(16, a)
// sstore(18, c) // sstore(17, b)
// sstore(19, d) // sstore(18, c)
// sstore(20, e) // sstore(19, d)
// sstore(20, e)
// }
// } // }

View File

@ -5,4 +5,4 @@
// ---- // ----
// step: expressionSimplifier // step: expressionSimplifier
// //
// { mstore(20, mload(0)) } // { { mstore(20, mload(0)) } }

View File

@ -5,4 +5,4 @@
// ---- // ----
// step: expressionSimplifier // step: expressionSimplifier
// //
// { sstore(7, 13) } // { { sstore(7, 13) } }

View File

@ -12,9 +12,11 @@
// step: expressionSimplifier // step: expressionSimplifier
// //
// { // {
// let _1 := 0xffffffffffffffffffffffffffffffffffffffff // {
// let _2 := 0 // let _1 := 0xffffffffffffffffffffffffffffffffffffffff
// let _3 := 0x20 // let _2 := 0
// let a := and(create2(_2, _2, _3, _2), _1) // let _3 := 0x20
// sstore(a, and(_1, create2(_2, _2, _3, _2))) // let a := and(create2(_2, _2, _3, _2), _1)
// sstore(a, and(_1, create2(_2, _2, _3, _2)))
// }
// } // }

View File

@ -11,10 +11,12 @@
// step: expressionSimplifier // step: expressionSimplifier
// //
// { // {
// let _1 := 0x20 // {
// let _2 := 0 // let _1 := 0x20
// let c := create(_2, _2, _1) // let _2 := 0
// let _4 := 0xffffffffffffffffffffffffffffffffffffffff // let c := create(_2, _2, _1)
// let a := and(c, _4) // let _4 := 0xffffffffffffffffffffffffffffffffffffffff
// sstore(a, and(_4, create(_2, _2, _1))) // let a := and(c, _4)
// sstore(a, and(_4, create(_2, _2, _1)))
// }
// } // }

View File

@ -13,12 +13,14 @@
// step: expressionSimplifier // step: expressionSimplifier
// //
// { // {
// let _1 := 0 // {
// let t := calldataload(_1) // let _1 := 0
// sstore(_1, iszero(t)) // let t := calldataload(_1)
// sstore(1, 1) // sstore(_1, iszero(t))
// let _8 := 2 // sstore(1, 1)
// sstore(_8, shl(t, 1)) // let _8 := 2
// sstore(3, exp(8, t)) // sstore(_8, shl(t, 1))
// sstore(4, sub(iszero(and(t, 1)), and(t, 1))) // sstore(3, exp(8, t))
// sstore(4, sub(iszero(and(t, 1)), and(t, 1)))
// }
// } // }

View File

@ -9,8 +9,10 @@
// step: expressionSimplifier // step: expressionSimplifier
// //
// { // {
// let x := calldataload(0) // {
// let z := calldataload(1) // let x := calldataload(0)
// let t := and(x, z) // let z := calldataload(1)
// sstore(t, or(x, z)) // let t := and(x, z)
// sstore(t, or(x, z))
// }
// } // }

View File

@ -5,4 +5,4 @@
// ---- // ----
// step: expressionSimplifier // step: expressionSimplifier
// //
// { sstore(0, 0) } // { { sstore(0, 0) } }

View File

@ -6,6 +6,8 @@
// step: expressionSimplifier // step: expressionSimplifier
// //
// { // {
// let _1 := 0 // {
// sstore(_1, sub(calldataload(1), calldataload(_1))) // let _1 := 0
// sstore(_1, sub(calldataload(1), calldataload(_1)))
// }
// } // }

View File

@ -6,4 +6,4 @@
// ---- // ----
// step: expressionSimplifier // step: expressionSimplifier
// //
// { sstore(0, 0) } // { { sstore(0, 0) } }

View File

@ -7,7 +7,7 @@
// step: expressionSimplifier // step: expressionSimplifier
// //
// { // {
// sstore(0, f()) // { sstore(0, f()) }
// function f() -> a // function f() -> a
// { } // { }
// } // }

View File

@ -6,7 +6,9 @@
// step: expressionSimplifier // step: expressionSimplifier
// //
// { // {
// let a := 10 // {
// for { } iszero(iszero(a)) { a := add(a, 1) } // let a := 10
// { } // for { } iszero(iszero(a)) { a := add(a, 1) }
// { }
// }
// } // }

View File

@ -6,4 +6,4 @@
// ---- // ----
// step: expressionSimplifier // step: expressionSimplifier
// //
// { sstore(0, mload(0)) } // { { sstore(0, mload(0)) } }

View File

@ -10,7 +10,9 @@
// step: expressionSimplifier // step: expressionSimplifier
// //
// { // {
// let _1 := 0 // {
// let a := calldataload(_1) // let _1 := 0
// if eq(a, calldataload(0x20)) { sstore(_1, 1) } // let a := calldataload(_1)
// if eq(a, calldataload(0x20)) { sstore(_1, 1) }
// }
// } // }

View File

@ -13,14 +13,16 @@
// step: expressionSimplifier // step: expressionSimplifier
// //
// { // {
// let _1 := 0 // {
// let a := calldataload(_1) // let _1 := 0
// let b := 0 // let a := calldataload(_1)
// let c := byte(20, a) // let b := 0
// pop(create(_1, _1, 0x20)) // let c := byte(20, a)
// let d := 0 // pop(create(_1, _1, 0x20))
// sstore(7, a) // let d := 0
// sstore(8, b) // sstore(7, a)
// sstore(9, c) // sstore(8, b)
// sstore(10, d) // sstore(9, c)
// sstore(10, d)
// }
// } // }

View File

@ -5,6 +5,8 @@
// step: expressionSimplifier // step: expressionSimplifier
// //
// { // {
// let _4 := 0 // {
// mstore(_4, and(calldataload(_4), 255)) // let _4 := 0
// mstore(_4, and(calldataload(_4), 255))
// }
// } // }

View File

@ -5,6 +5,8 @@
// step: expressionSimplifier // step: expressionSimplifier
// //
// { // {
// let _4 := 0 // {
// mstore(_4, and(calldataload(_4), 0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff)) // let _4 := 0
// mstore(_4, and(calldataload(_4), 0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff))
// }
// } // }

View File

@ -7,9 +7,11 @@
// step: expressionSimplifier // step: expressionSimplifier
// //
// { // {
// let _2 := f(1) // {
// let _3 := 0 // let _2 := f(1)
// sstore(_3, sub(f(_3), _2)) // let _3 := 0
// sstore(_3, sub(f(_3), _2))
// }
// function f(a) -> b // function f(a) -> b
// { } // { }
// } // }

View File

@ -8,7 +8,7 @@
// step: expressionSimplifier // step: expressionSimplifier
// //
// { // {
// sstore(0, sub(f1(), f2())) // { sstore(0, sub(f1(), f2())) }
// function f1() -> a // function f1() -> a
// { } // { }
// function f2() -> b // function f2() -> b

View File

@ -8,7 +8,7 @@
// step: expressionSimplifier // step: expressionSimplifier
// //
// { // {
// sstore(sub(f(), f()), 8) // { sstore(sub(f(), f()), 8) }
// function f() -> a // function f() -> a
// { mstore(0, 1) } // { mstore(0, 1) }
// } // }

View File

@ -9,9 +9,11 @@
// step: expressionSimplifier // step: expressionSimplifier
// //
// { // {
// let _1 := msize() // {
// let _2 := 0 // let _1 := msize()
// sstore(_2, _1) // let _2 := 0
// pop(keccak256(_2, _2)) // sstore(_2, _1)
// sstore(20, 0) // pop(keccak256(_2, _2))
// sstore(20, 0)
// }
// } // }

View File

@ -7,7 +7,9 @@
// step: expressionSimplifier // step: expressionSimplifier
// //
// { // {
// let _1 := 0 // {
// pop(call(_1, _1, _1, _1, _1, _1, _1)) // let _1 := 0
// sstore(_1, 0) // pop(call(_1, _1, _1, _1, _1, _1, _1))
// sstore(_1, 0)
// }
// } // }

View File

@ -8,8 +8,10 @@
// step: expressionSimplifier // step: expressionSimplifier
// //
// { // {
// pop(f()) // {
// mstore(0, 0) // pop(f())
// mstore(0, 0)
// }
// function f() -> x // function f() -> x
// { mstore(0, 1337) } // { mstore(0, 1337) }
// } // }

View File

@ -7,4 +7,4 @@
// ---- // ----
// step: expressionSimplifier // step: expressionSimplifier
// //
// { sstore(0, 0) } // { { sstore(0, 0) } }

View File

@ -7,8 +7,10 @@
// step: expressionSimplifier // step: expressionSimplifier
// //
// { // {
// let _1 := 0 // {
// let x := mload(_1) // let _1 := 0
// x := _1 // let x := mload(_1)
// mstore(_1, 7) // x := _1
// mstore(_1, 7)
// }
// } // }

View File

@ -12,12 +12,14 @@
// step: expressionSimplifier // step: expressionSimplifier
// //
// { // {
// let _2 := calldataload(0) // {
// let _5 := 0xff // let _2 := calldataload(0)
// let a := shr(248, _2) // let _5 := 0xff
// let b := shr(248, _2) // let a := shr(248, _2)
// let c := and(shr(249, _2), 0xfa) // let b := shr(248, _2)
// let d := and(shr(247, _2), _5) // let c := and(shr(249, _2), 0xfa)
// sstore(a, b) // let d := and(shr(247, _2), _5)
// sstore(c, d) // sstore(a, b)
// sstore(c, d)
// }
// } // }

View File

@ -12,12 +12,14 @@
// step: expressionSimplifier // step: expressionSimplifier
// //
// { // {
// let a := 0 // {
// let b := 0 // let a := 0
// let _8 := calldataload(2) // let b := 0
// let _9 := 255 // let _8 := calldataload(2)
// let c := shl(_9, _8) // let _9 := 255
// let d := shr(_9, calldataload(3)) // let c := shl(_9, _8)
// sstore(a, b) // let d := shr(_9, calldataload(3))
// sstore(c, d) // sstore(a, b)
// sstore(c, d)
// }
// } // }

View File

@ -10,7 +10,7 @@
// step: expressionSimplifier // step: expressionSimplifier
// //
// { // {
// let t, v := f() // { let t, v := f() }
// function f() -> c, d // function f() -> c, d
// { sstore(0, 7) } // { sstore(0, 7) }
// } // }

View File

@ -6,6 +6,8 @@
// step: expressionSimplifier // step: expressionSimplifier
// //
// { // {
// let _1 := 0 // {
// sstore(_1, mload(_1)) // let _1 := 0
// sstore(_1, mload(_1))
// }
// } // }

View File

@ -6,4 +6,6 @@
// ---- // ----
// step: expressionSimplifier // step: expressionSimplifier
// //
// { sstore(0, balance(address())) } // {
// { sstore(0, balance(address())) }
// }

View File

@ -9,6 +9,8 @@
// step: expressionSimplifier // step: expressionSimplifier
// //
// { // {
// let a := address() // {
// sstore(a, selfbalance()) // let a := address()
// sstore(a, selfbalance())
// }
// } // }

View File

@ -6,4 +6,4 @@
// ---- // ----
// step: expressionSimplifier // step: expressionSimplifier
// //
// { sstore(0, selfbalance()) } // { { sstore(0, selfbalance()) } }

View File

@ -9,6 +9,8 @@
// step: expressionSimplifier // step: expressionSimplifier
// //
// { // {
// for { } div(create(0, 1, 0), shl(msize(), 1)) { } // {
// { } // for { } div(create(0, 1, 0), shl(msize(), 1)) { }
// { }
// }
// } // }

View File

@ -2,4 +2,4 @@
// ---- // ----
// step: expressionSimplifier // step: expressionSimplifier
// //
// { } // { { } }

View File

@ -8,6 +8,8 @@
// step: expressionSimplifier // step: expressionSimplifier
// //
// { // {
// let c, d // {
// sstore(d, 7) // let c, d
// sstore(d, 7)
// }
// } // }

View File

@ -8,4 +8,4 @@
// ---- // ----
// step: expressionSimplifier // step: expressionSimplifier
// //
// { sstore(8, 7) } // { { sstore(8, 7) } }

View File

@ -13,6 +13,7 @@
// step: fullInliner // step: fullInliner
// //
// { // {
// { }
// function f(a) -> b // function f(a) -> b
// { b := sload(mload(a)) } // { b := sload(mload(a)) }
// function g() -> x_1 // function g() -> x_1

View File

@ -6,6 +6,8 @@
// step: fullSimplify // step: fullSimplify
// //
// { // {
// let _2 := 0 // {
// mstore(mload(_2), _2) // let _2 := 0
// mstore(mload(_2), _2)
// }
// } // }

View File

@ -5,4 +5,4 @@
// ---- // ----
// step: fullSimplify // step: fullSimplify
// //
// { mstore(0, 13) } // { { mstore(0, 13) } }

View File

@ -5,4 +5,4 @@
// ---- // ----
// step: fullSimplify // step: fullSimplify
// //
// { mstore(0, 0) } // { { mstore(0, 0) } }

View File

@ -6,6 +6,8 @@
// step: fullSimplify // step: fullSimplify
// //
// { // {
// let _1 := 0 // {
// mstore(_1, sub(calldataload(1), calldataload(_1))) // let _1 := 0
// mstore(_1, sub(calldataload(1), calldataload(_1)))
// }
// } // }

View File

@ -5,4 +5,4 @@
// ---- // ----
// step: fullSimplify // step: fullSimplify
// //
// { mstore(0, 0) } // { { mstore(0, 0) } }

View File

@ -7,7 +7,7 @@
// step: fullSimplify // step: fullSimplify
// //
// { // {
// mstore(f(), 0) // { mstore(f(), 0) }
// function f() -> a // function f() -> a
// { } // { }
// } // }

View File

@ -7,7 +7,9 @@
// step: fullSimplify // step: fullSimplify
// //
// { // {
// let a := 10 // {
// for { } iszero(iszero(a)) { a := add(a, 1) } // let a := 10
// { } // for { } iszero(iszero(a)) { a := add(a, 1) }
// { }
// }
// } // }

View File

@ -11,8 +11,10 @@
// step: fullSimplify // step: fullSimplify
// //
// { // {
// let a := calldataload(0) // {
// let _4 := 0 // let a := calldataload(0)
// let b := a // let _4 := 0
// mstore(b, eq(calldataload(_4), a)) // let b := a
// mstore(b, eq(calldataload(_4), a))
// }
// } // }

View File

@ -5,6 +5,8 @@
// step: fullSimplify // step: fullSimplify
// //
// { // {
// let _4 := 0 // {
// mstore(_4, and(calldataload(_4), 255)) // let _4 := 0
// mstore(_4, and(calldataload(_4), 255))
// }
// } // }

View File

@ -5,6 +5,8 @@
// step: fullSimplify // step: fullSimplify
// //
// { // {
// let _4 := 0 // {
// mstore(_4, and(calldataload(_4), 0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff)) // let _4 := 0
// mstore(_4, and(calldataload(_4), 0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff))
// }
// } // }

View File

@ -6,9 +6,11 @@
// step: fullSimplify // step: fullSimplify
// //
// { // {
// let _2 := f(1) // {
// let _3 := 0 // let _2 := f(1)
// mstore(_3, sub(f(_3), _2)) // let _3 := 0
// mstore(_3, sub(f(_3), _2))
// }
// function f(a) -> b // function f(a) -> b
// { } // { }
// } // }

View File

@ -8,7 +8,7 @@
// step: fullSimplify // step: fullSimplify
// //
// { // {
// mstore(0, sub(f1(), f2())) // { mstore(0, sub(f1(), f2())) }
// function f1() -> a // function f1() -> a
// { } // { }
// function f2() -> b // function f2() -> b

View File

@ -8,7 +8,7 @@
// step: fullSimplify // step: fullSimplify
// //
// { // {
// mstore(0, sub(f(), f())) // { mstore(0, sub(f(), f())) }
// function f() -> a // function f() -> a
// { mstore(1, 2) } // { mstore(1, 2) }
// } // }

View File

@ -7,7 +7,9 @@
// step: fullSimplify // step: fullSimplify
// //
// { // {
// let _1 := 0 // {
// pop(create(_1, _1, _1)) // let _1 := 0
// mstore(_1, 0) // pop(create(_1, _1, _1))
// mstore(_1, 0)
// }
// } // }

View File

@ -23,22 +23,24 @@
// step: fullSimplify // step: fullSimplify
// //
// { // {
// mstore(1, 0) // {
// mstore(2, 0) // mstore(1, 0)
// mstore(3, 0) // mstore(2, 0)
// mstore(4, 0) // mstore(3, 0)
// mstore(5, 0) // mstore(4, 0)
// mstore(6, 0) // mstore(5, 0)
// mstore(7, 0) // mstore(6, 0)
// mstore(8, 0) // mstore(7, 0)
// mstore(9, 0) // mstore(8, 0)
// mstore(10, 0) // mstore(9, 0)
// mstore(11, 0) // mstore(10, 0)
// mstore(12, 0) // mstore(11, 0)
// mstore(13, 0) // mstore(12, 0)
// mstore(14, 0) // mstore(13, 0)
// mstore(15, 0) // mstore(14, 0)
// mstore(16, 0) // mstore(15, 0)
// mstore(17, 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) // mstore(16, 0)
// mstore(18, 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) // mstore(17, 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff)
// mstore(18, 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff)
// }
// } // }

View File

@ -6,6 +6,8 @@
// step: fullSimplify // step: fullSimplify
// //
// { // {
// let _1 := 0 // {
// mstore(_1, mload(_1)) // let _1 := 0
// mstore(_1, mload(_1))
// }
// } // }

View File

@ -8,6 +8,8 @@
// step: fullSimplify // step: fullSimplify
// //
// { // {
// mstore(0, 7) // {
// mstore(1, 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) // mstore(0, 7)
// mstore(1, 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff)
// }
// } // }

View File

@ -2,4 +2,4 @@
// ---- // ----
// step: fullSimplify // step: fullSimplify
// //
// { } // { { } }

View File

@ -8,6 +8,8 @@
// step: loadResolver // step: loadResolver
// //
// { // {
// let a := mload(calldataload(0)) // {
// sstore(a, a) // let a := mload(calldataload(0))
// sstore(a, a)
// }
// } // }

View File

@ -9,8 +9,10 @@
// step: loadResolver // step: loadResolver
// //
// { // {
// let x := calldataload(0) // {
// let a := mload(x) // let x := calldataload(0)
// x := 7 // let a := mload(x)
// sstore(a, mload(x)) // x := 7
// sstore(a, mload(x))
// }
// } // }

View File

@ -9,8 +9,10 @@
// step: loadResolver // step: loadResolver
// //
// { // {
// let x := calldataload(0) // {
// let a := mload(x) // let x := calldataload(0)
// a := 7 // let a := mload(x)
// sstore(a, mload(x)) // a := 7
// sstore(a, mload(x))
// }
// } // }

View File

@ -9,8 +9,10 @@
// step: loadResolver // step: loadResolver
// //
// { // {
// let _1 := 10 // {
// let _2 := 0 // let _1 := 10
// mstore(_2, _1) // let _2 := 0
// sstore(_2, 89717814153306320011181716697424560163256864414616650038987186496166826726056) // mstore(_2, _1)
// sstore(_2, 89717814153306320011181716697424560163256864414616650038987186496166826726056)
// }
// } // }

View File

@ -6,8 +6,10 @@
// step: loadResolver // step: loadResolver
// //
// { // {
// for { } // {
// addmod(keccak256(0x0, create(0x0, 0x0, 0x0)), 0x0, 0x0) // for { }
// { } // addmod(keccak256(0x0, create(0x0, 0x0, 0x0)), 0x0, 0x0)
// { } // { }
// { }
// }
// } // }

View File

@ -10,9 +10,11 @@
// step: loadResolver // step: loadResolver
// //
// { // {
// let _1 := 30 // {
// let _2 := 0 // let _1 := 30
// mstore(_2, _1) // let _2 := 0
// if calldataload(_2) { mstore(_2, 20) } // mstore(_2, _1)
// sstore(_2, keccak256(_2, 32)) // if calldataload(_2) { mstore(_2, 20) }
// sstore(_2, keccak256(_2, 32))
// }
// } // }

View File

@ -9,8 +9,10 @@
// step: loadResolver // step: loadResolver
// //
// { // {
// let _1 := 10 // {
// mstore(100, _1) // let _1 := 10
// mstore(132, 5) // mstore(100, _1)
// sstore(0, keccak256(_1, 33)) // mstore(132, 5)
// sstore(0, keccak256(_1, 33))
// }
// } // }

View File

@ -19,13 +19,15 @@
// step: loadResolver // step: loadResolver
// //
// { // {
// let _1 := 10 // {
// let _2 := 0 // let _1 := 10
// mstore(_2, _1) // let _2 := 0
// sstore(_2, 9948786400348073077032572701554570401043517428989726124163377057770909578447) // mstore(_2, _1)
// sstore(1, 110945455955148346822663466543669633859020391897956790847617069135813044810108) // sstore(_2, 9948786400348073077032572701554570401043517428989726124163377057770909578447)
// let _13 := 85131057757245807317576516368191972321038229705283732634690444270750521936266 // sstore(1, 110945455955148346822663466543669633859020391897956790847617069135813044810108)
// let _14 := 2 // let _13 := 85131057757245807317576516368191972321038229705283732634690444270750521936266
// sstore(_14, _13) // let _14 := 2
// sstore(_14, 89477152217924674838424037953991966239322087453347756267410168184682657981552) // sstore(_14, _13)
// sstore(_14, 89477152217924674838424037953991966239322087453347756267410168184682657981552)
// }
// } // }

View File

@ -12,11 +12,13 @@
// step: loadResolver // step: loadResolver
// //
// { // {
// let _1 := 50 // {
// let _2 := "abcdefghijklmn" // let _1 := 50
// mstore(_1, _2) // let _2 := "abcdefghijklmn"
// let _3 := 51246744213555520563123611275127692828770413530219146609532820042079541949502 // mstore(_1, _2)
// let _4 := 0 // let _3 := 51246744213555520563123611275127692828770413530219146609532820042079541949502
// sstore(_4, _3) // let _4 := 0
// sstore(_4, add(_2, 1)) // sstore(_4, _3)
// sstore(_4, add(_2, 1))
// }
// } // }

View File

@ -15,8 +15,10 @@
// step: loadResolver // step: loadResolver
// //
// { // {
// let _1 := 0 // {
// mstore(calldataload(_1), 500) // let _1 := 0
// sstore(_1, 92647596584187651892918913434663110448935397770592030057655219009846081465370) // mstore(calldataload(_1), 500)
// sstore(1, 110620294328144418057589324861608220015688365608948720310623173341503153578932) // sstore(_1, 92647596584187651892918913434663110448935397770592030057655219009846081465370)
// sstore(1, 110620294328144418057589324861608220015688365608948720310623173341503153578932)
// }
// } // }

View File

@ -11,9 +11,11 @@
// step: loadResolver // step: loadResolver
// //
// { // {
// let _1 := msize() // {
// let _2 := 0 // let _1 := msize()
// sstore(_2, _1) // let _2 := 0
// mstore(_2, 10) // sstore(_2, _1)
// sstore(1, keccak256(_2, 32)) // mstore(_2, 10)
// sstore(1, keccak256(_2, 32))
// }
// } // }

View File

@ -8,11 +8,13 @@
// step: loadResolver // step: loadResolver
// //
// { // {
// let _1 := 123213 // {
// let _2 := 0 // let _1 := 123213
// sstore(_2, _1) // let _2 := 0
// let x := _2 // sstore(_2, _1)
// let y // let x := _2
// for { } lt(x, _1) { x := add(x, 1) } // let y
// { y := add(x, y) } // for { } lt(x, _1) { x := add(x, 1) }
// { y := add(x, y) }
// }
// } // }

View File

@ -18,18 +18,20 @@
// step: loadResolver // step: loadResolver
// //
// { // {
// let _1 := 9 // {
// let _2 := 2 // let _1 := 9
// mstore(_2, _1) // let _2 := 2
// let _4 := _1 // mstore(_2, _1)
// let _5 := 0 // let _4 := _1
// sstore(_5, _4) // let _5 := 0
// pop(call(_5, _5, _5, _5, _5, _5, _5)) // sstore(_5, _4)
// sstore(_5, mload(_2)) // pop(call(_5, _5, _5, _5, _5, _5, _5))
// let _17 := 10 // sstore(_5, mload(_2))
// mstore(_2, _17) // let _17 := 10
// mstore8(calldataload(_5), 4) // mstore(_2, _17)
// sstore(_5, mload(_2)) // mstore8(calldataload(_5), 4)
// mstore(_2, _17) // sstore(_5, mload(_2))
// sstore(_5, _17) // mstore(_2, _17)
// sstore(_5, _17)
// }
// } // }

View File

@ -9,9 +9,11 @@
// step: loadResolver // step: loadResolver
// //
// { // {
// let _1 := msize() // {
// let _3 := calldataload(0) // let _1 := msize()
// mstore(_3, _1) // let _3 := calldataload(0)
// let t := mload(calldataload(10)) // mstore(_3, _1)
// sstore(t, mload(_3)) // let t := mload(calldataload(10))
// sstore(t, mload(_3))
// }
// } // }

View File

@ -11,12 +11,14 @@
// step: loadResolver // step: loadResolver
// //
// { // {
// let _2 := calldataload(10) // {
// let _3 := 0 // let _2 := calldataload(10)
// let _4 := calldataload(_3) // let _3 := 0
// mstore(_4, _2) // let _4 := calldataload(_3)
// let _5 := 1 // mstore(_4, _2)
// if calldataload(_5) { mstore(_4, _5) } // let _5 := 1
// let t := mload(_3) // if calldataload(_5) { mstore(_4, _5) }
// sstore(t, mload(_4)) // let t := mload(_3)
// sstore(t, mload(_4))
// }
// } // }

View File

@ -11,10 +11,12 @@
// step: loadResolver // step: loadResolver
// //
// { // {
// let _2 := calldataload(10) // {
// let _4 := calldataload(0) // let _2 := calldataload(10)
// mstore(_4, _2) // let _4 := calldataload(0)
// let _5 := 1 // mstore(_4, _2)
// if calldataload(_5) { mstore(add(_4, 0x20), _5) } // let _5 := 1
// sstore(mload(add(_4, 0x20)), _2) // if calldataload(_5) { mstore(add(_4, 0x20), _5) }
// sstore(mload(add(_4, 0x20)), _2)
// }
// } // }

Some files were not shown because too many files have changed in this diff Show More