mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
Optimize eq iszero jumpi to xor jumpi and remove double jump.
This commit is contained in:
@@ -26,6 +26,6 @@ contract Creator {
|
||||
// compileViaYul: also
|
||||
// ----
|
||||
// f(uint256,address[]): 7, 0x40, 10, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 -> 7, 8
|
||||
// gas irOptimized: 443989
|
||||
// gas irOptimized: 443720
|
||||
// gas legacy: 590683
|
||||
// gas legacyOptimized: 448326
|
||||
|
||||
@@ -26,6 +26,6 @@ contract Creator {
|
||||
// compileViaYul: also
|
||||
// ----
|
||||
// f(uint256,bytes): 7, 0x40, 78, "abcdefghijklmnopqrstuvwxyzabcdef", "ghijklmnopqrstuvwxyzabcdefghijkl", "mnopqrstuvwxyz" -> 7, "h"
|
||||
// gas irOptimized: 300837
|
||||
// gas legacy: 428917
|
||||
// gas legacyOptimized: 298128
|
||||
// gas irOptimized: 300834
|
||||
// gas legacy: 428711
|
||||
// gas legacyOptimized: 297922
|
||||
|
||||
@@ -11,7 +11,7 @@ contract Test {
|
||||
// ----
|
||||
// constructor(): 7, 0x40, 78, "abcdefghijklmnopqrstuvwxyzabcdef", "ghijklmnopqrstuvwxyzabcdefghijkl", "mnopqrstuvwxyz" ->
|
||||
// gas irOptimized: 291443
|
||||
// gas legacy: 309842
|
||||
// gas legacyOptimized: 260801
|
||||
// gas legacy: 309607
|
||||
// gas legacyOptimized: 260566
|
||||
// m_x() -> 7
|
||||
// m_s() -> 0x20, 78, "abcdefghijklmnopqrstuvwxyzabcdef", "ghijklmnopqrstuvwxyzabcdefghijkl", "mnopqrstuvwxyz"
|
||||
|
||||
@@ -19,7 +19,7 @@ contract Main {
|
||||
// compileViaYul: also
|
||||
// ----
|
||||
// constructor(): "abc", true
|
||||
// gas irOptimized: 107175
|
||||
// gas irOptimized: 106267
|
||||
// gas legacy: 145838
|
||||
// gas legacyOptimized: 104017
|
||||
// getFlag() -> true
|
||||
|
||||
@@ -12,7 +12,7 @@ contract C {
|
||||
// compileViaYul: also
|
||||
// ----
|
||||
// constructor(): 1, 2, 3, 4 ->
|
||||
// gas irOptimized: 174905
|
||||
// gas irOptimized: 174041
|
||||
// gas legacy: 221377
|
||||
// gas legacyOptimized: 177671
|
||||
// a() -> 1
|
||||
|
||||
@@ -19,6 +19,6 @@ contract C {
|
||||
// compileViaYul: also
|
||||
// ----
|
||||
// f(), 2000 ether -> true
|
||||
// gas irOptimized: 123037
|
||||
// gas irOptimized: 123036
|
||||
// gas legacy: 123226
|
||||
// gas legacyOptimized: 123092
|
||||
|
||||
Reference in New Issue
Block a user