Rematerialize zero literals with default cleanup sequence

Add unused pruner step to the end of the default cleanup sequence
This commit is contained in:
Nikola Matic
2023-09-04 15:40:33 +02:00
parent 1b8e792eb6
commit fdc6699159
121 changed files with 309 additions and 666 deletions
+3 -3
View File
@@ -101,7 +101,7 @@ object "C_59" {
mstore(add(memPtr_1, _3), "longstringlongstringlongstringlo")
mstore(add(memPtr_1, _9), "ngstringlongstringlongstringlong")
let _11 := 96
mstore(add(memPtr_1, _11), "stringlongstringlongstringlongst")
mstore(add(memPtr_1, 96), "stringlongstringlongstringlongst")
mstore(add(memPtr_1, 128), "ring")
let memPos := mload(_9)
mstore(memPos, _10)
@@ -113,8 +113,8 @@ object "C_59" {
{
mstore(add(add(memPos, i), _11), mload(add(add(memPtr_1, i), _3)))
}
mstore(add(add(memPos, length), _11), 0)
return(memPos, add(sub(add(memPos, and(add(length, 31), _8)), memPos), _11))
mstore(add(add(memPos, length), 96), 0)
return(memPos, add(sub(add(memPos, and(add(length, 31), _8)), memPos), 96))
}
}
revert(0, 0)
@@ -19,7 +19,7 @@ object "Arraysum_34" {
/// @src 0:80:429 "contract Arraysum {..."
mstore(64, memoryguard(0x80))
let _1 := 4
if iszero(lt(calldatasize(), _1))
if iszero(lt(calldatasize(), 4))
{
if eq(0x81d73423, shr(224, calldataload(0)))
{
@@ -27,8 +27,8 @@ object "Arraysum_34" {
if slt(add(calldatasize(), not(3)), 0) { revert(0, 0) }
let var_sum := 0
/// @src 0:368:378 "uint i = 0"
let var_i := /** @src 0:80:429 "contract Arraysum {..." */ var_sum
let _2 := sload(var_sum)
let var_i := /** @src 0:80:429 "contract Arraysum {..." */ 0
let _2 := sload(0)
/// @src 0:364:423 "for(uint i = 0; i < values.length; i++)..."
for { }
/** @src 0:380:397 "i < values.length" */ lt(var_i, _2)
@@ -112,8 +112,8 @@ sub_0: assembly {
dup1
revert
tag_8:
jumpi(tag_12, callvalue)
jumpi(tag_12, slt(add(not(0x03), calldatasize), 0x00))
jumpi(tag_26, callvalue)
jumpi(tag_26, slt(add(not(0x03), calldatasize), 0x00))
sload(0x00)
sub(shl(0xff, 0x01), 0x01)
dup2
@@ -122,36 +122,39 @@ sub_0: assembly {
jumpi
0x01
add
swap1
dup2
0x00
dup2
swap1
sstore
dup1
dup2
mload
shl(0xe4, 0x026121ff)
/* \"C\":403:411 this.f() */
dup2
mstore
0x20
/* \"C\":403:407 this */
dup2
/* \"C\":79:428 contract C... */
swap2
swap1
/* \"C\":403:411 this.f() */
0x20
/* \"C\":79:428 contract C... */
dup4
0x04
/* \"C\":403:407 this */
dup2
/* \"C\":403:407 this */
address
/* \"C\":403:411 this.f() */
gas
staticcall
swap1
dup2
swap3
dup4
iszero
tag_16
jumpi
/* \"C\":79:428 contract C... */
0x00
/* \"C\":403:411 this.f() */
swap2
swap4
tag_18
jumpi
/* \"C\":79:428 contract C... */
@@ -159,14 +162,14 @@ sub_0: assembly {
/* \"C\":392:411 stateVar + this.f() */
pop
tag_20
/* \"C\":392:422 stateVar + this.f() + immutVar */
tag_21
/* \"C\":392:411 stateVar + this.f() */
swap2
/* \"C\":403:411 this.f() */
0x20
/* \"C\":392:411 stateVar + this.f() */
swap5
swap4
/* \"C\":392:422 stateVar + this.f() + immutVar */
tag_21
/* \"C\":392:411 stateVar + this.f() */
swap3
tag_1
jump\t// in
tag_20:
@@ -186,13 +189,10 @@ sub_0: assembly {
return
/* \"C\":403:411 this.f() */
tag_18:
swap1
swap3
pop
0x20
returndatasize
dup2
gt
tag_22
jumpi
jumpi(tag_22, gt(0x20, returndatasize))
tag_23:
/* \"C\":79:428 contract C... */
0x1f
@@ -200,12 +200,12 @@ sub_0: assembly {
add
not(0x1f)
and
dup4
dup5
add
0xffffffffffffffff
dup2
gt
dup5
dup6
dup3
lt
or
@@ -215,9 +215,9 @@ sub_0: assembly {
0x20
/* \"C\":79:428 contract C... */
swap2
dup5
dup6
swap2
dup7
dup6
mstore
/* \"C\":403:411 this.f() */
dup2
@@ -227,26 +227,26 @@ sub_0: assembly {
slt
tag_26
jumpi
pop
swap2
mload
swap2
/* \"C\":392:411 stateVar + this.f() */
tag_20
/* \"C\":403:411 this.f() */
jump(tag_19)
/* \"C\":79:428 contract C... */
tag_26:
0x00
dup1
revert
tag_24:
/* \"C\":117:119 41 */
shl(0xe0, 0x4e487b71)
dup4
/* \"C\":79:428 contract C... */
0x00
mstore
mstore(0x04, 0x41)
0x24
/* \"C\":117:119 41 */
dup4
/* \"C\":79:428 contract C... */
revert
revert(0x00, 0x24)
/* \"C\":403:411 this.f() */
tag_22:
pop
@@ -281,14 +281,10 @@ sub_0: assembly {
/* \"C\":117:119 41 */
revert
/* \"C\":79:428 contract C... */
tag_12:
0x00
dup1
revert
tag_6:
pop
jumpi(tag_12, callvalue)
jumpi(tag_12, slt(add(not(0x03), calldatasize), 0x00))
jumpi(tag_26, callvalue)
jumpi(tag_26, slt(add(not(0x03), calldatasize), 0x00))
0x20
swap1
sload(0x00)
@@ -299,8 +295,8 @@ sub_0: assembly {
mstore
return
tag_4:
jumpi(tag_12, callvalue)
jumpi(tag_12, slt(add(not(0x03), calldatasize), 0x00))
jumpi(tag_26, callvalue)
jumpi(tag_26, slt(add(not(0x03), calldatasize), 0x00))
/* \"C\":290:298 immutVar */
immutable(\"0xe4b1702d9298fee62dfeccc57d322a463ad55ca201256d01f62b45b2e1c21c10\")
/* \"C\":117:119 41 */
@@ -481,8 +477,8 @@ sub_0: assembly {
dup1
revert
tag_8:
jumpi(tag_12, callvalue)
jumpi(tag_12, slt(add(not(0x03), calldatasize), 0x00))
jumpi(tag_26, callvalue)
jumpi(tag_26, slt(add(not(0x03), calldatasize), 0x00))
sload(0x00)
sub(shl(0xff, 0x01), 0x01)
dup2
@@ -491,36 +487,39 @@ sub_0: assembly {
jumpi
0x01
add
swap1
dup2
0x00
dup2
swap1
sstore
dup1
dup2
mload
shl(0xe4, 0x026121ff)
/* \"C\":403:411 this.f() */
dup2
mstore
0x20
/* \"C\":403:407 this */
dup2
/* \"D\":91:166 contract D is C(3)... */
swap2
swap1
/* \"C\":403:411 this.f() */
0x20
/* \"D\":91:166 contract D is C(3)... */
dup4
0x04
/* \"C\":403:407 this */
dup2
/* \"C\":403:407 this */
address
/* \"C\":403:411 this.f() */
gas
staticcall
swap1
dup2
swap3
dup4
iszero
tag_16
jumpi
/* \"D\":91:166 contract D is C(3)... */
0x00
/* \"C\":403:411 this.f() */
swap2
swap4
tag_18
jumpi
/* \"D\":91:166 contract D is C(3)... */
@@ -528,14 +527,14 @@ sub_0: assembly {
/* \"C\":392:411 stateVar + this.f() */
pop
tag_20
/* \"C\":392:422 stateVar + this.f() + immutVar */
tag_21
/* \"C\":392:411 stateVar + this.f() */
swap2
/* \"C\":403:411 this.f() */
0x20
/* \"C\":392:411 stateVar + this.f() */
swap5
swap4
/* \"C\":392:422 stateVar + this.f() + immutVar */
tag_21
/* \"C\":392:411 stateVar + this.f() */
swap3
tag_1
jump\t// in
tag_20:
@@ -555,13 +554,10 @@ sub_0: assembly {
return
/* \"C\":403:411 this.f() */
tag_18:
swap1
swap3
pop
0x20
returndatasize
dup2
gt
tag_22
jumpi
jumpi(tag_22, gt(0x20, returndatasize))
tag_23:
/* \"D\":91:166 contract D is C(3)... */
0x1f
@@ -569,12 +565,12 @@ sub_0: assembly {
add
not(0x1f)
and
dup4
dup5
add
0xffffffffffffffff
dup2
gt
dup5
dup6
dup3
lt
or
@@ -584,9 +580,9 @@ sub_0: assembly {
0x20
/* \"D\":91:166 contract D is C(3)... */
swap2
dup5
dup6
swap2
dup7
dup6
mstore
/* \"C\":403:411 this.f() */
dup2
@@ -596,26 +592,26 @@ sub_0: assembly {
slt
tag_26
jumpi
pop
swap2
mload
swap2
/* \"C\":392:411 stateVar + this.f() */
tag_20
/* \"C\":403:411 this.f() */
jump(tag_19)
/* \"D\":91:166 contract D is C(3)... */
tag_26:
0x00
dup1
revert
tag_24:
/* \"C\":117:119 41 */
shl(0xe0, 0x4e487b71)
dup4
/* \"D\":91:166 contract D is C(3)... */
0x00
mstore
mstore(0x04, 0x41)
0x24
/* \"C\":117:119 41 */
dup4
/* \"D\":91:166 contract D is C(3)... */
revert
revert(0x00, 0x24)
/* \"C\":403:411 this.f() */
tag_22:
pop
@@ -650,14 +646,10 @@ sub_0: assembly {
/* \"C\":117:119 41 */
revert
/* \"D\":91:166 contract D is C(3)... */
tag_12:
0x00
dup1
revert
tag_6:
pop
jumpi(tag_12, callvalue)
jumpi(tag_12, slt(add(not(0x03), calldatasize), 0x00))
jumpi(tag_26, callvalue)
jumpi(tag_26, slt(add(not(0x03), calldatasize), 0x00))
0x20
swap1
sload(0x00)
@@ -668,8 +660,8 @@ sub_0: assembly {
mstore
return
tag_4:
jumpi(tag_12, callvalue)
jumpi(tag_12, slt(add(not(0x03), calldatasize), 0x00))
jumpi(tag_26, callvalue)
jumpi(tag_26, slt(add(not(0x03), calldatasize), 0x00))
/* \"C\":290:298 immutVar */
immutable(\"0xe4b1702d9298fee62dfeccc57d322a463ad55ca201256d01f62b45b2e1c21c10\")
/* \"C\":117:119 41 */
@@ -714,19 +714,19 @@ object \"C_54\" {
if _7
{
let _8 := 32
if gt(_8, returndatasize()) { _8 := returndatasize() }
if gt(32, returndatasize()) { _8 := returndatasize() }
/// @src 0:79:435 \"contract C...\"
let newFreePtr := add(_6, and(add(_8, 31), not(31)))
if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, _6))
{
mstore(expr, shl(224, 0x4e487b71))
mstore(0, shl(224, 0x4e487b71))
mstore(4, 0x41)
revert(expr, 0x24)
revert(0, 0x24)
}
mstore(_2, newFreePtr)
if slt(sub(/** @src 0:410:418 \"this.f()\" */ add(_6, _8), /** @src 0:79:435 \"contract C...\" */ _6), /** @src 0:410:418 \"this.f()\" */ 32)
/// @src 0:79:435 \"contract C...\"
{ revert(expr, expr) }
{ revert(0, 0) }
/// @src 0:410:418 \"this.f()\"
expr := /** @src 0:79:435 \"contract C...\" */ mload(_6)
}
@@ -1559,19 +1559,19 @@ object \"D_72\" {
if _7
{
let _8 := 32
if gt(_8, returndatasize()) { _8 := returndatasize() }
if gt(32, returndatasize()) { _8 := returndatasize() }
/// @src 1:91:166 \"contract D is C(3)...\"
let newFreePtr := add(_6, and(add(_8, 31), not(31)))
if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, _6))
{
mstore(expr, shl(224, 0x4e487b71))
mstore(0, shl(224, 0x4e487b71))
mstore(4, 0x41)
revert(expr, 0x24)
revert(0, 0x24)
}
mstore(_2, newFreePtr)
if slt(sub(/** @src 0:410:418 \"this.f()\" */ add(_6, _8), /** @src 1:91:166 \"contract D is C(3)...\" */ _6), /** @src 0:410:418 \"this.f()\" */ 32)
/// @src 1:91:166 \"contract D is C(3)...\"
{ revert(expr, expr) }
{ revert(0, 0) }
/// @src 0:410:418 \"this.f()\"
expr := /** @src 1:91:166 \"contract D is C(3)...\" */ mload(_6)
}
@@ -9,21 +9,16 @@
{
"assembly": " /* \"A\":16:17 */
0x01
dup1
/* \"A\":27:28 */
0x00
/* \"A\":20:32 */
sstore
/* \"A\":50:51 */
0x02
dup1
/* \"A\":61:63 */
0x20
/* \"A\":54:67 */
sstore
/* \"A\":0:72 */
pop
pop
"
}
}
@@ -15,7 +15,6 @@ object "C_6" {
code {
{
mstore(64, 128)
pop(iszero(lt(calldatasize(), 4)))
sstore(0, iszero(calldatasize()))
revert(0, 0)
}
@@ -117,24 +117,23 @@ sub_0: assembly {
tag_3:
jumpi(tag_7, callvalue)
jumpi(tag_7, slt(add(not(0x03), calldatasize), 0x00))
not(0x1f)
/* "viair_subobject_optimization/input.sol":745:765 type(C).creationCode */
dataSize(sub_0)
/* "viair_subobject_optimization/input.sol":669:772 contract D {... */
swap1
not(0x1f)
dup1
0x3f
dup5
dup2
add
and
dup3
add
swap2
dup1
and
dup4
add
swap1
dup4
dup3
lt
0xffffffffffffffff
dup5
dup4
gt
or
tag_9
@@ -142,55 +141,60 @@ sub_0: assembly {
swap3
swap1
0x40
swap3
dup4
swap1
0x40
mstore
/* "viair_subobject_optimization/input.sol":745:765 type(C).creationCode */
dup2
dup5
dup4
dup3
mstore
0x20
swap2
swap4
dataOffset(sub_0)
dup4
dup7
0x20
dup5
add
codecopy
/* "viair_subobject_optimization/input.sol":669:772 contract D {... */
dup3
mload
swap4
dup3
dup6
mload(0x40)
swap4
dup5
swap3
/* "viair_subobject_optimization/input.sol":745:765 type(C).creationCode */
0x20
/* "viair_subobject_optimization/input.sol":669:772 contract D {... */
dup5
mstore
dup2
dup1
mload
swap2
dup3
dup3
swap3
dup4
/* "viair_subobject_optimization/input.sol":745:765 type(C).creationCode */
0x20
/* "viair_subobject_optimization/input.sol":669:772 contract D {... */
dup7
add
mstore
0x00
tag_11:
dup4
dup5
dup2
lt
tag_12
jumpi
pop
pop
dup6
0x40
dup2
dup10
0x1f
dup10
0x00
dup5
dup4
add
dup6
dup3
dup7
add
add
mstore
pop
0x1f
add
and
dup2
@@ -200,22 +204,22 @@ sub_0: assembly {
swap1
return
tag_12:
dup2
dup3
dup2
add
dup4
dup5
add
mload
dup9
dup3
add
dup9
dup4
add
mstore
dup8
swap6
pop
dup3
dup4
add
jump(tag_11)
tag_9:
@@ -9,7 +9,6 @@ object "C_6" {
{
revert_error_ca66f745a3ce8ff40e2ccaf1ad45db7774001b90d25810abd9040049be7bf4bb()
}
constructor_C()
let _1 := allocate_unbounded()
codecopy(_1, dataoffset("C_6_deployed"), datasize("C_6_deployed"))
return(_1, datasize("C_6_deployed"))
@@ -17,97 +16,10 @@ object "C_6" {
function allocate_unbounded() -> memPtr
{
let memPtr_1 := mload(64)
let memPtr_2 := memPtr_1
let memPtr_3 := memPtr_1
let memPtr_4 := memPtr_1
let memPtr_5 := memPtr_1
let memPtr_6 := memPtr_1
let memPtr_7 := memPtr_1
let memPtr_8 := memPtr_1
let memPtr_9 := memPtr_1
let memPtr_10 := memPtr_1
let memPtr_11 := memPtr_1
let memPtr_12 := memPtr_1
let memPtr_13 := memPtr_1
let memPtr_14 := memPtr_1
let memPtr_15 := memPtr_1
let memPtr_16 := memPtr_1
let memPtr_17 := memPtr_1
let memPtr_18 := memPtr_1
let memPtr_19 := memPtr_1
let memPtr_20 := memPtr_1
let memPtr_21 := memPtr_1
let memPtr_22 := memPtr_1
let memPtr_23 := memPtr_1
let memPtr_24 := memPtr_1
let memPtr_25 := memPtr_1
let memPtr_26 := memPtr_1
let memPtr_27 := memPtr_1
let memPtr_28 := memPtr_1
let memPtr_29 := memPtr_1
let memPtr_30 := memPtr_1
let memPtr_31 := memPtr_1
let memPtr_32 := memPtr_1
let memPtr_33 := memPtr_1
let memPtr_34 := memPtr_1
let memPtr_35 := memPtr_1
let memPtr_36 := memPtr_1
let memPtr_37 := memPtr_1
let memPtr_38 := memPtr_1
let memPtr_39 := memPtr_1
let memPtr_40 := memPtr_1
let memPtr_41 := memPtr_1
let memPtr_42 := memPtr_1
let memPtr_43 := memPtr_1
let memPtr_44 := memPtr_1
let memPtr_45 := memPtr_1
let memPtr_46 := memPtr_1
let memPtr_47 := memPtr_1
let memPtr_48 := memPtr_1
let memPtr_49 := memPtr_1
let memPtr_50 := memPtr_1
let memPtr_51 := memPtr_1
let memPtr_52 := memPtr_1
let memPtr_53 := memPtr_1
let memPtr_54 := memPtr_1
let memPtr_55 := memPtr_1
let memPtr_56 := memPtr_1
let memPtr_57 := memPtr_1
let memPtr_58 := memPtr_1
let memPtr_59 := memPtr_1
let memPtr_60 := memPtr_1
let memPtr_61 := memPtr_1
let memPtr_62 := memPtr_1
let memPtr_63 := memPtr_1
let memPtr_64 := memPtr_1
let memPtr_65 := memPtr_1
let memPtr_66 := memPtr_1
let memPtr_67 := memPtr_1
let memPtr_68 := memPtr_1
let memPtr_69 := memPtr_1
let memPtr_70 := memPtr_1
let memPtr_71 := memPtr_1
let memPtr_72 := memPtr_1
let memPtr_73 := memPtr_1
let memPtr_74 := memPtr_1
let memPtr_75 := memPtr_1
let memPtr_76 := memPtr_1
let memPtr_77 := memPtr_1
let memPtr_78 := memPtr_1
let memPtr_79 := memPtr_1
let memPtr_80 := memPtr_1
let memPtr_81 := memPtr_1
let memPtr_82 := memPtr_1
let memPtr_83 := memPtr_1
let memPtr_84 := memPtr_1
let memPtr_85 := memPtr_1
let memPtr_86 := memPtr_1
memPtr := memPtr_1
}
function revert_error_ca66f745a3ce8ff40e2ccaf1ad45db7774001b90d25810abd9040049be7bf4bb()
{ revert(0, 0) }
function constructor_C()
{ }
}
/// @use-src 0:"yul_optimizer_steps_nested_brackets/input.sol"
object "C_6_deployed" {
@@ -125,181 +37,11 @@ object "C_6" {
function shift_right_unsigned(value) -> newValue
{
let newValue_1 := shr(224, value)
let newValue_2 := newValue_1
let newValue_3 := newValue_1
let newValue_4 := newValue_1
let newValue_5 := newValue_1
let newValue_6 := newValue_1
let newValue_7 := newValue_1
let newValue_8 := newValue_1
let newValue_9 := newValue_1
let newValue_10 := newValue_1
let newValue_11 := newValue_1
let newValue_12 := newValue_1
let newValue_13 := newValue_1
let newValue_14 := newValue_1
let newValue_15 := newValue_1
let newValue_16 := newValue_1
let newValue_17 := newValue_1
let newValue_18 := newValue_1
let newValue_19 := newValue_1
let newValue_20 := newValue_1
let newValue_21 := newValue_1
let newValue_22 := newValue_1
let newValue_23 := newValue_1
let newValue_24 := newValue_1
let newValue_25 := newValue_1
let newValue_26 := newValue_1
let newValue_27 := newValue_1
let newValue_28 := newValue_1
let newValue_29 := newValue_1
let newValue_30 := newValue_1
let newValue_31 := newValue_1
let newValue_32 := newValue_1
let newValue_33 := newValue_1
let newValue_34 := newValue_1
let newValue_35 := newValue_1
let newValue_36 := newValue_1
let newValue_37 := newValue_1
let newValue_38 := newValue_1
let newValue_39 := newValue_1
let newValue_40 := newValue_1
let newValue_41 := newValue_1
let newValue_42 := newValue_1
let newValue_43 := newValue_1
let newValue_44 := newValue_1
let newValue_45 := newValue_1
let newValue_46 := newValue_1
let newValue_47 := newValue_1
let newValue_48 := newValue_1
let newValue_49 := newValue_1
let newValue_50 := newValue_1
let newValue_51 := newValue_1
let newValue_52 := newValue_1
let newValue_53 := newValue_1
let newValue_54 := newValue_1
let newValue_55 := newValue_1
let newValue_56 := newValue_1
let newValue_57 := newValue_1
let newValue_58 := newValue_1
let newValue_59 := newValue_1
let newValue_60 := newValue_1
let newValue_61 := newValue_1
let newValue_62 := newValue_1
let newValue_63 := newValue_1
let newValue_64 := newValue_1
let newValue_65 := newValue_1
let newValue_66 := newValue_1
let newValue_67 := newValue_1
let newValue_68 := newValue_1
let newValue_69 := newValue_1
let newValue_70 := newValue_1
let newValue_71 := newValue_1
let newValue_72 := newValue_1
let newValue_73 := newValue_1
let newValue_74 := newValue_1
let newValue_75 := newValue_1
let newValue_76 := newValue_1
let newValue_77 := newValue_1
let newValue_78 := newValue_1
let newValue_79 := newValue_1
let newValue_80 := newValue_1
let newValue_81 := newValue_1
let newValue_82 := newValue_1
let newValue_83 := newValue_1
let newValue_84 := newValue_1
let newValue_85 := newValue_1
let newValue_86 := newValue_1
newValue := newValue_1
}
function allocate_unbounded() -> memPtr
{
let memPtr_1 := mload(64)
let memPtr_2 := memPtr_1
let memPtr_3 := memPtr_1
let memPtr_4 := memPtr_1
let memPtr_5 := memPtr_1
let memPtr_6 := memPtr_1
let memPtr_7 := memPtr_1
let memPtr_8 := memPtr_1
let memPtr_9 := memPtr_1
let memPtr_10 := memPtr_1
let memPtr_11 := memPtr_1
let memPtr_12 := memPtr_1
let memPtr_13 := memPtr_1
let memPtr_14 := memPtr_1
let memPtr_15 := memPtr_1
let memPtr_16 := memPtr_1
let memPtr_17 := memPtr_1
let memPtr_18 := memPtr_1
let memPtr_19 := memPtr_1
let memPtr_20 := memPtr_1
let memPtr_21 := memPtr_1
let memPtr_22 := memPtr_1
let memPtr_23 := memPtr_1
let memPtr_24 := memPtr_1
let memPtr_25 := memPtr_1
let memPtr_26 := memPtr_1
let memPtr_27 := memPtr_1
let memPtr_28 := memPtr_1
let memPtr_29 := memPtr_1
let memPtr_30 := memPtr_1
let memPtr_31 := memPtr_1
let memPtr_32 := memPtr_1
let memPtr_33 := memPtr_1
let memPtr_34 := memPtr_1
let memPtr_35 := memPtr_1
let memPtr_36 := memPtr_1
let memPtr_37 := memPtr_1
let memPtr_38 := memPtr_1
let memPtr_39 := memPtr_1
let memPtr_40 := memPtr_1
let memPtr_41 := memPtr_1
let memPtr_42 := memPtr_1
let memPtr_43 := memPtr_1
let memPtr_44 := memPtr_1
let memPtr_45 := memPtr_1
let memPtr_46 := memPtr_1
let memPtr_47 := memPtr_1
let memPtr_48 := memPtr_1
let memPtr_49 := memPtr_1
let memPtr_50 := memPtr_1
let memPtr_51 := memPtr_1
let memPtr_52 := memPtr_1
let memPtr_53 := memPtr_1
let memPtr_54 := memPtr_1
let memPtr_55 := memPtr_1
let memPtr_56 := memPtr_1
let memPtr_57 := memPtr_1
let memPtr_58 := memPtr_1
let memPtr_59 := memPtr_1
let memPtr_60 := memPtr_1
let memPtr_61 := memPtr_1
let memPtr_62 := memPtr_1
let memPtr_63 := memPtr_1
let memPtr_64 := memPtr_1
let memPtr_65 := memPtr_1
let memPtr_66 := memPtr_1
let memPtr_67 := memPtr_1
let memPtr_68 := memPtr_1
let memPtr_69 := memPtr_1
let memPtr_70 := memPtr_1
let memPtr_71 := memPtr_1
let memPtr_72 := memPtr_1
let memPtr_73 := memPtr_1
let memPtr_74 := memPtr_1
let memPtr_75 := memPtr_1
let memPtr_76 := memPtr_1
let memPtr_77 := memPtr_1
let memPtr_78 := memPtr_1
let memPtr_79 := memPtr_1
let memPtr_80 := memPtr_1
let memPtr_81 := memPtr_1
let memPtr_82 := memPtr_1
let memPtr_83 := memPtr_1
let memPtr_84 := memPtr_1
let memPtr_85 := memPtr_1
let memPtr_86 := memPtr_1
memPtr := memPtr_1
}
function revert_error_ca66f745a3ce8ff40e2ccaf1ad45db7774001b90d25810abd9040049be7bf4bb()
@@ -316,91 +58,6 @@ object "C_6" {
function abi_encode_tuple(headStart) -> tail
{
let tail_1 := add(headStart, 0)
let tail_2 := tail_1
let tail_3 := tail_1
let tail_4 := tail_1
let tail_5 := tail_1
let tail_6 := tail_1
let tail_7 := tail_1
let tail_8 := tail_1
let tail_9 := tail_1
let tail_10 := tail_1
let tail_11 := tail_1
let tail_12 := tail_1
let tail_13 := tail_1
let tail_14 := tail_1
let tail_15 := tail_1
let tail_16 := tail_1
let tail_17 := tail_1
let tail_18 := tail_1
let tail_19 := tail_1
let tail_20 := tail_1
let tail_21 := tail_1
let tail_22 := tail_1
let tail_23 := tail_1
let tail_24 := tail_1
let tail_25 := tail_1
let tail_26 := tail_1
let tail_27 := tail_1
let tail_28 := tail_1
let tail_29 := tail_1
let tail_30 := tail_1
let tail_31 := tail_1
let tail_32 := tail_1
let tail_33 := tail_1
let tail_34 := tail_1
let tail_35 := tail_1
let tail_36 := tail_1
let tail_37 := tail_1
let tail_38 := tail_1
let tail_39 := tail_1
let tail_40 := tail_1
let tail_41 := tail_1
let tail_42 := tail_1
let tail_43 := tail_1
let tail_44 := tail_1
let tail_45 := tail_1
let tail_46 := tail_1
let tail_47 := tail_1
let tail_48 := tail_1
let tail_49 := tail_1
let tail_50 := tail_1
let tail_51 := tail_1
let tail_52 := tail_1
let tail_53 := tail_1
let tail_54 := tail_1
let tail_55 := tail_1
let tail_56 := tail_1
let tail_57 := tail_1
let tail_58 := tail_1
let tail_59 := tail_1
let tail_60 := tail_1
let tail_61 := tail_1
let tail_62 := tail_1
let tail_63 := tail_1
let tail_64 := tail_1
let tail_65 := tail_1
let tail_66 := tail_1
let tail_67 := tail_1
let tail_68 := tail_1
let tail_69 := tail_1
let tail_70 := tail_1
let tail_71 := tail_1
let tail_72 := tail_1
let tail_73 := tail_1
let tail_74 := tail_1
let tail_75 := tail_1
let tail_76 := tail_1
let tail_77 := tail_1
let tail_78 := tail_1
let tail_79 := tail_1
let tail_80 := tail_1
let tail_81 := tail_1
let tail_82 := tail_1
let tail_83 := tail_1
let tail_84 := tail_1
let tail_85 := tail_1
let tail_86 := tail_1
tail := tail_1
}
function external_fun_f()
@@ -410,16 +67,12 @@ object "C_6" {
revert_error_ca66f745a3ce8ff40e2ccaf1ad45db7774001b90d25810abd9040049be7bf4bb()
}
abi_decode(4, calldatasize())
fun_f()
let memPos := allocate_unbounded()
let memEnd := abi_encode_tuple(memPos)
return(memPos, sub(memEnd, memPos))
}
function revert_error_42b3090547df1d2001c96683413b8cf91c1b902ef5e3cb8d9f6f304cf7446f74()
{ revert(0, 0) }
/// @ast-id 5 @src 0:74:101 "function f() public pure {}"
function fun_f()
{ }
}
data ".metadata" hex"<BYTECODE REMOVED>"
}
@@ -6,8 +6,7 @@ object "C_8" {
/// @src 0:80:221 "contract C {..."
mstore(64, memoryguard(0x80))
/// @src 0:129:213 "assembly (\"memory-safe\") {..."
let usr$a := 0
revert(usr$a, usr$a)
revert(0, 0)
}
}
/// @use-src 0:"yul_optimizer_steps_short_sequence/input.sol"