Inline ordinary jumps to small blocks and jumps to terminating control flow.

This commit is contained in:
Daniel Kirchner
2021-03-24 13:50:24 +01:00
committed by hrkrshnn
parent a99eb17608
commit 8b3095920a
17 changed files with 79 additions and 56 deletions
@@ -21,4 +21,4 @@ contract c {
// test() -> 0
// gas irOptimized: 312322
// gas legacy: 483915
// gas legacyOptimized: 478673
// gas legacyOptimized: 478672
@@ -14,7 +14,7 @@ contract Test {
// set(uint24[]): 0x20, 18, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18 -> 18
// gas irOptimized: 121109
// gas legacy: 125815
// gas legacyOptimized: 123615
// gas legacyOptimized: 123614
// data(uint256): 7 -> 8
// data(uint256): 15 -> 16
// data(uint256): 18 -> FAILURE
@@ -50,4 +50,4 @@ contract C {
// f() -> 0xff
// gas irOptimized: 137415
// gas legacy: 137645
// gas legacyOptimized: 134377
// gas legacyOptimized: 134376
@@ -19,4 +19,4 @@ contract c {
// test() -> 0
// gas irOptimized: 397892
// gas legacy: 565428
// gas legacyOptimized: 552525
// gas legacyOptimized: 552524