Skip to content

Commit e63d28b

Browse files
committed
Address review comments. Add cmdLineTest
1 parent 6491d58 commit e63d28b

17 files changed

Lines changed: 94 additions & 74 deletions
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
--strict-assembly --optimize --yul-optimizations S: --ir-optimized
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
object "UnusedStoreEliminatorNoSSA" {
2+
code {
3+
let x := calldataload(4)
4+
let a := add(x, 32)
5+
x := add(x, 32)
6+
let b := x
7+
let outLen := 32
8+
mstore(a, 0xAA)
9+
return(b, outLen)
10+
}
11+
}
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
2+
======= input.yul (EVM) =======
3+
4+
Pretty printed source:
5+
object "UnusedStoreEliminatorNoSSA" {
6+
code {
7+
{
8+
let x := calldataload(4)
9+
let a := add(x, 32)
10+
x := add(x, 32)
11+
let b := x
12+
let outLen := 32
13+
mstore(a, 0xAA)
14+
return(b, outLen)
15+
}
16+
}
17+
}

test/libyul/yulOptimizerTests/unusedStoreEliminatorNoSsaTransform/dependency_reassigned_prevents_elimination.yul

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -11,13 +11,11 @@
1111
// step: unusedStoreEliminatorNoSsaTransform
1212
//
1313
// {
14-
// {
15-
// let x := calldataload(0)
16-
// x := calldataload(32)
17-
// let a := add(x, 32)
18-
// let b := x
19-
// let outLen := 32
20-
// mstore(a, 0xAA)
21-
// return(b, outLen)
22-
// }
14+
// let x := calldataload(0)
15+
// x := calldataload(32)
16+
// let a := add(x, 32)
17+
// let b := x
18+
// let outLen := 32
19+
// mstore(a, 0xAA)
20+
// return(b, outLen)
2321
// }

test/libyul/yulOptimizerTests/unusedStoreEliminatorNoSsaTransform/function_parameter_as_mstore_location_covering.yul

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@
1313
// step: unusedStoreEliminatorNoSsaTransform
1414
//
1515
// {
16-
// { }
1716
// function f(arg)
1817
// {
1918
// let a := add(arg, 1)

test/libyul/yulOptimizerTests/unusedStoreEliminatorNoSsaTransform/function_parameter_as_mstore_location_unrelated.yul

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,13 +13,11 @@
1313
// step: unusedStoreEliminatorNoSsaTransform
1414
//
1515
// {
16-
// { }
1716
// function f(arg)
1817
// {
1918
// let a := add(arg, 32)
2019
// let b := arg
2120
// let outLen := 32
22-
// let _2 := 0xAA
2321
// return(b, outLen)
2422
// }
2523
// }

test/libyul/yulOptimizerTests/unusedStoreEliminatorNoSsaTransform/function_parameter_reassigned_as_mstore_location_covering.yul

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@
1313
// step: unusedStoreEliminatorNoSsaTransform
1414
//
1515
// {
16-
// { }
1716
// function f(arg)
1817
// {
1918
// let b := arg

test/libyul/yulOptimizerTests/unusedStoreEliminatorNoSsaTransform/function_parameter_reassigned_as_mstore_location_unrelated.yul

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@
1313
// step: unusedStoreEliminatorNoSsaTransform
1414
//
1515
// {
16-
// { }
1716
// function f(arg)
1817
// {
1918
// let b := arg

test/libyul/yulOptimizerTests/unusedStoreEliminatorNoSsaTransform/mstore_location_reassigned.yul

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -13,14 +13,12 @@
1313
// step: unusedStoreEliminatorNoSsaTransform
1414
//
1515
// {
16-
// {
17-
// let x := calldataload(4)
18-
// let x_5 := x
19-
// let a := add(x_5, 32)
20-
// x := add(x_5, 32)
21-
// let b := x
22-
// let outLen := 32
23-
// mstore(a, 0xAA)
24-
// return(b, outLen)
25-
// }
16+
// let x := calldataload(4)
17+
// let x_5 := x
18+
// let a := add(x_5, 32)
19+
// x := add(x_5, 32)
20+
// let b := x
21+
// let outLen := 32
22+
// mstore(a, 0xAA)
23+
// return(b, outLen)
2624
// }

test/libyul/yulOptimizerTests/unusedStoreEliminatorNoSsaTransform/multi_return_var_not_tracked.yul

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -13,15 +13,13 @@
1313
// step: unusedStoreEliminatorNoSsaTransform
1414
//
1515
// {
16-
// {
17-
// let a, b := g()
18-
// let c := add(a, 32)
19-
// mstore(c, 0xAA)
20-
// return(a, b)
21-
// }
2216
// function g() -> r1, r2
2317
// {
2418
// r1 := calldataload(0)
2519
// r2 := calldataload(32)
2620
// }
21+
// let a, b := g()
22+
// let c := add(a, 32)
23+
// mstore(c, 0xAA)
24+
// return(a, b)
2725
// }

0 commit comments

Comments
 (0)