aboutsummaryrefslogtreecommitdiffstats
path: root/test/libyul/yulOptimizerTests/splitJoin/functions.yul
blob: 549fc55032c6121655c131745250aef81e4b1fc5 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
{
    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))
    }
}
// ----
// 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))
//     }
// }