mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
Unused store eliminator.
This commit is contained in:
@@ -11,7 +11,6 @@ object "C_12" {
|
||||
code {
|
||||
{
|
||||
/// @src 0:61:418 "contract C {..."
|
||||
mstore(64, 128)
|
||||
if callvalue() { revert(0, 0) }
|
||||
/// @src 0:103:238 "assembly {..."
|
||||
sstore(0, shl(180, 1))
|
||||
@@ -26,7 +25,6 @@ object "C_12" {
|
||||
code {
|
||||
{
|
||||
/// @src 0:61:418 "contract C {..."
|
||||
mstore(64, 128)
|
||||
if callvalue() { revert(0, 0) }
|
||||
/// @src 0:279:410 "assembly {..."
|
||||
sstore(0, 0x1000000000000000000000000000000000000000000000)
|
||||
|
||||
@@ -195,16 +195,14 @@ object "C_6" {
|
||||
code {
|
||||
{
|
||||
/// @src 0:60:101 "contract C {..."
|
||||
let _1 := memoryguard(0x80)
|
||||
mstore(64, _1)
|
||||
if iszero(lt(calldatasize(), 4))
|
||||
{
|
||||
let _2 := 0
|
||||
if eq(0x26121ff0, shr(224, calldataload(_2)))
|
||||
let _1 := 0
|
||||
if eq(0x26121ff0, shr(224, calldataload(_1)))
|
||||
{
|
||||
if callvalue() { revert(_2, _2) }
|
||||
if slt(add(calldatasize(), not(3)), _2) { revert(_2, _2) }
|
||||
return(_1, _2)
|
||||
if callvalue() { revert(_1, _1) }
|
||||
if slt(add(calldatasize(), not(3)), _1) { revert(_1, _1) }
|
||||
return(memoryguard(0x80), _1)
|
||||
}
|
||||
}
|
||||
revert(0, 0)
|
||||
|
||||
@@ -194,16 +194,14 @@ object "C_6" {
|
||||
code {
|
||||
{
|
||||
/// @src 0:60:101
|
||||
let _1 := memoryguard(0x80)
|
||||
mstore(64, _1)
|
||||
if iszero(lt(calldatasize(), 4))
|
||||
{
|
||||
let _2 := 0
|
||||
if eq(0x26121ff0, shr(224, calldataload(_2)))
|
||||
let _1 := 0
|
||||
if eq(0x26121ff0, shr(224, calldataload(_1)))
|
||||
{
|
||||
if callvalue() { revert(_2, _2) }
|
||||
if slt(add(calldatasize(), not(3)), _2) { revert(_2, _2) }
|
||||
return(_1, _2)
|
||||
if callvalue() { revert(_1, _1) }
|
||||
if slt(add(calldatasize(), not(3)), _1) { revert(_1, _1) }
|
||||
return(memoryguard(0x80), _1)
|
||||
}
|
||||
}
|
||||
revert(0, 0)
|
||||
|
||||
@@ -183,16 +183,14 @@ object "C_6" {
|
||||
object "C_6_deployed" {
|
||||
code {
|
||||
{
|
||||
let _1 := memoryguard(0x80)
|
||||
mstore(64, _1)
|
||||
if iszero(lt(calldatasize(), 4))
|
||||
{
|
||||
let _2 := 0
|
||||
if eq(0x26121ff0, shr(224, calldataload(_2)))
|
||||
let _1 := 0
|
||||
if eq(0x26121ff0, shr(224, calldataload(_1)))
|
||||
{
|
||||
if callvalue() { revert(_2, _2) }
|
||||
if slt(add(calldatasize(), not(3)), _2) { revert(_2, _2) }
|
||||
return(_1, _2)
|
||||
if callvalue() { revert(_1, _1) }
|
||||
if slt(add(calldatasize(), not(3)), _1) { revert(_1, _1) }
|
||||
return(memoryguard(0x80), _1)
|
||||
}
|
||||
}
|
||||
revert(0, 0)
|
||||
|
||||
@@ -95,7 +95,6 @@ object "C_2" {
|
||||
code {
|
||||
{
|
||||
/// @src 0:265:278 "contract C {}"
|
||||
mstore(64, memoryguard(0x80))
|
||||
revert(0, 0)
|
||||
}
|
||||
}
|
||||
@@ -553,7 +552,6 @@ object "D_27" {
|
||||
code {
|
||||
{
|
||||
/// @src 0:265:278 "contract C {}"
|
||||
mstore(64, memoryguard(0x80))
|
||||
revert(0, 0)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -24,7 +24,6 @@ object "C_7" {
|
||||
code {
|
||||
{
|
||||
/// @src 0:82:117 "contract C {..."
|
||||
mstore(64, memoryguard(0x80))
|
||||
revert(0, 0)
|
||||
}
|
||||
}
|
||||
@@ -58,7 +57,6 @@ object "D_10" {
|
||||
code {
|
||||
{
|
||||
/// @src 0:118:137 "contract D is C {..."
|
||||
mstore(64, memoryguard(0x80))
|
||||
revert(0, 0)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -24,7 +24,6 @@ object "C_3" {
|
||||
code {
|
||||
{
|
||||
/// @src 0:82:95 "contract C {}"
|
||||
mstore(64, memoryguard(0x80))
|
||||
revert(0, 0)
|
||||
}
|
||||
}
|
||||
@@ -110,7 +109,6 @@ object "D_16" {
|
||||
code {
|
||||
{
|
||||
/// @src 0:82:95 "contract C {}"
|
||||
mstore(64, memoryguard(0x80))
|
||||
revert(0, 0)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -11,7 +11,6 @@ object "D_12" {
|
||||
code {
|
||||
{
|
||||
/// @src 0:82:161 "contract D {..."
|
||||
mstore(64, 128)
|
||||
if callvalue() { revert(0, 0) }
|
||||
let _1 := datasize("D_12_deployed")
|
||||
codecopy(128, dataoffset("D_12_deployed"), _1)
|
||||
@@ -23,16 +22,14 @@ object "D_12" {
|
||||
code {
|
||||
{
|
||||
/// @src 0:82:161 "contract D {..."
|
||||
let _1 := memoryguard(0x80)
|
||||
mstore(64, _1)
|
||||
if iszero(lt(calldatasize(), 4))
|
||||
{
|
||||
let _2 := 0
|
||||
if eq(0x26121ff0, shr(224, calldataload(_2)))
|
||||
let _1 := 0
|
||||
if eq(0x26121ff0, shr(224, calldataload(_1)))
|
||||
{
|
||||
if callvalue() { revert(_2, _2) }
|
||||
if slt(add(calldatasize(), not(3)), _2) { revert(_2, _2) }
|
||||
return(_1, _2)
|
||||
if callvalue() { revert(_1, _1) }
|
||||
if slt(add(calldatasize(), not(3)), _1) { revert(_1, _1) }
|
||||
return(memoryguard(0x80), _1)
|
||||
}
|
||||
}
|
||||
revert(0, 0)
|
||||
|
||||
@@ -24,7 +24,6 @@ object "D_8" {
|
||||
code {
|
||||
{
|
||||
/// @src 0:82:153 "contract D {..."
|
||||
mstore(64, 128)
|
||||
if iszero(lt(calldatasize(), 4))
|
||||
{
|
||||
let _1 := 0
|
||||
|
||||
@@ -11,7 +11,6 @@ object "C_12" {
|
||||
code {
|
||||
{
|
||||
/// @src 0:62:463 "contract C {..."
|
||||
mstore(64, 128)
|
||||
if callvalue() { revert(0, 0) }
|
||||
/// @src 0:103:275 "assembly {..."
|
||||
mstore(0, 100)
|
||||
@@ -27,10 +26,8 @@ object "C_12" {
|
||||
code {
|
||||
{
|
||||
/// @src 0:62:463 "contract C {..."
|
||||
mstore(64, 128)
|
||||
if callvalue() { revert(0, 0) }
|
||||
/// @src 0:317:454 "assembly {..."
|
||||
mstore(0, 100)
|
||||
sstore(0, 17385872270140913825666367956517731270094621555228275961425792378517567244498)
|
||||
/// @src 0:62:463 "contract C {..."
|
||||
stop()
|
||||
|
||||
@@ -24,7 +24,6 @@ object "C_7" {
|
||||
code {
|
||||
{
|
||||
/// @src 0:62:285 "contract C {..."
|
||||
mstore(64, 128)
|
||||
if callvalue() { revert(0, 0) }
|
||||
/// @src 0:109:277 "assembly {..."
|
||||
mstore(0, 100)
|
||||
|
||||
@@ -1,8 +1,5 @@
|
||||
{"contracts":{"C":{"C":{"evm":{"assembly":" /* \"C\":79:428 contract C... */
|
||||
0xa0
|
||||
dup1
|
||||
0x40
|
||||
mstore
|
||||
jumpi(tag_6, callvalue)
|
||||
0x1f
|
||||
bytecodeSize
|
||||
@@ -452,9 +449,6 @@ sub_0: assembly {
|
||||
}
|
||||
"}}},"D":{"D":{"evm":{"assembly":" /* \"D\":91:166 contract D is C(3)... */
|
||||
0xa0
|
||||
dup1
|
||||
0x40
|
||||
mstore
|
||||
jumpi(tag_6, callvalue)
|
||||
0x1f
|
||||
bytecodeSize
|
||||
@@ -528,13 +522,8 @@ tag_4:
|
||||
tag_1:
|
||||
/* \"C\":147:149 42 */
|
||||
mstore(0x80, 0x2a)
|
||||
/* \"D\":107:108 3 */
|
||||
0x03
|
||||
/* \"C\":203:219 stateVar = _init */
|
||||
0x00
|
||||
/* \"D\":91:166 contract D is C(3)... */
|
||||
sstore
|
||||
sub(shl(0xff, 0x01), 0x04)
|
||||
/* \"D\":91:166 contract D is C(3)... */
|
||||
dup2
|
||||
sgt
|
||||
0x01
|
||||
@@ -545,9 +534,7 @@ tag_1:
|
||||
0x03
|
||||
/* \"D\":91:166 contract D is C(3)... */
|
||||
add
|
||||
/* \"C\":203:219 stateVar = _init */
|
||||
0x00
|
||||
/* \"D\":91:166 contract D is C(3)... */
|
||||
sstore
|
||||
/* \"D\":113:164 constructor(int _init2)... */
|
||||
jump\t// out
|
||||
@@ -555,17 +542,9 @@ tag_1:
|
||||
tag_9:
|
||||
pop
|
||||
pop
|
||||
shl(0xe0, 0x4e487b71)
|
||||
/* \"C\":203:219 stateVar = _init */
|
||||
0x00
|
||||
/* \"D\":91:166 contract D is C(3)... */
|
||||
mstore
|
||||
mstore(0x00, shl(0xe0, 0x4e487b71))
|
||||
mstore(0x04, 0x11)
|
||||
0x24
|
||||
/* \"C\":203:219 stateVar = _init */
|
||||
0x00
|
||||
/* \"D\":91:166 contract D is C(3)... */
|
||||
revert
|
||||
revert(0x00, 0x24)
|
||||
stop
|
||||
|
||||
sub_0: assembly {
|
||||
|
||||
@@ -200,16 +200,14 @@ object \"C_6\" {
|
||||
code {
|
||||
{
|
||||
/// @src 0:60:101 \"contract C {...\"
|
||||
let _1 := memoryguard(0x80)
|
||||
mstore(64, _1)
|
||||
if iszero(lt(calldatasize(), 4))
|
||||
{
|
||||
let _2 := 0
|
||||
if eq(0x26121ff0, shr(224, calldataload(_2)))
|
||||
let _1 := 0
|
||||
if eq(0x26121ff0, shr(224, calldataload(_1)))
|
||||
{
|
||||
if callvalue() { revert(_2, _2) }
|
||||
if slt(add(calldatasize(), not(3)), _2) { revert(_2, _2) }
|
||||
return(_1, _2)
|
||||
if callvalue() { revert(_1, _1) }
|
||||
if slt(add(calldatasize(), not(3)), _1) { revert(_1, _1) }
|
||||
return(memoryguard(0x80), _1)
|
||||
}
|
||||
}
|
||||
revert(0, 0)
|
||||
|
||||
+5
-7
@@ -199,16 +199,14 @@ object \"C_6\" {
|
||||
code {
|
||||
{
|
||||
/// @src 0:60:101
|
||||
let _1 := memoryguard(0x80)
|
||||
mstore(64, _1)
|
||||
if iszero(lt(calldatasize(), 4))
|
||||
{
|
||||
let _2 := 0
|
||||
if eq(0x26121ff0, shr(224, calldataload(_2)))
|
||||
let _1 := 0
|
||||
if eq(0x26121ff0, shr(224, calldataload(_1)))
|
||||
{
|
||||
if callvalue() { revert(_2, _2) }
|
||||
if slt(add(calldatasize(), not(3)), _2) { revert(_2, _2) }
|
||||
return(_1, _2)
|
||||
if callvalue() { revert(_1, _1) }
|
||||
if slt(add(calldatasize(), not(3)), _1) { revert(_1, _1) }
|
||||
return(memoryguard(0x80), _1)
|
||||
}
|
||||
}
|
||||
revert(0, 0)
|
||||
|
||||
@@ -188,16 +188,14 @@ object \"C_6\" {
|
||||
object \"C_6_deployed\" {
|
||||
code {
|
||||
{
|
||||
let _1 := memoryguard(0x80)
|
||||
mstore(64, _1)
|
||||
if iszero(lt(calldatasize(), 4))
|
||||
{
|
||||
let _2 := 0
|
||||
if eq(0x26121ff0, shr(224, calldataload(_2)))
|
||||
let _1 := 0
|
||||
if eq(0x26121ff0, shr(224, calldataload(_1)))
|
||||
{
|
||||
if callvalue() { revert(_2, _2) }
|
||||
if slt(add(calldatasize(), not(3)), _2) { revert(_2, _2) }
|
||||
return(_1, _2)
|
||||
if callvalue() { revert(_1, _1) }
|
||||
if slt(add(calldatasize(), not(3)), _1) { revert(_1, _1) }
|
||||
return(memoryguard(0x80), _1)
|
||||
}
|
||||
}
|
||||
revert(0, 0)
|
||||
|
||||
@@ -592,7 +592,6 @@ object \"C_54\" {
|
||||
{
|
||||
/// @src 0:79:435 \"contract C...\"
|
||||
let _1 := memoryguard(0xa0)
|
||||
mstore(64, _1)
|
||||
if callvalue() { revert(0, 0) }
|
||||
let programSize := datasize(\"C_54\")
|
||||
let argSize := sub(codesize(), programSize)
|
||||
@@ -1417,7 +1416,6 @@ object \"D_72\" {
|
||||
{
|
||||
/// @src 1:91:166 \"contract D is C(3)...\"
|
||||
let _1 := memoryguard(0xa0)
|
||||
mstore(64, _1)
|
||||
if callvalue() { revert(0, 0) }
|
||||
let programSize := datasize(\"D_72\")
|
||||
let argSize := sub(codesize(), programSize)
|
||||
@@ -1448,15 +1446,13 @@ object \"D_72\" {
|
||||
/// @src 0:154:156 \"42\"
|
||||
mstore(128, 0x2a)
|
||||
/// @src 1:91:166 \"contract D is C(3)...\"
|
||||
sstore(/** @src 0:210:226 \"stateVar = _init\" */ 0x00, /** @src 1:107:108 \"3\" */ 0x03)
|
||||
/// @src 1:91:166 \"contract D is C(3)...\"
|
||||
if and(1, sgt(var_init2, sub(shl(255, 1), 4)))
|
||||
{
|
||||
mstore(/** @src 0:210:226 \"stateVar = _init\" */ 0x00, /** @src 1:91:166 \"contract D is C(3)...\" */ shl(224, 0x4e487b71))
|
||||
mstore(0, shl(224, 0x4e487b71))
|
||||
mstore(4, 0x11)
|
||||
revert(/** @src 0:210:226 \"stateVar = _init\" */ 0x00, /** @src 1:91:166 \"contract D is C(3)...\" */ 0x24)
|
||||
revert(0, 0x24)
|
||||
}
|
||||
sstore(/** @src 0:210:226 \"stateVar = _init\" */ 0x00, /** @src 1:91:166 \"contract D is C(3)...\" */ add(/** @src 1:107:108 \"3\" */ 0x03, /** @src 1:91:166 \"contract D is C(3)...\" */ var_init2))
|
||||
sstore(/** @src -1:-1:-1 */ 0, /** @src 1:91:166 \"contract D is C(3)...\" */ add(/** @src 1:107:108 \"3\" */ 0x03, /** @src 1:91:166 \"contract D is C(3)...\" */ var_init2))
|
||||
}
|
||||
}
|
||||
/// @use-src 0:\"C\", 1:\"D\"
|
||||
|
||||
@@ -30,7 +30,6 @@ object "C_3" {
|
||||
code {
|
||||
{
|
||||
/// @src 0:82:95 "contract C {}"
|
||||
mstore(64, memoryguard(0x80))
|
||||
revert(0, 0)
|
||||
}
|
||||
}
|
||||
@@ -122,7 +121,6 @@ object "D_16" {
|
||||
code {
|
||||
{
|
||||
/// @src 0:82:95 "contract C {}"
|
||||
mstore(64, memoryguard(0x80))
|
||||
revert(0, 0)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user