aboutsummaryrefslogtreecommitdiffstats
path: root/test/libyul/yulOptimizerTests/commonSubexpressionEliminator/function_scopes.yul
blob: 28e840cffdd10db43a90fd23f465941c33945195 (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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
{
    function allocate(size) -> p
    {
        let _1 := 0x40
        p := mload(_1)
        let _2 := add(p, size)
        let _3 := 0x40
        mstore(_3, _2)
    }
    function array_index_access(array, index) -> p_1
    {
        let _4 := 0x20
        let _5 := mul(index, _4)
        p_1 := add(array, _5)
    }
    let _6 := 0x20
    let _7 := allocate(_6)
    pop(_7)
    let _8 := 0x40
    let x := allocate(_8)
    let _9 := 2
    let _10 := 3
    let _11 := array_index_access(x, _10)
    mstore(_11, _9)
}
// ----
// commonSubexpressionEliminator
// {
//     function allocate(size) -> p
//     {
//         let _1 := 0x40
//         p := mload(_1)
//         let _2 := add(p, size)
//         let _3 := _1
//         mstore(_1, _2)
//     }
//     function array_index_access(array, index) -> p_1
//     {
//         let _4 := 0x20
//         let _5 := mul(index, _4)
//         p_1 := add(array, _5)
//     }
//     let _6 := 0x20
//     let _7 := allocate(_6)
//     pop(_7)
//     let _8 := 0x40
//     let x := allocate(_8)
//     let _9 := 2
//     let _10 := 3
//     let _11 := array_index_access(x, _10)
//     mstore(_11, _9)
// }