solidity/test/libyul/yulOptimizerTests/splitJoin/functions.yul
2019-04-03 14:58:20 +02:00

32 lines
599 B
Plaintext

{
let x := f(0)
function f(y) -> r {
r := mload(mul(6, add(y, 0x20)))
}
for { let a := 2 } lt(a, mload(a)) { a := add(a, mul(a, 2)) } {
let b := mul(add(a, f(a)), 4)
sstore(b, mul(b, 2))
}
}
// ====
// step: splitJoin
// ----
// {
// let x := f(0)
// function f(y) -> r
// {
// r := mload(mul(6, add(y, 0x20)))
// }
// for {
// let a := 2
// }
// lt(a, mload(a))
// {
// a := add(a, mul(a, 2))
// }
// {
// let b := mul(add(a, f(a)), 4)
// sstore(b, mul(b, 2))
// }
// }