aboutsummaryrefslogtreecommitdiffstats
path: root/test/libjulia/yulOptimizerTests/expressionSplitter/inside_function.yul
blob: 53bbcea76d420d555b2c70e881cfcf0a9598b8e4 (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
{
    let x := mul(f(0, mload(7)), 3)
    function f(a, b) -> c {
        c := mul(a, mload(add(b, c)))
    }
    sstore(x, f(mload(2), mload(2)))
}
// ----
// expressionSplitter
// {
//     let _1 := 3
//     let _2 := 7
//     let _3 := mload(_2)
//     let _4 := 0
//     let _5 := f(_4, _3)
//     let x := mul(_5, _1)
//     function f(a, b) -> c
//     {
//         let _6 := add(b, c)
//         let _7 := mload(_6)
//         c := mul(a, _7)
//     }
//     let _8 := 2
//     let _9 := mload(_8)
//     let _10 := 2
//     let _11 := mload(_10)
//     let _12 := f(_11, _9)
//     sstore(x, _12)
// }