FullInliner: Fix order of arguments of inlined functions

This commit is contained in:
Kamil Śliwak
2023-07-17 16:40:43 +02:00
parent a07f6c443a
commit 5e1e0e7752
12 changed files with 106 additions and 44 deletions
@@ -16,8 +16,9 @@
// let _1 := ret_7
// let ret_1_10 := 0
// return(0, 0)
// let a_13 := ret_1_10
// let b_14 := _1
// let _2 := ret_1_10
// let b_13 := _1
// let a_14 := _2
// }
// function fun_revert() -> ret
// { revert(0, 0) }
@@ -24,25 +24,27 @@
// {
// let _1 := 333
// let _2 := 222
// let a_13 := 111
// let _3 := 111
// let c_13 := _1
// let b_14 := _2
// let c_15 := _1
// let a_15 := _3
// let x := 111
// let y := 222
// let z := 333
// let a_16 := x
// let c_16 := 333
// let b_17 := y
// let c_18 := z
// let a_18 := x
// let _5 := calldataload(333)
// let _7 := sload(222)
// let a_19 := mload(111)
// let _9 := mload(111)
// let c_19 := _5
// let b_20 := _7
// let c_21 := _5
// let a_21 := _9
// let a_1 := 222
// let _11 := mload(333)
// let a_22 := 111
// let _12 := 111
// let c_22 := _11
// let b_23 := a_1
// let c_24 := _11
// let a_24 := _12
// }
// function empty(a, b, c)
// { }
@@ -13,12 +13,13 @@
// let _2 := mload(5)
// let _4 := mload(4)
// let _6 := mload(3)
// let a_13 := mload(2)
// let _8 := mload(2)
// let c_13 := _4
// let b_14 := _6
// let c_15 := _4
// let a_15 := _8
// let x_16 := 0
// x_16 := add(a_13, b_14)
// x_16 := mul(x_16, c_15)
// x_16 := add(a_15, b_14)
// x_16 := mul(x_16, c_13)
// let _10 := add(x_16, _2)
// let y := add(mload(1), _10)
// }
@@ -12,13 +12,14 @@
// let a_8 := 3
// let x_9 := 0
// x_9 := add(a_8, a_8)
// let b_10 := x_9
// let c_11 := _1
// let _3 := x_9
// let c_10 := _1
// let b_11 := _3
// let y_12 := 0
// let a_6_13 := b_10
// let a_6_13 := b_11
// let x_7_14 := 0
// x_7_14 := add(a_6_13, a_6_13)
// y_12 := mul(mload(c_11), x_7_14)
// y_12 := mul(mload(c_10), x_7_14)
// let y_1 := y_12
// }
// function f(a) -> x
@@ -11,12 +11,12 @@
//
// {
// {
// let ret_1_3 := 0
// return(0, 0)
// let a_1 := ret_1_3
// let ret_4 := 0
// let ret_3 := 0
// revert(0, 0)
// let b_2 := ret_4
// let b_1 := ret_3
// let ret_1_4 := 0
// return(0, 0)
// let a_2 := ret_1_4
// }
// function fun_revert() -> ret
// { revert(0, 0) }
@@ -22,22 +22,22 @@
//
// {
// {
// let a_2 := 111
// let b_3 := 222
// let c_4 := 333
// let c_1 := 333
// let b_2 := 222
// let a_3 := 111
// let x := 111
// let y := 222
// let z := 333
// let a_5 := x
// let b_6 := y
// let c_7 := z
// let a_8 := mload(111)
// let b_9 := sload(222)
// let c_10 := calldataload(333)
// let c_4 := z
// let b_5 := y
// let a_6 := x
// let c_7 := calldataload(333)
// let b_8 := sload(222)
// let a_9 := mload(111)
// let a_1 := 222
// let a_11 := 111
// let b_12 := a_1
// let c_13 := mload(333)
// let c_10 := mload(333)
// let b_11 := a_1
// let a_12 := 111
// }
// function empty(a, b, c)
// { }