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
@@ -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: