Yul Optimizer: Simplify start offset of zero-length operations.

This commit is contained in:
Daniel Kirchner
2022-07-08 12:29:58 +02:00
committed by Marenz
parent b6f11b3392
commit 6ce4ff262b
7 changed files with 57 additions and 4 deletions
@@ -1,5 +1,5 @@
{
for {} div(create(0, 1, 0), shl(msize(), 1)) {}
for {} div(create(0, 1, 1), shl(msize(), 1)) {}
{
}
}
@@ -10,7 +10,7 @@
//
// {
// {
// for { } div(create(0, 1, 0), shl(msize(), 1)) { }
// for { } div(create(0, 1, 1), shl(msize(), 1)) { }
// { }
// }
// }
@@ -0,0 +1,21 @@
{
revert(calldataload(0), 0)
revert(call(0,0,0,0,0,0,0), 0)
calldatacopy(calldataload(1), calldataload(2), 0)
return(calldataload(3), 0)
codecopy(calldataload(4), calldataload(5), sub(42,42))
}
// ----
// step: expressionSimplifier
//
// {
// {
// let _1 := 0
// revert(0, _1)
// pop(call(_1, _1, _1, _1, _1, _1, _1))
// revert(0, _1)
// calldatacopy(0, calldataload(2), _1)
// return(0, _1)
// codecopy(0, calldataload(5), 0)
// }
// }