Rematerialize zero literals

This commit is contained in:
Nikola Matic
2023-08-07 17:33:16 +02:00
parent 511712570b
commit 96e7b4f46b
195 changed files with 665 additions and 744 deletions
@@ -110,103 +110,87 @@ sub_0: assembly {
dup1
revert
tag_1:
0x00
dup1
calldataload
0xe0
shr
0x26121ff0
eq
tag_3
jumpi
jumpi(tag_3, eq(0x26121ff0, shr(0xe0, calldataload(0x00))))
0x00
dup1
revert
tag_3:
jumpi(tag_7, callvalue)
dup1
add(calldatasize, not(0x03))
slt
tag_7
jumpi
jumpi(tag_7, slt(add(not(0x03), calldatasize), 0x00))
/* "viair_subobject_optimization/input.sol":745:765 type(C).creationCode */
dataSize(sub_0)
/* "viair_subobject_optimization/input.sol":669:772 contract D {... */
swap2
not(0x1f)
swap1
dup2
not(0x1f)
dup1
0x3f
dup6
dup5
add
and
dup2
dup3
add
swap3
dup2
dup5
swap2
dup1
dup4
lt
0xffffffffffffffff
dup6
dup5
gt
or
tag_9
jumpi
swap3
swap1
swap2
0x40
swap4
dup5
mstore
/* "viair_subobject_optimization/input.sol":745:765 type(C).creationCode */
dup5
swap3
dup4
mstore
/* "viair_subobject_optimization/input.sol":745:765 type(C).creationCode */
dup2
dup5
mstore
0x20
swap5
swap2
dataOffset(sub_0)
dup4
dup7
dup6
add
codecopy
/* "viair_subobject_optimization/input.sol":669:772 contract D {... */
dup4
dup3
mload
swap5
swap4
dup3
dup6
swap3
dup2
swap4
dup5
mstore
dup5
dup2
mload
swap2
dup3
dup2
dup3
dup7
add
mstore
dup2
swap6
0x00
tag_11:
dup4
dup8
dup2
lt
tag_12
jumpi
pop
pop
0x00
dup5
dup4
swap5
pop
dup6
dup3
0x1f
swap5
swap6
add
dup7
add
mstore
pop
0x1f
add
and
dup2
@@ -216,35 +200,30 @@ sub_0: assembly {
swap1
return
tag_12:
dup7
dup2
dup2
add
dup3
dup4
add
mload
dup10
dup9
dup3
add
dup10
dup9
add
mstore
swap6
dup2
add
swap6
dup9
dup8
swap6
pop
dup3
add
jump(tag_11)
tag_9:
shl(0xe0, 0x4e487b71)
dup2
mstore
mstore(0x00, shl(0xe0, 0x4e487b71))
mstore(0x04, 0x41)
0x24
swap1
revert
revert(0x00, 0x24)
tag_7:
0x00
dup1
revert
stop