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
@@ -35,8 +35,8 @@ tag_1:
tag_4:
/* "optimizer_inliner_dynamic_reference_constructor/input.sol":355:356 6 */
0x06
/* "optimizer_inliner_dynamic_reference_constructor/input.sol":304:359 function f() internal pure returns (uint) { return 6; } */
swap1
/* "optimizer_inliner_dynamic_reference_constructor/input.sol":304:359 function f() internal pure returns (uint) { return 6; } */
jump // out
/* "optimizer_inliner_dynamic_reference_constructor/input.sol":60:361 contract C {... */
tag_5:
@@ -80,9 +80,9 @@ sub_0: assembly {
revert
/* "optimizer_inliner_dynamic_reference_constructor/input.sol":154:209 function a() public pure returns (uint) { return f(); } */
tag_3:
tag_5
tag_6
jump // in
/* "optimizer_inliner_dynamic_reference_constructor/input.sol":355:356 6 */
0x06
/* "optimizer_inliner_dynamic_reference_constructor/input.sol":154:209 function a() public pure returns (uint) { return f(); } */
tag_5:
mload(0x40)
/* "#utility.yul":160:185 */
@@ -105,12 +105,6 @@ sub_0: assembly {
tag_5
tag_10
jump // in
/* "optimizer_inliner_dynamic_reference_constructor/input.sol":154:209 function a() public pure returns (uint) { return f(); } */
tag_6:
/* "optimizer_inliner_dynamic_reference_constructor/input.sol":188:192 uint */
0x00
/* "optimizer_inliner_dynamic_reference_constructor/input.sol":355:356 6 */
0x06
/* "optimizer_inliner_dynamic_reference_constructor/input.sol":203:206 f() */
tag_14:
/* "optimizer_inliner_dynamic_reference_constructor/input.sol":196:206 return f() */
@@ -152,8 +146,8 @@ sub_0: assembly {
tag_12:
/* "optimizer_inliner_dynamic_reference_constructor/input.sol":355:356 6 */
0x06
/* "optimizer_inliner_dynamic_reference_constructor/input.sol":304:359 function f() internal pure returns (uint) { return 6; } */
swap1
/* "optimizer_inliner_dynamic_reference_constructor/input.sol":304:359 function f() internal pure returns (uint) { return 6; } */
jump // out
tag_17:
mstore(0x00, shl(0xe0, 0x4e487b71))