Skip to content

Commit

Permalink
Update tests expectations
Browse files Browse the repository at this point in the history
  • Loading branch information
rodiazet committed Dec 17, 2024
1 parent 50ef1ed commit a511f6b
Show file tree
Hide file tree
Showing 24 changed files with 253 additions and 92 deletions.
Original file line number Diff line number Diff line change
@@ -1,10 +1,23 @@
{
function f(a, b, c) -> x { pop(address()) sstore(a, c) pop(callvalue()) x := b }
pop(f(0, 0, 0))
}
// ====
// stackOptimization: true
// ----
// /* "":0:88 */
// /* "":95:105 */
// tag_2
// /* "":103:104 */
// 0x00
// /* "":95:105 */
// dup1
// dup1
// tag_1
// jump // in
// tag_2:
// /* "":91:106 */
// pop
// /* "":0:108 */
// stop
// /* "":6:86 */
// tag_1:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,23 @@
mstore(0x80, x)
if calldataload(0) { sstore(y, y) }
}

f(0, 0)
}
// ====
// stackOptimization: true
// EVMVersion: >=shanghai
// stackOptimization: true
// ----
// /* "":0:88 */
// /* "":90:97 */
// tag_2
// /* "":95:96 */
// 0x00
// /* "":90:97 */
// dup1
// tag_1
// jump // in
// tag_2:
// /* "":0:99 */
// stop
// /* "":4:86 */
// tag_1:
Expand All @@ -21,18 +32,18 @@
// /* "":50:65 */
// calldataload
// /* "":47:82 */
// tag_2
// tag_3
// jumpi
// /* "":21:86 */
// tag_3:
// tag_4:
// /* "":4:86 */
// pop
// jump // out
// /* "":66:82 */
// tag_2:
// tag_3:
// /* "":68:80 */
// dup1
// sstore
// /* "":66:82 */
// 0x00
// jump(tag_3)
// jump(tag_4)
Original file line number Diff line number Diff line change
Expand Up @@ -21,11 +21,42 @@
mstore(0x0340, a19)
x := a20
}

pop(f(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0))
}
// ====
// stackOptimization: true
// ----
// /* "":0:662 */
// /* "":670:731 */
// tag_2
// /* "":729:730 */
// 0x00
// /* "":670:731 */
// dup1
// dup1
// dup1
// dup1
// dup1
// dup1
// dup1
// dup1
// dup1
// dup1
// dup1
// dup1
// dup1
// dup1
// dup1
// dup1
// dup1
// dup1
// dup1
// tag_1
// jump // in
// tag_2:
// /* "":666:732 */
// pop
// /* "":0:734 */
// stop
// /* "":6:660 */
// tag_1:
Expand Down
13 changes: 12 additions & 1 deletion test/libyul/evmCodeTransform/stackReuse/function_params.yul
Original file line number Diff line number Diff line change
@@ -1,10 +1,21 @@
{
function f(a, b) { }

f(0, 0)
}
// ====
// stackOptimization: true
// ----
// /* "":0:28 */
// /* "":32:39 */
// tag_2
// /* "":37:38 */
// 0x00
// /* "":32:39 */
// dup1
// tag_1
// jump // in
// tag_2:
// /* "":0:41 */
// stop
// /* "":6:26 */
// tag_1:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,24 @@
// can be reused.
{
function f(a, b, c, d) -> x, y { }

let x, y := f(0, 0, 0, 0)
}
// ====
// stackOptimization: true
// ----
// /* "":210:252 */
// /* "":268:281 */
// tag_2
// /* "":279:280 */
// 0x00
// /* "":268:281 */
// dup1
// dup1
// dup1
// tag_1
// jump // in
// tag_2:
// /* "":210:283 */
// stop
// /* "":216:250 */
// tag_1:
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,23 @@
{
function f(a, b, c, d) -> x, y { b := 3 let s := 9 y := 2 mstore(s, y) }

let x, y := f(0, 0, 0, 0)
}
// ====
// stackOptimization: true
// ----
// /* "":0:80 */
// /* "":97:110 */
// tag_2
// /* "":108:109 */
// 0x00
// /* "":97:110 */
// dup1
// dup1
// dup1
// tag_1
// jump // in
// tag_2:
// /* "":0:112 */
// stop
// /* "":6:78 */
// tag_1:
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,17 @@
{
function f() -> x, y { }

let x, y := f()
}
// ====
// stackOptimization: true
// ----
// /* "":0:32 */
// /* "":49:52 */
// tag_2
// tag_1
// jump // in
// tag_2:
// /* "":0:54 */
// stop
// /* "":6:30 */
// tag_1:
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,19 @@
{
function f() -> x { pop(address()) { pop(callvalue()) } }

pop(f())
}
// ====
// stackOptimization: true
// ----
// /* "":0:65 */
// /* "":74:77 */
// tag_2
// tag_1
// jump // in
// tag_2:
// /* "":70:78 */
// pop
// /* "":0:80 */
// stop
// /* "":6:63 */
// tag_1:
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,19 @@
{
function f() -> x { pop(address()) let y := callvalue() }

pop(f())
}
// ====
// stackOptimization: true
// ----
// /* "":0:65 */
// /* "":74:77 */
// tag_2
// tag_1
// jump // in
// tag_2:
// /* "":70:78 */
// pop
// /* "":0:80 */
// stop
// /* "":6:63 */
// tag_1:
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,19 @@
{
function f() -> x { pop(address()) for { pop(callvalue()) } 0 {} { } }

pop(f())
}
// ====
// stackOptimization: true
// ----
// /* "":0:78 */
// /* "":86:89 */
// tag_2
// tag_1
// jump // in
// tag_2:
// /* "":82:90 */
// pop
// /* "":0:92 */
// stop
// /* "":6:76 */
// tag_1:
Expand Down
19 changes: 14 additions & 5 deletions test/libyul/evmCodeTransform/stackReuse/function_retparam_if.yul
Original file line number Diff line number Diff line change
@@ -1,10 +1,19 @@
{
function f() -> x { pop(address()) if 1 { pop(callvalue()) } }

pop(f())
}
// ====
// stackOptimization: true
// ----
// /* "":0:70 */
// /* "":78:81 */
// tag_2
// tag_1
// jump // in
// tag_2:
// /* "":74:82 */
// pop
// /* "":0:84 */
// stop
// /* "":6:68 */
// tag_1:
Expand All @@ -19,17 +28,17 @@
// /* "":26:40 */
// pop
// /* "":41:66 */
// tag_2
// tag_3
// jumpi
// /* "":24:68 */
// tag_3:
// tag_4:
// /* "":6:68 */
// jump // out
// /* "":46:66 */
// tag_2:
// tag_3:
// /* "":52:63 */
// callvalue
// /* "":48:64 */
// pop
// /* "":46:66 */
// jump(tag_3)
// jump(tag_4)
Original file line number Diff line number Diff line change
@@ -1,10 +1,19 @@
{
function f() -> x { pop(address()) leave pop(callvalue()) }

pop(f())
}
// ====
// stackOptimization: true
// ----
// /* "":0:67 */
// /* "":75:78 */
// tag_2
// tag_1
// jump // in
// tag_2:
// /* "":71:79 */
// pop
// /* "":0:81 */
// stop
// /* "":6:65 */
// tag_1:
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,19 @@
{
function f() -> x { pop(address()) sstore(0, x) pop(callvalue()) }

pop(f())
}
// ====
// stackOptimization: true
// ----
// /* "":0:74 */
// /* "":82:85 */
// tag_2
// tag_1
// jump // in
// tag_2:
// /* "":78:86 */
// pop
// /* "":0:88 */
// stop
// /* "":6:72 */
// tag_1:
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,19 @@
{
function f() -> x { pop(callvalue()) }

pop(f())
}
// ====
// stackOptimization: true
// ----
// /* "":0:46 */
// /* "":54:57 */
// tag_2
// tag_1
// jump // in
// tag_2:
// /* "":50:58 */
// pop
// /* "":0:60 */
// stop
// /* "":6:44 */
// tag_1:
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,17 @@
{
function f() -> x, y, z { pop(callvalue()) }

let x, y, z := f()
}
// ====
// stackOptimization: true
// ----
// /* "":0:52 */
// /* "":71:74 */
// tag_2
// tag_1
// jump // in
// tag_2:
// /* "":0:76 */
// stop
// /* "":6:50 */
// tag_1:
Expand Down
Loading

0 comments on commit a511f6b

Please sign in to comment.