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
@@ -16,6 +16,6 @@ contract C {
}
// ----
// f(uint32,(uint128,uint256[][2],uint32)): 55, 0x40, 77, 0x60, 88, 0x40, 0x40, 2, 1, 2 -> 55, 77, 1, 2, 88
// gas irOptimized: 202829
// gas irOptimized: 202843
// gas legacy: 207384
// gas legacyOptimized: 203584
@@ -23,6 +23,6 @@ contract CopyTest {
}
// ----
// run() -> 2, 23, 42
// gas irOptimized: 193687
// gas irOptimized: 193677
// gas legacy: 185731
// gas legacyOptimized: 184458
@@ -36,8 +36,8 @@ contract C {
}
// ----
// to_state() -> 0x20, 0x60, 0xa0, 7, 3, 0x666F6F0000000000000000000000000000000000000000000000000000000000, 2, 13, 14
// gas irOptimized: 121497
// gas irOptimized: 121487
// gas legacy: 123069
// gas legacyOptimized: 121758
// gas legacyOptimized: 121759
// to_storage() -> 0x20, 0x60, 0xa0, 7, 3, 0x666F6F0000000000000000000000000000000000000000000000000000000000, 2, 13, 14
// to_memory() -> 0x20, 0x60, 0xa0, 7, 3, 0x666F6F0000000000000000000000000000000000000000000000000000000000, 2, 13, 14
@@ -87,7 +87,7 @@ contract Test {
// EVMVersion: >homestead
// ----
// test1() -> true
// gas irOptimized: 152954
// gas irOptimized: 152882
// gas legacy: 153012
// gas legacyOptimized: 152637
// test2() -> true
@@ -44,8 +44,8 @@ contract C {
}
// ----
// to_state() -> 0x20, 0x60, 0xa0, 7, 3, 0x666F6F0000000000000000000000000000000000000000000000000000000000, 2, 13, 14
// gas irOptimized: 121598
// gas irOptimized: 121584
// gas legacy: 123208
// gas legacyOptimized: 121765
// gas legacyOptimized: 121766
// to_storage() -> 0x20, 0x60, 0xa0, 7, 3, 0x666F6F0000000000000000000000000000000000000000000000000000000000, 2, 13, 14
// to_memory() -> 0x20, 0x60, 0xa0, 7, 3, 0x666F6F0000000000000000000000000000000000000000000000000000000000, 2, 13, 14
@@ -52,14 +52,14 @@ contract C {
}
// ----
// from_memory() -> 0x20, 0x60, 0xa0, 0x15, 3, 0x666F6F0000000000000000000000000000000000000000000000000000000000, 2, 13, 14
// gas irOptimized: 123029
// gas irOptimized: 123028
// gas legacy: 130227
// gas legacyOptimized: 128762
// gas legacyOptimized: 128761
// from_state() -> 0x20, 0x60, 0xa0, 21, 3, 0x666F6F0000000000000000000000000000000000000000000000000000000000, 2, 13, 14
// gas irOptimized: 121721
// gas irOptimized: 121703
// gas legacy: 123282
// gas legacyOptimized: 121870
// gas legacyOptimized: 121871
// from_calldata((bytes,uint16[],uint16)): 0x20, 0x60, 0xa0, 21, 3, 0x666F6F0000000000000000000000000000000000000000000000000000000000, 2, 13, 14 -> 0x20, 0x60, 0xa0, 0x15, 3, 0x666F6F0000000000000000000000000000000000000000000000000000000000, 2, 13, 14
// gas irOptimized: 115116
// gas irOptimized: 115113
// gas legacy: 122516
// gas legacyOptimized: 120806
// gas legacyOptimized: 120807
@@ -45,18 +45,18 @@ contract C {
}
// ----
// from_state() -> 0x20, 0x60, 0xa0, 21, 3, 0x666F6F0000000000000000000000000000000000000000000000000000000000, 2, 13, 14
// gas irOptimized: 121693
// gas irOptimized: 121680
// gas legacy: 123144
// gas legacyOptimized: 121811
// from_storage() -> 0x20, 0x60, 0xa0, 21, 3, 0x666F6F0000000000000000000000000000000000000000000000000000000000, 2, 13, 14
// gas irOptimized: 121737
// gas irOptimized: 121725
// gas legacy: 123193
// gas legacyOptimized: 121863
// from_memory() -> 0x20, 0x60, 0xa0, 21, 3, 0x666F6F0000000000000000000000000000000000000000000000000000000000, 2, 13, 14
// gas irOptimized: 122942
// gas irOptimized: 122939
// gas legacy: 130088
// gas legacyOptimized: 128757
// from_calldata((bytes,uint16[],uint16)): 0x20, 0x60, 0xa0, 21, 3, 0x666F6F0000000000000000000000000000000000000000000000000000000000, 2, 13, 14 -> 0x20, 0x60, 0xa0, 21, 3, 0x666f6f0000000000000000000000000000000000000000000000000000000000, 2, 13, 14
// gas irOptimized: 115056
// gas irOptimized: 115032
// gas legacy: 118301
// gas legacyOptimized: 115435
@@ -66,7 +66,7 @@ contract Test {
}
// ----
// load() -> 0x01, 0x02, 0x03, 0x04, 0x05, 0x06
// gas irOptimized: 110326
// gas irOptimized: 110317
// gas legacy: 112964
// gas legacyOptimized: 110876
// store() -> 0x01, 0x02, 0x03, 0x04, 0x05, 0x06
@@ -23,17 +23,17 @@ contract c {
// ----
// storageEmpty -> 1
// set(uint256,bytes,uint256): 12, 0x60, 13, 33, "12345678901234567890123456789012", "3" -> true
// gas irOptimized: 133596
// gas irOptimized: 133582
// gas legacy: 134628
// gas legacyOptimized: 133875
// gas legacyOptimized: 133874
// test(uint256): 32 -> "3"
// storageEmpty -> 0
// copy() -> true
// storageEmpty -> 1
// set(uint256,bytes,uint256): 12, 0x60, 13, 33, "12345678901234567890123456789012", "3" -> true
// gas irOptimized: 133596
// gas irOptimized: 133582
// gas legacy: 134628
// gas legacyOptimized: 133875
// gas legacyOptimized: 133874
// storageEmpty -> 0
// del() -> true
// storageEmpty -> 1
@@ -35,12 +35,12 @@ contract c {
}
// ----
// set(uint256): 7 -> true
// gas irOptimized: 109896
// gas irOptimized: 109893
// gas legacy: 110597
// gas legacyOptimized: 110003
// retrieve(uint256): 7 -> 1, 3, 4, 2
// copy(uint256,uint256): 7, 8 -> true
// gas irOptimized: 118593
// gas irOptimized: 118582
// gas legacy: 119147
// gas legacyOptimized: 118619
// retrieve(uint256): 7 -> 1, 3, 4, 2
@@ -17,6 +17,6 @@ contract c {
}
// ----
// test() -> true
// gas irOptimized: 109713
// gas irOptimized: 109706
// gas legacy: 110615
// gas legacyOptimized: 109705
@@ -42,10 +42,10 @@ contract C {
}
// ----
// f() ->
// gas irOptimized: 113232
// gas irOptimized: 113210
// gas legacy: 113591
// gas legacyOptimized: 113103
// g() ->
// gas irOptimized: 118604
// gas irOptimized: 118580
// gas legacy: 118764
// gas legacyOptimized: 118172
@@ -28,6 +28,6 @@ contract C {
}
// ----
// f() -> 42, 23, 34, 42, 42
// gas irOptimized: 110388
// gas irOptimized: 110382
// gas legacy: 111993
// gas legacyOptimized: 110546
@@ -30,7 +30,7 @@ contract test {
// ----
// check() -> false
// set() ->
// gas irOptimized: 134435
// gas irOptimized: 134417
// gas legacy: 135246
// gas legacyOptimized: 134062
// check() -> true