diff --git a/test/cmdlineTests/combined_json_generated_sources/output b/test/cmdlineTests/combined_json_generated_sources/output index cd8272f8e..9165832ca 100644 --- a/test/cmdlineTests/combined_json_generated_sources/output +++ b/test/cmdlineTests/combined_json_generated_sources/output @@ -10,54 +10,38 @@ "ast": { "nodeType": "YulBlock", - "src": "0:825:1", + "src": "0:1856:1", "statements": [ { "body": { "nodeType": "YulBlock", - "src": "114:277:1", + "src": "114:478:1", "statements": [ { "body": { "nodeType": "YulBlock", - "src": "163:16:1", + "src": "163:83:1", "statements": [ { "expression": { - "arguments": - [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "172:1:1", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "175:1:1", - "type": "", - "value": "0" - } - ], + "arguments": [], "functionName": { - "name": "revert", + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", "nodeType": "YulIdentifier", - "src": "165:6:1" + "src": "165:77:1" }, "nodeType": "YulFunctionCall", - "src": "165:12:1" + "src": "165:79:1" }, "nodeType": "YulExpressionStatement", - "src": "165:12:1" + "src": "165:79:1" } ] }, @@ -123,7 +107,7 @@ }, { "nodeType": "YulAssignment", - "src": "188:30:1", + "src": "255:30:1", "value": { "arguments": @@ -131,24 +115,24 @@ { "name": "offset", "nodeType": "YulIdentifier", - "src": "211:6:1" + "src": "278:6:1" } ], "functionName": { "name": "calldataload", "nodeType": "YulIdentifier", - "src": "198:12:1" + "src": "265:12:1" }, "nodeType": "YulFunctionCall", - "src": "198:20:1" + "src": "265:20:1" }, "variableNames": [ { "name": "length", "nodeType": "YulIdentifier", - "src": "188:6:1" + "src": "255:6:1" } ] }, @@ -156,40 +140,24 @@ "body": { "nodeType": "YulBlock", - "src": "261:16:1", + "src": "328:83:1", "statements": [ { "expression": { - "arguments": - [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "270:1:1", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "273:1:1", - "type": "", - "value": "0" - } - ], + "arguments": [], "functionName": { - "name": "revert", + "name": "revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490", "nodeType": "YulIdentifier", - "src": "263:6:1" + "src": "330:77:1" }, "nodeType": "YulFunctionCall", - "src": "263:12:1" + "src": "330:79:1" }, "nodeType": "YulExpressionStatement", - "src": "263:12:1" + "src": "330:79:1" } ] }, @@ -200,12 +168,12 @@ { "name": "length", "nodeType": "YulIdentifier", - "src": "233:6:1" + "src": "300:6:1" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "241:18:1", + "src": "308:18:1", "type": "", "value": "0xffffffffffffffff" } @@ -214,17 +182,17 @@ { "name": "gt", "nodeType": "YulIdentifier", - "src": "230:2:1" + "src": "297:2:1" }, "nodeType": "YulFunctionCall", - "src": "230:30:1" + "src": "297:30:1" }, "nodeType": "YulIf", - "src": "227:2:1" + "src": "294:2:1" }, { "nodeType": "YulAssignment", - "src": "286:29:1", + "src": "420:29:1", "value": { "arguments": @@ -232,12 +200,12 @@ { "name": "offset", "nodeType": "YulIdentifier", - "src": "302:6:1" + "src": "436:6:1" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "310:4:1", + "src": "444:4:1", "type": "", "value": "0x20" } @@ -246,17 +214,17 @@ { "name": "add", "nodeType": "YulIdentifier", - "src": "298:3:1" + "src": "432:3:1" }, "nodeType": "YulFunctionCall", - "src": "298:17:1" + "src": "432:17:1" }, "variableNames": [ { "name": "arrayPos", "nodeType": "YulIdentifier", - "src": "286:8:1" + "src": "420:8:1" } ] }, @@ -264,40 +232,24 @@ "body": { "nodeType": "YulBlock", - "src": "369:16:1", + "src": "503:83:1", "statements": [ { "expression": { - "arguments": - [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "378:1:1", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "381:1:1", - "type": "", - "value": "0" - } - ], + "arguments": [], "functionName": { - "name": "revert", + "name": "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef", "nodeType": "YulIdentifier", - "src": "371:6:1" + "src": "505:77:1" }, "nodeType": "YulFunctionCall", - "src": "371:12:1" + "src": "505:79:1" }, "nodeType": "YulExpressionStatement", - "src": "371:12:1" + "src": "505:79:1" } ] }, @@ -311,7 +263,7 @@ { "name": "arrayPos", "nodeType": "YulIdentifier", - "src": "334:8:1" + "src": "468:8:1" }, { "arguments": @@ -319,12 +271,12 @@ { "name": "length", "nodeType": "YulIdentifier", - "src": "348:6:1" + "src": "482:6:1" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "356:4:1", + "src": "490:4:1", "type": "", "value": "0x20" } @@ -333,38 +285,38 @@ { "name": "mul", "nodeType": "YulIdentifier", - "src": "344:3:1" + "src": "478:3:1" }, "nodeType": "YulFunctionCall", - "src": "344:17:1" + "src": "478:17:1" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "330:3:1" + "src": "464:3:1" }, "nodeType": "YulFunctionCall", - "src": "330:32:1" + "src": "464:32:1" }, { "name": "end", "nodeType": "YulIdentifier", - "src": "364:3:1" + "src": "498:3:1" } ], "functionName": { "name": "gt", "nodeType": "YulIdentifier", - "src": "327:2:1" + "src": "461:2:1" }, "nodeType": "YulFunctionCall", - "src": "327:41:1" + "src": "461:41:1" }, "nodeType": "YulIf", - "src": "324:2:1" + "src": "458:2:1" } ] }, @@ -400,53 +352,37 @@ "type": "" } ], - "src": "24:367:1" + "src": "24:568:1" }, { "body": { "nodeType": "YulBlock", - "src": "498:324:1", + "src": "699:458:1", "statements": [ { "body": { "nodeType": "YulBlock", - "src": "544:16:1", + "src": "745:83:1", "statements": [ { "expression": { - "arguments": - [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "553:1:1", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "556:1:1", - "type": "", - "value": "0" - } - ], + "arguments": [], "functionName": { - "name": "revert", + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", "nodeType": "YulIdentifier", - "src": "546:6:1" + "src": "747:77:1" }, "nodeType": "YulFunctionCall", - "src": "546:12:1" + "src": "747:79:1" }, "nodeType": "YulExpressionStatement", - "src": "546:12:1" + "src": "747:79:1" } ] }, @@ -460,27 +396,27 @@ { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "519:7:1" + "src": "720:7:1" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "528:9:1" + "src": "729:9:1" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "515:3:1" + "src": "716:3:1" }, "nodeType": "YulFunctionCall", - "src": "515:23:1" + "src": "716:23:1" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "540:2:1", + "src": "741:2:1", "type": "", "value": "32" } @@ -489,22 +425,22 @@ { "name": "slt", "nodeType": "YulIdentifier", - "src": "511:3:1" + "src": "712:3:1" }, "nodeType": "YulFunctionCall", - "src": "511:32:1" + "src": "712:32:1" }, "nodeType": "YulIf", - "src": "508:2:1" + "src": "709:2:1" }, { "nodeType": "YulBlock", - "src": "570:245:1", + "src": "838:312:1", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "585:45:1", + "src": "853:45:1", "value": { "arguments": @@ -515,12 +451,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "616:9:1" + "src": "884:9:1" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "627:1:1", + "src": "895:1:1", "type": "", "value": "0" } @@ -529,27 +465,27 @@ { "name": "add", "nodeType": "YulIdentifier", - "src": "612:3:1" + "src": "880:3:1" }, "nodeType": "YulFunctionCall", - "src": "612:17:1" + "src": "880:17:1" } ], "functionName": { "name": "calldataload", "nodeType": "YulIdentifier", - "src": "599:12:1" + "src": "867:12:1" }, "nodeType": "YulFunctionCall", - "src": "599:31:1" + "src": "867:31:1" }, "variables": [ { "name": "offset", "nodeType": "YulTypedName", - "src": "589:6:1", + "src": "857:6:1", "type": "" } ] @@ -558,40 +494,24 @@ "body": { "nodeType": "YulBlock", - "src": "677:16:1", + "src": "945:83:1", "statements": [ { "expression": { - "arguments": - [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "686:1:1", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "689:1:1", - "type": "", - "value": "0" - } - ], + "arguments": [], "functionName": { - "name": "revert", + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", "nodeType": "YulIdentifier", - "src": "679:6:1" + "src": "947:77:1" }, "nodeType": "YulFunctionCall", - "src": "679:12:1" + "src": "947:79:1" }, "nodeType": "YulExpressionStatement", - "src": "679:12:1" + "src": "947:79:1" } ] }, @@ -602,12 +522,12 @@ { "name": "offset", "nodeType": "YulIdentifier", - "src": "649:6:1" + "src": "917:6:1" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "657:18:1", + "src": "925:18:1", "type": "", "value": "0xffffffffffffffff" } @@ -616,17 +536,17 @@ { "name": "gt", "nodeType": "YulIdentifier", - "src": "646:2:1" + "src": "914:2:1" }, "nodeType": "YulFunctionCall", - "src": "646:30:1" + "src": "914:30:1" }, "nodeType": "YulIf", - "src": "643:2:1" + "src": "911:2:1" }, { "nodeType": "YulAssignment", - "src": "707:98:1", + "src": "1042:98:1", "value": { "arguments": @@ -637,49 +557,49 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "777:9:1" + "src": "1112:9:1" }, { "name": "offset", "nodeType": "YulIdentifier", - "src": "788:6:1" + "src": "1123:6:1" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "773:3:1" + "src": "1108:3:1" }, "nodeType": "YulFunctionCall", - "src": "773:22:1" + "src": "1108:22:1" }, { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "797:7:1" + "src": "1132:7:1" } ], "functionName": { "name": "abi_decode_t_array$_t_uint256_$dyn_calldata_ptr", "nodeType": "YulIdentifier", - "src": "725:47:1" + "src": "1060:47:1" }, "nodeType": "YulFunctionCall", - "src": "725:80:1" + "src": "1060:80:1" }, "variableNames": [ { "name": "value0", "nodeType": "YulIdentifier", - "src": "707:6:1" + "src": "1042:6:1" }, { "name": "value1", "nodeType": "YulIdentifier", - "src": "715:6:1" + "src": "1050:6:1" } ] } @@ -694,13 +614,13 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "460:9:1", + "src": "661:9:1", "type": "" }, { "name": "dataEnd", "nodeType": "YulTypedName", - "src": "471:7:1", + "src": "672:7:1", "type": "" } ], @@ -709,21 +629,301 @@ { "name": "value0", "nodeType": "YulTypedName", - "src": "483:6:1", + "src": "684:6:1", "type": "" }, { "name": "value1", "nodeType": "YulTypedName", - "src": "491:6:1", + "src": "692:6:1", "type": "" } ], - "src": "397:425:1" + "src": "598:559:1" + }, + { + "body": + { + "nodeType": "YulBlock", + "src": "1203:35:1", + "statements": + [ + { + "nodeType": "YulAssignment", + "src": "1213:19:1", + "value": + { + "arguments": + [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1229:2:1", + "type": "", + "value": "64" + } + ], + "functionName": + { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "1223:5:1" + }, + "nodeType": "YulFunctionCall", + "src": "1223:9:1" + }, + "variableNames": + [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "1213:6:1" + } + ] + } + ] + }, + "name": "allocate_unbounded", + "nodeType": "YulFunctionDefinition", + "returnVariables": + [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "1196:6:1", + "type": "" + } + ], + "src": "1163:75:1" + }, + { + "body": + { + "nodeType": "YulBlock", + "src": "1333:28:1", + "statements": + [ + { + "expression": + { + "arguments": + [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1350:1:1", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1353:1:1", + "type": "", + "value": "0" + } + ], + "functionName": + { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "1343:6:1" + }, + "nodeType": "YulFunctionCall", + "src": "1343:12:1" + }, + "nodeType": "YulExpressionStatement", + "src": "1343:12:1" + } + ] + }, + "name": "revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490", + "nodeType": "YulFunctionDefinition", + "src": "1244:117:1" + }, + { + "body": + { + "nodeType": "YulBlock", + "src": "1456:28:1", + "statements": + [ + { + "expression": + { + "arguments": + [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1473:1:1", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1476:1:1", + "type": "", + "value": "0" + } + ], + "functionName": + { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "1466:6:1" + }, + "nodeType": "YulFunctionCall", + "src": "1466:12:1" + }, + "nodeType": "YulExpressionStatement", + "src": "1466:12:1" + } + ] + }, + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nodeType": "YulFunctionDefinition", + "src": "1367:117:1" + }, + { + "body": + { + "nodeType": "YulBlock", + "src": "1579:28:1", + "statements": + [ + { + "expression": + { + "arguments": + [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1596:1:1", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1599:1:1", + "type": "", + "value": "0" + } + ], + "functionName": + { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "1589:6:1" + }, + "nodeType": "YulFunctionCall", + "src": "1589:12:1" + }, + "nodeType": "YulExpressionStatement", + "src": "1589:12:1" + } + ] + }, + "name": "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef", + "nodeType": "YulFunctionDefinition", + "src": "1490:117:1" + }, + { + "body": + { + "nodeType": "YulBlock", + "src": "1702:28:1", + "statements": + [ + { + "expression": + { + "arguments": + [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1719:1:1", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1722:1:1", + "type": "", + "value": "0" + } + ], + "functionName": + { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "1712:6:1" + }, + "nodeType": "YulFunctionCall", + "src": "1712:12:1" + }, + "nodeType": "YulExpressionStatement", + "src": "1712:12:1" + } + ] + }, + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nodeType": "YulFunctionDefinition", + "src": "1613:117:1" + }, + { + "body": + { + "nodeType": "YulBlock", + "src": "1825:28:1", + "statements": + [ + { + "expression": + { + "arguments": + [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1842:1:1", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1845:1:1", + "type": "", + "value": "0" + } + ], + "functionName": + { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "1835:6:1" + }, + "nodeType": "YulFunctionCall", + "src": "1835:12:1" + }, + "nodeType": "YulExpressionStatement", + "src": "1835:12:1" + } + ] + }, + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulFunctionDefinition", + "src": "1736:117:1" } ] }, - "contents": "{\n\n // uint256[]\n function abi_decode_t_array$_t_uint256_$dyn_calldata_ptr(offset, end) -> arrayPos, length {\n if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n length := calldataload(offset)\n if gt(length, 0xffffffffffffffff) { revert(0, 0) }\n arrayPos := add(offset, 0x20)\n if gt(add(arrayPos, mul(length, 0x20)), end) { revert(0, 0) }\n }\n\n function abi_decode_tuple_t_array$_t_uint256_$dyn_calldata_ptr(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n\n {\n\n let offset := calldataload(add(headStart, 0))\n if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n\n value0, value1 := abi_decode_t_array$_t_uint256_$dyn_calldata_ptr(add(headStart, offset), dataEnd)\n }\n\n }\n\n}\n", + "contents": "{\n\n // uint256[]\n function abi_decode_t_array$_t_uint256_$dyn_calldata_ptr(offset, end) -> arrayPos, length {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n length := calldataload(offset)\n if gt(length, 0xffffffffffffffff) { revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490() }\n arrayPos := add(offset, 0x20)\n if gt(add(arrayPos, mul(length, 0x20)), end) { revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef() }\n }\n\n function abi_decode_tuple_t_array$_t_uint256_$dyn_calldata_ptr(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := calldataload(add(headStart, 0))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value0, value1 := abi_decode_t_array$_t_uint256_$dyn_calldata_ptr(add(headStart, offset), dataEnd)\n }\n\n }\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490() {\n revert(0, 0)\n }\n\n function revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() {\n revert(0, 0)\n }\n\n function revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n}\n", "id": 1, "language": "Yul", "name": "#utility.yul" diff --git a/test/cmdlineTests/exp_base_literal/output b/test/cmdlineTests/exp_base_literal/output index 698180169..14b1a616a 100644 --- a/test/cmdlineTests/exp_base_literal/output +++ b/test/cmdlineTests/exp_base_literal/output @@ -10,7 +10,7 @@ IR: object "C_81" { code { mstore(64, 128) - if callvalue() { revert(0, 0) } + if callvalue() { revert_error_ca66f745a3ce8ff40e2ccaf1ad45db7774001b90d25810abd9040049be7bf4bb() } constructor_C_81() @@ -27,6 +27,10 @@ object "C_81" { } + function revert_error_ca66f745a3ce8ff40e2ccaf1ad45db7774001b90d25810abd9040049be7bf4bb() { + revert(0, 0) + } + } object "C_81_deployed" { code { @@ -41,7 +45,7 @@ object "C_81" { { // f(uint256,uint256,uint256,uint256) - if callvalue() { revert(0, 0) } + if callvalue() { revert_error_ca66f745a3ce8ff40e2ccaf1ad45db7774001b90d25810abd9040049be7bf4bb() } let param_0, param_1, param_2, param_3 := abi_decode_tuple_t_uint256t_uint256t_uint256t_uint256(4, calldatasize()) let ret_0, ret_1, ret_2, ret_3 := fun_f_80(param_0, param_1, param_2, param_3) let memPos := allocate_unbounded() @@ -52,7 +56,7 @@ object "C_81" { default {} } if iszero(calldatasize()) { } - revert(0, 0) + revert_error_42b3090547df1d2001c96683413b8cf91c1b902ef5e3cb8d9f6f304cf7446f74() function abi_decode_t_uint256(offset, end) -> value { value := calldataload(offset) @@ -60,7 +64,7 @@ object "C_81" { } function abi_decode_tuple_t_uint256t_uint256t_uint256t_uint256(headStart, dataEnd) -> value0, value1, value2, value3 { - if slt(sub(dataEnd, headStart), 128) { revert(0, 0) } + if slt(sub(dataEnd, headStart), 128) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() } { @@ -290,6 +294,22 @@ object "C_81" { revert(0, 0x24) } + function revert_error_42b3090547df1d2001c96683413b8cf91c1b902ef5e3cb8d9f6f304cf7446f74() { + revert(0, 0) + } + + function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() { + revert(0, 0) + } + + function revert_error_ca66f745a3ce8ff40e2ccaf1ad45db7774001b90d25810abd9040049be7bf4bb() { + revert(0, 0) + } + + function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() { + revert(0, 0) + } + function shift_right_224_unsigned(value) -> newValue { newValue := diff --git a/test/cmdlineTests/name_simplifier/output b/test/cmdlineTests/name_simplifier/output index 526e5ce0f..96f2ec391 100644 --- a/test/cmdlineTests/name_simplifier/output +++ b/test/cmdlineTests/name_simplifier/output @@ -45,7 +45,7 @@ object "C_59" { for { } lt(i, _4) { i := add(i, 1) } { if slt(sub(calldatasize(), src), _2) { revert(_1, _1) } - let value := allocate_memory_1238() + let value := allocate_memory_1228() mstore(value, calldataload(src)) mstore(dst, value) dst := add(dst, _2) @@ -76,7 +76,7 @@ object "C_59" { } tail := add(add(headStart, and(add(length, 31), not(31))), 96) } - function allocate_memory_1238() -> memPtr + function allocate_memory_1228() -> memPtr { memPtr := mload(64) let newFreePtr := add(memPtr, 32) diff --git a/test/cmdlineTests/standard_generatedSources/output.json b/test/cmdlineTests/standard_generatedSources/output.json index 0a9f12669..507bc25ed 100644 --- a/test/cmdlineTests/standard_generatedSources/output.json +++ b/test/cmdlineTests/standard_generatedSources/output.json @@ -1,4 +1,4 @@ -{"contracts":{"a.sol":{"A":{"evm":{"bytecode":{"generatedSources":[],"object":""},"deployedBytecode":{"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:3241:1","statements":[{"body":{"nodeType":"YulBlock","src":"126:553:1","statements":[{"nodeType":"YulAssignment","src":"136:90:1","value":{"arguments":[{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"218:6:1"}],"functionName":{"name":"array_allocation_size_t_array$_t_uint256_$dyn_memory_ptr","nodeType":"YulIdentifier","src":"161:56:1"},"nodeType":"YulFunctionCall","src":"161:64:1"}],"functionName":{"name":"allocate_memory","nodeType":"YulIdentifier","src":"145:15:1"},"nodeType":"YulFunctionCall","src":"145:81:1"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"136:5:1"}]},{"nodeType":"YulVariableDeclaration","src":"235:16:1","value":{"name":"array","nodeType":"YulIdentifier","src":"246:5:1"},"variables":[{"name":"dst","nodeType":"YulTypedName","src":"239:3:1","type":""}]},{"expression":{"arguments":[{"name":"array","nodeType":"YulIdentifier","src":"268:5:1"},{"name":"length","nodeType":"YulIdentifier","src":"275:6:1"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"261:6:1"},"nodeType":"YulFunctionCall","src":"261:21:1"},"nodeType":"YulExpressionStatement","src":"261:21:1"},{"nodeType":"YulAssignment","src":"291:23:1","value":{"arguments":[{"name":"array","nodeType":"YulIdentifier","src":"302:5:1"},{"kind":"number","nodeType":"YulLiteral","src":"309:4:1","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"298:3:1"},"nodeType":"YulFunctionCall","src":"298:16:1"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"291:3:1"}]},{"nodeType":"YulVariableDeclaration","src":"324:17:1","value":{"name":"offset","nodeType":"YulIdentifier","src":"335:6:1"},"variables":[{"name":"src","nodeType":"YulTypedName","src":"328:3:1","type":""}]},{"body":{"nodeType":"YulBlock","src":"390:36:1","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"411:1:1","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"414:1:1","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"404:6:1"},"nodeType":"YulFunctionCall","src":"404:12:1"},"nodeType":"YulExpressionStatement","src":"404:12:1"}]},"condition":{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"360:3:1"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"369:6:1"},{"kind":"number","nodeType":"YulLiteral","src":"377:4:1","type":"","value":"0x20"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"365:3:1"},"nodeType":"YulFunctionCall","src":"365:17:1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"356:3:1"},"nodeType":"YulFunctionCall","src":"356:27:1"},{"name":"end","nodeType":"YulIdentifier","src":"385:3:1"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"353:2:1"},"nodeType":"YulFunctionCall","src":"353:36:1"},"nodeType":"YulIf","src":"350:2:1"},{"body":{"nodeType":"YulBlock","src":"495:178:1","statements":[{"nodeType":"YulVariableDeclaration","src":"510:21:1","value":{"name":"src","nodeType":"YulIdentifier","src":"528:3:1"},"variables":[{"name":"elementPos","nodeType":"YulTypedName","src":"514:10:1","type":""}]},{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"552:3:1"},{"arguments":[{"name":"elementPos","nodeType":"YulIdentifier","src":"578:10:1"},{"name":"end","nodeType":"YulIdentifier","src":"590:3:1"}],"functionName":{"name":"abi_decode_t_uint256","nodeType":"YulIdentifier","src":"557:20:1"},"nodeType":"YulFunctionCall","src":"557:37:1"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"545:6:1"},"nodeType":"YulFunctionCall","src":"545:50:1"},"nodeType":"YulExpressionStatement","src":"545:50:1"},{"nodeType":"YulAssignment","src":"608:21:1","value":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"619:3:1"},{"kind":"number","nodeType":"YulLiteral","src":"624:4:1","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"615:3:1"},"nodeType":"YulFunctionCall","src":"615:14:1"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"608:3:1"}]},{"nodeType":"YulAssignment","src":"642:21:1","value":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"653:3:1"},{"kind":"number","nodeType":"YulLiteral","src":"658:4:1","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"649:3:1"},"nodeType":"YulFunctionCall","src":"649:14:1"},"variableNames":[{"name":"src","nodeType":"YulIdentifier","src":"642:3:1"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"457:1:1"},{"name":"length","nodeType":"YulIdentifier","src":"460:6:1"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"454:2:1"},"nodeType":"YulFunctionCall","src":"454:13:1"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"468:18:1","statements":[{"nodeType":"YulAssignment","src":"470:14:1","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"479:1:1"},{"kind":"number","nodeType":"YulLiteral","src":"482:1:1","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"475:3:1"},"nodeType":"YulFunctionCall","src":"475:9:1"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"470:1:1"}]}]},"pre":{"nodeType":"YulBlock","src":"439:14:1","statements":[{"nodeType":"YulVariableDeclaration","src":"441:10:1","value":{"kind":"number","nodeType":"YulLiteral","src":"450:1:1","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"445:1:1","type":""}]}]},"src":"435:238:1"}]},"name":"abi_decode_available_length_t_array$_t_uint256_$dyn_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"96:6:1","type":""},{"name":"length","nodeType":"YulTypedName","src":"104:6:1","type":""},{"name":"end","nodeType":"YulTypedName","src":"112:3:1","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"120:5:1","type":""}],"src":"24:655:1"},{"body":{"nodeType":"YulBlock","src":"779:226:1","statements":[{"body":{"nodeType":"YulBlock","src":"828:16:1","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"837:1:1","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"840:1:1","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"830:6:1"},"nodeType":"YulFunctionCall","src":"830:12:1"},"nodeType":"YulExpressionStatement","src":"830:12:1"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"807:6:1"},{"kind":"number","nodeType":"YulLiteral","src":"815:4:1","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"803:3:1"},"nodeType":"YulFunctionCall","src":"803:17:1"},{"name":"end","nodeType":"YulIdentifier","src":"822:3:1"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"799:3:1"},"nodeType":"YulFunctionCall","src":"799:27:1"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"792:6:1"},"nodeType":"YulFunctionCall","src":"792:35:1"},"nodeType":"YulIf","src":"789:2:1"},{"nodeType":"YulVariableDeclaration","src":"853:34:1","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"880:6:1"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"867:12:1"},"nodeType":"YulFunctionCall","src":"867:20:1"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"857:6:1","type":""}]},{"nodeType":"YulAssignment","src":"896:103:1","value":{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"972:6:1"},{"kind":"number","nodeType":"YulLiteral","src":"980:4:1","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"968:3:1"},"nodeType":"YulFunctionCall","src":"968:17:1"},{"name":"length","nodeType":"YulIdentifier","src":"987:6:1"},{"name":"end","nodeType":"YulIdentifier","src":"995:3:1"}],"functionName":{"name":"abi_decode_available_length_t_array$_t_uint256_$dyn_memory_ptr","nodeType":"YulIdentifier","src":"905:62:1"},"nodeType":"YulFunctionCall","src":"905:94:1"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"896:5:1"}]}]},"name":"abi_decode_t_array$_t_uint256_$dyn_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"757:6:1","type":""},{"name":"end","nodeType":"YulTypedName","src":"765:3:1","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"773:5:1","type":""}],"src":"702:303:1"},{"body":{"nodeType":"YulBlock","src":"1063:87:1","statements":[{"nodeType":"YulAssignment","src":"1073:29:1","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1095:6:1"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1082:12:1"},"nodeType":"YulFunctionCall","src":"1082:20:1"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"1073:5:1"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1138:5:1"}],"functionName":{"name":"validator_revert_t_uint256","nodeType":"YulIdentifier","src":"1111:26:1"},"nodeType":"YulFunctionCall","src":"1111:33:1"},"nodeType":"YulExpressionStatement","src":"1111:33:1"}]},"name":"abi_decode_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"1041:6:1","type":""},{"name":"end","nodeType":"YulTypedName","src":"1049:3:1","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"1057:5:1","type":""}],"src":"1011:139:1"},{"body":{"nodeType":"YulBlock","src":"1247:314:1","statements":[{"body":{"nodeType":"YulBlock","src":"1293:16:1","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1302:1:1","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1305:1:1","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1295:6:1"},"nodeType":"YulFunctionCall","src":"1295:12:1"},"nodeType":"YulExpressionStatement","src":"1295:12:1"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"1268:7:1"},{"name":"headStart","nodeType":"YulIdentifier","src":"1277:9:1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1264:3:1"},"nodeType":"YulFunctionCall","src":"1264:23:1"},{"kind":"number","nodeType":"YulLiteral","src":"1289:2:1","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1260:3:1"},"nodeType":"YulFunctionCall","src":"1260:32:1"},"nodeType":"YulIf","src":"1257:2:1"},{"nodeType":"YulBlock","src":"1319:235:1","statements":[{"nodeType":"YulVariableDeclaration","src":"1334:45:1","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1365:9:1"},{"kind":"number","nodeType":"YulLiteral","src":"1376:1:1","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1361:3:1"},"nodeType":"YulFunctionCall","src":"1361:17:1"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1348:12:1"},"nodeType":"YulFunctionCall","src":"1348:31:1"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"1338:6:1","type":""}]},{"body":{"nodeType":"YulBlock","src":"1426:16:1","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1435:1:1","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1438:1:1","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1428:6:1"},"nodeType":"YulFunctionCall","src":"1428:12:1"},"nodeType":"YulExpressionStatement","src":"1428:12:1"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1398:6:1"},{"kind":"number","nodeType":"YulLiteral","src":"1406:18:1","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1395:2:1"},"nodeType":"YulFunctionCall","src":"1395:30:1"},"nodeType":"YulIf","src":"1392:2:1"},{"nodeType":"YulAssignment","src":"1456:88:1","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1516:9:1"},{"name":"offset","nodeType":"YulIdentifier","src":"1527:6:1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1512:3:1"},"nodeType":"YulFunctionCall","src":"1512:22:1"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"1536:7:1"}],"functionName":{"name":"abi_decode_t_array$_t_uint256_$dyn_memory_ptr","nodeType":"YulIdentifier","src":"1466:45:1"},"nodeType":"YulFunctionCall","src":"1466:78:1"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1456:6:1"}]}]}]},"name":"abi_decode_tuple_t_array$_t_uint256_$dyn_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1217:9:1","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"1228:7:1","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"1240:6:1","type":""}],"src":"1156:405:1"},{"body":{"nodeType":"YulBlock","src":"1632:53:1","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"1649:3:1"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1672:5:1"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"1654:17:1"},"nodeType":"YulFunctionCall","src":"1654:24:1"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1642:6:1"},"nodeType":"YulFunctionCall","src":"1642:37:1"},"nodeType":"YulExpressionStatement","src":"1642:37:1"}]},"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"1620:5:1","type":""},{"name":"pos","nodeType":"YulTypedName","src":"1627:3:1","type":""}],"src":"1567:118:1"},{"body":{"nodeType":"YulBlock","src":"1789:124:1","statements":[{"nodeType":"YulAssignment","src":"1799:26:1","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1811:9:1"},{"kind":"number","nodeType":"YulLiteral","src":"1822:2:1","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1807:3:1"},"nodeType":"YulFunctionCall","src":"1807:18:1"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"1799:4:1"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"1879:6:1"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1892:9:1"},{"kind":"number","nodeType":"YulLiteral","src":"1903:1:1","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1888:3:1"},"nodeType":"YulFunctionCall","src":"1888:17:1"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulIdentifier","src":"1835:43:1"},"nodeType":"YulFunctionCall","src":"1835:71:1"},"nodeType":"YulExpressionStatement","src":"1835:71:1"}]},"name":"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1761:9:1","type":""},{"name":"value0","nodeType":"YulTypedName","src":"1773:6:1","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"1784:4:1","type":""}],"src":"1691:222:1"},{"body":{"nodeType":"YulBlock","src":"1960:88:1","statements":[{"nodeType":"YulAssignment","src":"1970:30:1","value":{"arguments":[],"functionName":{"name":"allocate_unbounded","nodeType":"YulIdentifier","src":"1980:18:1"},"nodeType":"YulFunctionCall","src":"1980:20:1"},"variableNames":[{"name":"memPtr","nodeType":"YulIdentifier","src":"1970:6:1"}]},{"expression":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"2029:6:1"},{"name":"size","nodeType":"YulIdentifier","src":"2037:4:1"}],"functionName":{"name":"finalize_allocation","nodeType":"YulIdentifier","src":"2009:19:1"},"nodeType":"YulFunctionCall","src":"2009:33:1"},"nodeType":"YulExpressionStatement","src":"2009:33:1"}]},"name":"allocate_memory","nodeType":"YulFunctionDefinition","parameters":[{"name":"size","nodeType":"YulTypedName","src":"1944:4:1","type":""}],"returnVariables":[{"name":"memPtr","nodeType":"YulTypedName","src":"1953:6:1","type":""}],"src":"1919:129:1"},{"body":{"nodeType":"YulBlock","src":"2094:35:1","statements":[{"nodeType":"YulAssignment","src":"2104:19:1","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2120:2:1","type":"","value":"64"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"2114:5:1"},"nodeType":"YulFunctionCall","src":"2114:9:1"},"variableNames":[{"name":"memPtr","nodeType":"YulIdentifier","src":"2104:6:1"}]}]},"name":"allocate_unbounded","nodeType":"YulFunctionDefinition","returnVariables":[{"name":"memPtr","nodeType":"YulTypedName","src":"2087:6:1","type":""}],"src":"2054:75:1"},{"body":{"nodeType":"YulBlock","src":"2217:229:1","statements":[{"body":{"nodeType":"YulBlock","src":"2322:22:1","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"2324:16:1"},"nodeType":"YulFunctionCall","src":"2324:18:1"},"nodeType":"YulExpressionStatement","src":"2324:18:1"}]},"condition":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"2294:6:1"},{"kind":"number","nodeType":"YulLiteral","src":"2302:18:1","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"2291:2:1"},"nodeType":"YulFunctionCall","src":"2291:30:1"},"nodeType":"YulIf","src":"2288:2:1"},{"nodeType":"YulAssignment","src":"2354:25:1","value":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"2366:6:1"},{"kind":"number","nodeType":"YulLiteral","src":"2374:4:1","type":"","value":"0x20"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"2362:3:1"},"nodeType":"YulFunctionCall","src":"2362:17:1"},"variableNames":[{"name":"size","nodeType":"YulIdentifier","src":"2354:4:1"}]},{"nodeType":"YulAssignment","src":"2416:23:1","value":{"arguments":[{"name":"size","nodeType":"YulIdentifier","src":"2428:4:1"},{"kind":"number","nodeType":"YulLiteral","src":"2434:4:1","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2424:3:1"},"nodeType":"YulFunctionCall","src":"2424:15:1"},"variableNames":[{"name":"size","nodeType":"YulIdentifier","src":"2416:4:1"}]}]},"name":"array_allocation_size_t_array$_t_uint256_$dyn_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"length","nodeType":"YulTypedName","src":"2201:6:1","type":""}],"returnVariables":[{"name":"size","nodeType":"YulTypedName","src":"2212:4:1","type":""}],"src":"2135:311:1"},{"body":{"nodeType":"YulBlock","src":"2497:32:1","statements":[{"nodeType":"YulAssignment","src":"2507:16:1","value":{"name":"value","nodeType":"YulIdentifier","src":"2518:5:1"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"2507:7:1"}]}]},"name":"cleanup_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"2479:5:1","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"2489:7:1","type":""}],"src":"2452:77:1"},{"body":{"nodeType":"YulBlock","src":"2578:238:1","statements":[{"nodeType":"YulVariableDeclaration","src":"2588:58:1","value":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"2610:6:1"},{"arguments":[{"name":"size","nodeType":"YulIdentifier","src":"2640:4:1"}],"functionName":{"name":"round_up_to_mul_of_32","nodeType":"YulIdentifier","src":"2618:21:1"},"nodeType":"YulFunctionCall","src":"2618:27:1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2606:3:1"},"nodeType":"YulFunctionCall","src":"2606:40:1"},"variables":[{"name":"newFreePtr","nodeType":"YulTypedName","src":"2592:10:1","type":""}]},{"body":{"nodeType":"YulBlock","src":"2757:22:1","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"2759:16:1"},"nodeType":"YulFunctionCall","src":"2759:18:1"},"nodeType":"YulExpressionStatement","src":"2759:18:1"}]},"condition":{"arguments":[{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"2700:10:1"},{"kind":"number","nodeType":"YulLiteral","src":"2712:18:1","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"2697:2:1"},"nodeType":"YulFunctionCall","src":"2697:34:1"},{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"2736:10:1"},{"name":"memPtr","nodeType":"YulIdentifier","src":"2748:6:1"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"2733:2:1"},"nodeType":"YulFunctionCall","src":"2733:22:1"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"2694:2:1"},"nodeType":"YulFunctionCall","src":"2694:62:1"},"nodeType":"YulIf","src":"2691:2:1"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2795:2:1","type":"","value":"64"},{"name":"newFreePtr","nodeType":"YulIdentifier","src":"2799:10:1"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2788:6:1"},"nodeType":"YulFunctionCall","src":"2788:22:1"},"nodeType":"YulExpressionStatement","src":"2788:22:1"}]},"name":"finalize_allocation","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"2564:6:1","type":""},{"name":"size","nodeType":"YulTypedName","src":"2572:4:1","type":""}],"src":"2535:281:1"},{"body":{"nodeType":"YulBlock","src":"2850:152:1","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2867:1:1","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2870:77:1","type":"","value":"35408467139433450592217433187231851964531694900788300625387963629091585785856"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2860:6:1"},"nodeType":"YulFunctionCall","src":"2860:88:1"},"nodeType":"YulExpressionStatement","src":"2860:88:1"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2964:1:1","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"2967:4:1","type":"","value":"0x41"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2957:6:1"},"nodeType":"YulFunctionCall","src":"2957:15:1"},"nodeType":"YulExpressionStatement","src":"2957:15:1"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2988:1:1","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2991:4:1","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2981:6:1"},"nodeType":"YulFunctionCall","src":"2981:15:1"},"nodeType":"YulExpressionStatement","src":"2981:15:1"}]},"name":"panic_error_0x41","nodeType":"YulFunctionDefinition","src":"2822:180:1"},{"body":{"nodeType":"YulBlock","src":"3056:54:1","statements":[{"nodeType":"YulAssignment","src":"3066:38:1","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"3084:5:1"},{"kind":"number","nodeType":"YulLiteral","src":"3091:2:1","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3080:3:1"},"nodeType":"YulFunctionCall","src":"3080:14:1"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3100:2:1","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"3096:3:1"},"nodeType":"YulFunctionCall","src":"3096:7:1"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"3076:3:1"},"nodeType":"YulFunctionCall","src":"3076:28:1"},"variableNames":[{"name":"result","nodeType":"YulIdentifier","src":"3066:6:1"}]}]},"name":"round_up_to_mul_of_32","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"3039:5:1","type":""}],"returnVariables":[{"name":"result","nodeType":"YulTypedName","src":"3049:6:1","type":""}],"src":"3008:102:1"},{"body":{"nodeType":"YulBlock","src":"3159:79:1","statements":[{"body":{"nodeType":"YulBlock","src":"3216:16:1","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3225:1:1","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3228:1:1","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3218:6:1"},"nodeType":"YulFunctionCall","src":"3218:12:1"},"nodeType":"YulExpressionStatement","src":"3218:12:1"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"3182:5:1"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"3207:5:1"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"3189:17:1"},"nodeType":"YulFunctionCall","src":"3189:24:1"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"3179:2:1"},"nodeType":"YulFunctionCall","src":"3179:35:1"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"3172:6:1"},"nodeType":"YulFunctionCall","src":"3172:43:1"},"nodeType":"YulIf","src":"3169:2:1"}]},"name":"validator_revert_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"3152:5:1","type":""}],"src":"3116:122:1"}]},"contents":"{ +{"contracts":{"a.sol":{"A":{"evm":{"bytecode":{"generatedSources":[],"object":""},"deployedBytecode":{"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:4001:1","statements":[{"body":{"nodeType":"YulBlock","src":"126:620:1","statements":[{"nodeType":"YulAssignment","src":"136:90:1","value":{"arguments":[{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"218:6:1"}],"functionName":{"name":"array_allocation_size_t_array$_t_uint256_$dyn_memory_ptr","nodeType":"YulIdentifier","src":"161:56:1"},"nodeType":"YulFunctionCall","src":"161:64:1"}],"functionName":{"name":"allocate_memory","nodeType":"YulIdentifier","src":"145:15:1"},"nodeType":"YulFunctionCall","src":"145:81:1"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"136:5:1"}]},{"nodeType":"YulVariableDeclaration","src":"235:16:1","value":{"name":"array","nodeType":"YulIdentifier","src":"246:5:1"},"variables":[{"name":"dst","nodeType":"YulTypedName","src":"239:3:1","type":""}]},{"expression":{"arguments":[{"name":"array","nodeType":"YulIdentifier","src":"268:5:1"},{"name":"length","nodeType":"YulIdentifier","src":"275:6:1"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"261:6:1"},"nodeType":"YulFunctionCall","src":"261:21:1"},"nodeType":"YulExpressionStatement","src":"261:21:1"},{"nodeType":"YulAssignment","src":"291:23:1","value":{"arguments":[{"name":"array","nodeType":"YulIdentifier","src":"302:5:1"},{"kind":"number","nodeType":"YulLiteral","src":"309:4:1","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"298:3:1"},"nodeType":"YulFunctionCall","src":"298:16:1"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"291:3:1"}]},{"nodeType":"YulVariableDeclaration","src":"324:17:1","value":{"name":"offset","nodeType":"YulIdentifier","src":"335:6:1"},"variables":[{"name":"src","nodeType":"YulTypedName","src":"328:3:1","type":""}]},{"body":{"nodeType":"YulBlock","src":"390:103:1","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef","nodeType":"YulIdentifier","src":"404:77:1"},"nodeType":"YulFunctionCall","src":"404:79:1"},"nodeType":"YulExpressionStatement","src":"404:79:1"}]},"condition":{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"360:3:1"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"369:6:1"},{"kind":"number","nodeType":"YulLiteral","src":"377:4:1","type":"","value":"0x20"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"365:3:1"},"nodeType":"YulFunctionCall","src":"365:17:1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"356:3:1"},"nodeType":"YulFunctionCall","src":"356:27:1"},{"name":"end","nodeType":"YulIdentifier","src":"385:3:1"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"353:2:1"},"nodeType":"YulFunctionCall","src":"353:36:1"},"nodeType":"YulIf","src":"350:2:1"},{"body":{"nodeType":"YulBlock","src":"562:178:1","statements":[{"nodeType":"YulVariableDeclaration","src":"577:21:1","value":{"name":"src","nodeType":"YulIdentifier","src":"595:3:1"},"variables":[{"name":"elementPos","nodeType":"YulTypedName","src":"581:10:1","type":""}]},{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"619:3:1"},{"arguments":[{"name":"elementPos","nodeType":"YulIdentifier","src":"645:10:1"},{"name":"end","nodeType":"YulIdentifier","src":"657:3:1"}],"functionName":{"name":"abi_decode_t_uint256","nodeType":"YulIdentifier","src":"624:20:1"},"nodeType":"YulFunctionCall","src":"624:37:1"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"612:6:1"},"nodeType":"YulFunctionCall","src":"612:50:1"},"nodeType":"YulExpressionStatement","src":"612:50:1"},{"nodeType":"YulAssignment","src":"675:21:1","value":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"686:3:1"},{"kind":"number","nodeType":"YulLiteral","src":"691:4:1","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"682:3:1"},"nodeType":"YulFunctionCall","src":"682:14:1"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"675:3:1"}]},{"nodeType":"YulAssignment","src":"709:21:1","value":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"720:3:1"},{"kind":"number","nodeType":"YulLiteral","src":"725:4:1","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"716:3:1"},"nodeType":"YulFunctionCall","src":"716:14:1"},"variableNames":[{"name":"src","nodeType":"YulIdentifier","src":"709:3:1"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"524:1:1"},{"name":"length","nodeType":"YulIdentifier","src":"527:6:1"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"521:2:1"},"nodeType":"YulFunctionCall","src":"521:13:1"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"535:18:1","statements":[{"nodeType":"YulAssignment","src":"537:14:1","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"546:1:1"},{"kind":"number","nodeType":"YulLiteral","src":"549:1:1","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"542:3:1"},"nodeType":"YulFunctionCall","src":"542:9:1"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"537:1:1"}]}]},"pre":{"nodeType":"YulBlock","src":"506:14:1","statements":[{"nodeType":"YulVariableDeclaration","src":"508:10:1","value":{"kind":"number","nodeType":"YulLiteral","src":"517:1:1","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"512:1:1","type":""}]}]},"src":"502:238:1"}]},"name":"abi_decode_available_length_t_array$_t_uint256_$dyn_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"96:6:1","type":""},{"name":"length","nodeType":"YulTypedName","src":"104:6:1","type":""},{"name":"end","nodeType":"YulTypedName","src":"112:3:1","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"120:5:1","type":""}],"src":"24:722:1"},{"body":{"nodeType":"YulBlock","src":"846:293:1","statements":[{"body":{"nodeType":"YulBlock","src":"895:83:1","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d","nodeType":"YulIdentifier","src":"897:77:1"},"nodeType":"YulFunctionCall","src":"897:79:1"},"nodeType":"YulExpressionStatement","src":"897:79:1"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"874:6:1"},{"kind":"number","nodeType":"YulLiteral","src":"882:4:1","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"870:3:1"},"nodeType":"YulFunctionCall","src":"870:17:1"},{"name":"end","nodeType":"YulIdentifier","src":"889:3:1"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"866:3:1"},"nodeType":"YulFunctionCall","src":"866:27:1"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"859:6:1"},"nodeType":"YulFunctionCall","src":"859:35:1"},"nodeType":"YulIf","src":"856:2:1"},{"nodeType":"YulVariableDeclaration","src":"987:34:1","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1014:6:1"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1001:12:1"},"nodeType":"YulFunctionCall","src":"1001:20:1"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"991:6:1","type":""}]},{"nodeType":"YulAssignment","src":"1030:103:1","value":{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1106:6:1"},{"kind":"number","nodeType":"YulLiteral","src":"1114:4:1","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1102:3:1"},"nodeType":"YulFunctionCall","src":"1102:17:1"},{"name":"length","nodeType":"YulIdentifier","src":"1121:6:1"},{"name":"end","nodeType":"YulIdentifier","src":"1129:3:1"}],"functionName":{"name":"abi_decode_available_length_t_array$_t_uint256_$dyn_memory_ptr","nodeType":"YulIdentifier","src":"1039:62:1"},"nodeType":"YulFunctionCall","src":"1039:94:1"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"1030:5:1"}]}]},"name":"abi_decode_t_array$_t_uint256_$dyn_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"824:6:1","type":""},{"name":"end","nodeType":"YulTypedName","src":"832:3:1","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"840:5:1","type":""}],"src":"769:370:1"},{"body":{"nodeType":"YulBlock","src":"1197:87:1","statements":[{"nodeType":"YulAssignment","src":"1207:29:1","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1229:6:1"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1216:12:1"},"nodeType":"YulFunctionCall","src":"1216:20:1"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"1207:5:1"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1272:5:1"}],"functionName":{"name":"validator_revert_t_uint256","nodeType":"YulIdentifier","src":"1245:26:1"},"nodeType":"YulFunctionCall","src":"1245:33:1"},"nodeType":"YulExpressionStatement","src":"1245:33:1"}]},"name":"abi_decode_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"1175:6:1","type":""},{"name":"end","nodeType":"YulTypedName","src":"1183:3:1","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"1191:5:1","type":""}],"src":"1145:139:1"},{"body":{"nodeType":"YulBlock","src":"1381:448:1","statements":[{"body":{"nodeType":"YulBlock","src":"1427:83:1","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"1429:77:1"},"nodeType":"YulFunctionCall","src":"1429:79:1"},"nodeType":"YulExpressionStatement","src":"1429:79:1"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"1402:7:1"},{"name":"headStart","nodeType":"YulIdentifier","src":"1411:9:1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1398:3:1"},"nodeType":"YulFunctionCall","src":"1398:23:1"},{"kind":"number","nodeType":"YulLiteral","src":"1423:2:1","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1394:3:1"},"nodeType":"YulFunctionCall","src":"1394:32:1"},"nodeType":"YulIf","src":"1391:2:1"},{"nodeType":"YulBlock","src":"1520:302:1","statements":[{"nodeType":"YulVariableDeclaration","src":"1535:45:1","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1566:9:1"},{"kind":"number","nodeType":"YulLiteral","src":"1577:1:1","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1562:3:1"},"nodeType":"YulFunctionCall","src":"1562:17:1"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1549:12:1"},"nodeType":"YulFunctionCall","src":"1549:31:1"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"1539:6:1","type":""}]},{"body":{"nodeType":"YulBlock","src":"1627:83:1","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nodeType":"YulIdentifier","src":"1629:77:1"},"nodeType":"YulFunctionCall","src":"1629:79:1"},"nodeType":"YulExpressionStatement","src":"1629:79:1"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1599:6:1"},{"kind":"number","nodeType":"YulLiteral","src":"1607:18:1","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1596:2:1"},"nodeType":"YulFunctionCall","src":"1596:30:1"},"nodeType":"YulIf","src":"1593:2:1"},{"nodeType":"YulAssignment","src":"1724:88:1","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1784:9:1"},{"name":"offset","nodeType":"YulIdentifier","src":"1795:6:1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1780:3:1"},"nodeType":"YulFunctionCall","src":"1780:22:1"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"1804:7:1"}],"functionName":{"name":"abi_decode_t_array$_t_uint256_$dyn_memory_ptr","nodeType":"YulIdentifier","src":"1734:45:1"},"nodeType":"YulFunctionCall","src":"1734:78:1"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1724:6:1"}]}]}]},"name":"abi_decode_tuple_t_array$_t_uint256_$dyn_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1351:9:1","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"1362:7:1","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"1374:6:1","type":""}],"src":"1290:539:1"},{"body":{"nodeType":"YulBlock","src":"1900:53:1","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"1917:3:1"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1940:5:1"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"1922:17:1"},"nodeType":"YulFunctionCall","src":"1922:24:1"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1910:6:1"},"nodeType":"YulFunctionCall","src":"1910:37:1"},"nodeType":"YulExpressionStatement","src":"1910:37:1"}]},"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"1888:5:1","type":""},{"name":"pos","nodeType":"YulTypedName","src":"1895:3:1","type":""}],"src":"1835:118:1"},{"body":{"nodeType":"YulBlock","src":"2057:124:1","statements":[{"nodeType":"YulAssignment","src":"2067:26:1","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2079:9:1"},{"kind":"number","nodeType":"YulLiteral","src":"2090:2:1","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2075:3:1"},"nodeType":"YulFunctionCall","src":"2075:18:1"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"2067:4:1"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"2147:6:1"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2160:9:1"},{"kind":"number","nodeType":"YulLiteral","src":"2171:1:1","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2156:3:1"},"nodeType":"YulFunctionCall","src":"2156:17:1"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulIdentifier","src":"2103:43:1"},"nodeType":"YulFunctionCall","src":"2103:71:1"},"nodeType":"YulExpressionStatement","src":"2103:71:1"}]},"name":"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2029:9:1","type":""},{"name":"value0","nodeType":"YulTypedName","src":"2041:6:1","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"2052:4:1","type":""}],"src":"1959:222:1"},{"body":{"nodeType":"YulBlock","src":"2228:88:1","statements":[{"nodeType":"YulAssignment","src":"2238:30:1","value":{"arguments":[],"functionName":{"name":"allocate_unbounded","nodeType":"YulIdentifier","src":"2248:18:1"},"nodeType":"YulFunctionCall","src":"2248:20:1"},"variableNames":[{"name":"memPtr","nodeType":"YulIdentifier","src":"2238:6:1"}]},{"expression":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"2297:6:1"},{"name":"size","nodeType":"YulIdentifier","src":"2305:4:1"}],"functionName":{"name":"finalize_allocation","nodeType":"YulIdentifier","src":"2277:19:1"},"nodeType":"YulFunctionCall","src":"2277:33:1"},"nodeType":"YulExpressionStatement","src":"2277:33:1"}]},"name":"allocate_memory","nodeType":"YulFunctionDefinition","parameters":[{"name":"size","nodeType":"YulTypedName","src":"2212:4:1","type":""}],"returnVariables":[{"name":"memPtr","nodeType":"YulTypedName","src":"2221:6:1","type":""}],"src":"2187:129:1"},{"body":{"nodeType":"YulBlock","src":"2362:35:1","statements":[{"nodeType":"YulAssignment","src":"2372:19:1","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2388:2:1","type":"","value":"64"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"2382:5:1"},"nodeType":"YulFunctionCall","src":"2382:9:1"},"variableNames":[{"name":"memPtr","nodeType":"YulIdentifier","src":"2372:6:1"}]}]},"name":"allocate_unbounded","nodeType":"YulFunctionDefinition","returnVariables":[{"name":"memPtr","nodeType":"YulTypedName","src":"2355:6:1","type":""}],"src":"2322:75:1"},{"body":{"nodeType":"YulBlock","src":"2485:229:1","statements":[{"body":{"nodeType":"YulBlock","src":"2590:22:1","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"2592:16:1"},"nodeType":"YulFunctionCall","src":"2592:18:1"},"nodeType":"YulExpressionStatement","src":"2592:18:1"}]},"condition":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"2562:6:1"},{"kind":"number","nodeType":"YulLiteral","src":"2570:18:1","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"2559:2:1"},"nodeType":"YulFunctionCall","src":"2559:30:1"},"nodeType":"YulIf","src":"2556:2:1"},{"nodeType":"YulAssignment","src":"2622:25:1","value":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"2634:6:1"},{"kind":"number","nodeType":"YulLiteral","src":"2642:4:1","type":"","value":"0x20"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"2630:3:1"},"nodeType":"YulFunctionCall","src":"2630:17:1"},"variableNames":[{"name":"size","nodeType":"YulIdentifier","src":"2622:4:1"}]},{"nodeType":"YulAssignment","src":"2684:23:1","value":{"arguments":[{"name":"size","nodeType":"YulIdentifier","src":"2696:4:1"},{"kind":"number","nodeType":"YulLiteral","src":"2702:4:1","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2692:3:1"},"nodeType":"YulFunctionCall","src":"2692:15:1"},"variableNames":[{"name":"size","nodeType":"YulIdentifier","src":"2684:4:1"}]}]},"name":"array_allocation_size_t_array$_t_uint256_$dyn_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"length","nodeType":"YulTypedName","src":"2469:6:1","type":""}],"returnVariables":[{"name":"size","nodeType":"YulTypedName","src":"2480:4:1","type":""}],"src":"2403:311:1"},{"body":{"nodeType":"YulBlock","src":"2765:32:1","statements":[{"nodeType":"YulAssignment","src":"2775:16:1","value":{"name":"value","nodeType":"YulIdentifier","src":"2786:5:1"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"2775:7:1"}]}]},"name":"cleanup_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"2747:5:1","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"2757:7:1","type":""}],"src":"2720:77:1"},{"body":{"nodeType":"YulBlock","src":"2846:238:1","statements":[{"nodeType":"YulVariableDeclaration","src":"2856:58:1","value":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"2878:6:1"},{"arguments":[{"name":"size","nodeType":"YulIdentifier","src":"2908:4:1"}],"functionName":{"name":"round_up_to_mul_of_32","nodeType":"YulIdentifier","src":"2886:21:1"},"nodeType":"YulFunctionCall","src":"2886:27:1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2874:3:1"},"nodeType":"YulFunctionCall","src":"2874:40:1"},"variables":[{"name":"newFreePtr","nodeType":"YulTypedName","src":"2860:10:1","type":""}]},{"body":{"nodeType":"YulBlock","src":"3025:22:1","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"3027:16:1"},"nodeType":"YulFunctionCall","src":"3027:18:1"},"nodeType":"YulExpressionStatement","src":"3027:18:1"}]},"condition":{"arguments":[{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"2968:10:1"},{"kind":"number","nodeType":"YulLiteral","src":"2980:18:1","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"2965:2:1"},"nodeType":"YulFunctionCall","src":"2965:34:1"},{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"3004:10:1"},{"name":"memPtr","nodeType":"YulIdentifier","src":"3016:6:1"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"3001:2:1"},"nodeType":"YulFunctionCall","src":"3001:22:1"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"2962:2:1"},"nodeType":"YulFunctionCall","src":"2962:62:1"},"nodeType":"YulIf","src":"2959:2:1"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3063:2:1","type":"","value":"64"},{"name":"newFreePtr","nodeType":"YulIdentifier","src":"3067:10:1"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3056:6:1"},"nodeType":"YulFunctionCall","src":"3056:22:1"},"nodeType":"YulExpressionStatement","src":"3056:22:1"}]},"name":"finalize_allocation","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"2832:6:1","type":""},{"name":"size","nodeType":"YulTypedName","src":"2840:4:1","type":""}],"src":"2803:281:1"},{"body":{"nodeType":"YulBlock","src":"3118:152:1","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3135:1:1","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3138:77:1","type":"","value":"35408467139433450592217433187231851964531694900788300625387963629091585785856"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3128:6:1"},"nodeType":"YulFunctionCall","src":"3128:88:1"},"nodeType":"YulExpressionStatement","src":"3128:88:1"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3232:1:1","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"3235:4:1","type":"","value":"0x41"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3225:6:1"},"nodeType":"YulFunctionCall","src":"3225:15:1"},"nodeType":"YulExpressionStatement","src":"3225:15:1"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3256:1:1","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3259:4:1","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3249:6:1"},"nodeType":"YulFunctionCall","src":"3249:15:1"},"nodeType":"YulExpressionStatement","src":"3249:15:1"}]},"name":"panic_error_0x41","nodeType":"YulFunctionDefinition","src":"3090:180:1"},{"body":{"nodeType":"YulBlock","src":"3365:28:1","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3382:1:1","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3385:1:1","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3375:6:1"},"nodeType":"YulFunctionCall","src":"3375:12:1"},"nodeType":"YulExpressionStatement","src":"3375:12:1"}]},"name":"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d","nodeType":"YulFunctionDefinition","src":"3276:117:1"},{"body":{"nodeType":"YulBlock","src":"3488:28:1","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3505:1:1","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3508:1:1","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3498:6:1"},"nodeType":"YulFunctionCall","src":"3498:12:1"},"nodeType":"YulExpressionStatement","src":"3498:12:1"}]},"name":"revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef","nodeType":"YulFunctionDefinition","src":"3399:117:1"},{"body":{"nodeType":"YulBlock","src":"3611:28:1","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3628:1:1","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3631:1:1","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3621:6:1"},"nodeType":"YulFunctionCall","src":"3621:12:1"},"nodeType":"YulExpressionStatement","src":"3621:12:1"}]},"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nodeType":"YulFunctionDefinition","src":"3522:117:1"},{"body":{"nodeType":"YulBlock","src":"3734:28:1","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3751:1:1","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3754:1:1","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3744:6:1"},"nodeType":"YulFunctionCall","src":"3744:12:1"},"nodeType":"YulExpressionStatement","src":"3744:12:1"}]},"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulFunctionDefinition","src":"3645:117:1"},{"body":{"nodeType":"YulBlock","src":"3816:54:1","statements":[{"nodeType":"YulAssignment","src":"3826:38:1","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"3844:5:1"},{"kind":"number","nodeType":"YulLiteral","src":"3851:2:1","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3840:3:1"},"nodeType":"YulFunctionCall","src":"3840:14:1"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3860:2:1","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"3856:3:1"},"nodeType":"YulFunctionCall","src":"3856:7:1"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"3836:3:1"},"nodeType":"YulFunctionCall","src":"3836:28:1"},"variableNames":[{"name":"result","nodeType":"YulIdentifier","src":"3826:6:1"}]}]},"name":"round_up_to_mul_of_32","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"3799:5:1","type":""}],"returnVariables":[{"name":"result","nodeType":"YulTypedName","src":"3809:6:1","type":""}],"src":"3768:102:1"},{"body":{"nodeType":"YulBlock","src":"3919:79:1","statements":[{"body":{"nodeType":"YulBlock","src":"3976:16:1","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3985:1:1","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3988:1:1","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3978:6:1"},"nodeType":"YulFunctionCall","src":"3978:12:1"},"nodeType":"YulExpressionStatement","src":"3978:12:1"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"3942:5:1"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"3967:5:1"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"3949:17:1"},"nodeType":"YulFunctionCall","src":"3949:24:1"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"3939:2:1"},"nodeType":"YulFunctionCall","src":"3939:35:1"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"3932:6:1"},"nodeType":"YulFunctionCall","src":"3932:43:1"},"nodeType":"YulIf","src":"3929:2:1"}]},"name":"validator_revert_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"3912:5:1","type":""}],"src":"3876:122:1"}]},"contents":"{ // uint256[] function abi_decode_available_length_t_array$_t_uint256_$dyn_memory_ptr(offset, length, end) -> array { @@ -10,7 +10,7 @@ let src := offset if gt(add(src, mul(length, 0x20)), end) { - revert(0, 0) + revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef() } for { let i := 0 } lt(i, length) { i := add(i, 1) } { @@ -25,7 +25,7 @@ // uint256[] function abi_decode_t_array$_t_uint256_$dyn_memory_ptr(offset, end) -> array { - if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) } + if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() } let length := calldataload(offset) array := abi_decode_available_length_t_array$_t_uint256_$dyn_memory_ptr(add(offset, 0x20), length, end) } @@ -36,12 +36,12 @@ } function abi_decode_tuple_t_array$_t_uint256_$dyn_memory_ptr(headStart, dataEnd) -> value0 { - if slt(sub(dataEnd, headStart), 32) { revert(0, 0) } + if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() } { let offset := calldataload(add(headStart, 0)) - if gt(offset, 0xffffffffffffffff) { revert(0, 0) } + if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() } value0 := abi_decode_t_array$_t_uint256_$dyn_memory_ptr(add(headStart, offset), dataEnd) } @@ -96,6 +96,22 @@ revert(0, 0x24) } + function revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() { + revert(0, 0) + } + + function revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef() { + revert(0, 0) + } + + function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() { + revert(0, 0) + } + + function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() { + revert(0, 0) + } + function round_up_to_mul_of_32(value) -> result { result := and(add(value, 31), not(31)) } diff --git a/test/cmdlineTests/standard_irOptimized_requested/output.json b/test/cmdlineTests/standard_irOptimized_requested/output.json index 2aeac9773..85364f6d5 100644 --- a/test/cmdlineTests/standard_irOptimized_requested/output.json +++ b/test/cmdlineTests/standard_irOptimized_requested/output.json @@ -8,7 +8,10 @@ object \"C_7\" { code { mstore(64, 128) - if callvalue() { revert(0, 0) } + if callvalue() + { + revert_error_ca66f745a3ce8ff40e2ccaf1ad45db7774001b90d25810abd9040049be7bf4bb() + } constructor_C_7() let _1 := allocate_unbounded() codecopy(_1, dataoffset(\"C_7_deployed\"), datasize(\"C_7_deployed\")) @@ -17,6 +20,8 @@ object \"C_7\" { { memPtr := mload(64) } function constructor_C_7() { } + function revert_error_ca66f745a3ce8ff40e2ccaf1ad45db7774001b90d25810abd9040049be7bf4bb() + { revert(0, 0) } } object \"C_7_deployed\" { code { @@ -26,7 +31,10 @@ object \"C_7\" { let selector := shift_right_224_unsigned(calldataload(0)) switch selector case 0x26121ff0 { - if callvalue() { revert(0, 0) } + if callvalue() + { + revert_error_ca66f745a3ce8ff40e2ccaf1ad45db7774001b90d25810abd9040049be7bf4bb() + } abi_decode_tuple_(4, calldatasize()) fun_f_6() let memPos := allocate_unbounded() @@ -36,10 +44,13 @@ object \"C_7\" { default { } } if iszero(calldatasize()) { } - revert(0, 0) + revert_error_42b3090547df1d2001c96683413b8cf91c1b902ef5e3cb8d9f6f304cf7446f74() function abi_decode_tuple_(headStart, dataEnd) { - if slt(sub(dataEnd, headStart), 0) { revert(0, 0) } + if slt(sub(dataEnd, headStart), 0) + { + revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() + } } function abi_encode_tuple__to__fromStack(headStart) -> tail { tail := add(headStart, 0) } @@ -47,6 +58,12 @@ object \"C_7\" { { memPtr := mload(64) } function fun_f_6() { } + function revert_error_42b3090547df1d2001c96683413b8cf91c1b902ef5e3cb8d9f6f304cf7446f74() + { revert(0, 0) } + function revert_error_ca66f745a3ce8ff40e2ccaf1ad45db7774001b90d25810abd9040049be7bf4bb() + { revert(0, 0) } + function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() + { revert(0, 0) } function shift_right_224_unsigned(value) -> newValue { newValue := shr(224, value) } } diff --git a/test/cmdlineTests/standard_ir_requested/output.json b/test/cmdlineTests/standard_ir_requested/output.json index 5b91fb56f..edee7445e 100644 --- a/test/cmdlineTests/standard_ir_requested/output.json +++ b/test/cmdlineTests/standard_ir_requested/output.json @@ -9,7 +9,7 @@ object \"C_7\" { code { mstore(64, 128) - if callvalue() { revert(0, 0) } + if callvalue() { revert_error_ca66f745a3ce8ff40e2ccaf1ad45db7774001b90d25810abd9040049be7bf4bb() } constructor_C_7() @@ -26,6 +26,10 @@ object \"C_7\" { } + function revert_error_ca66f745a3ce8ff40e2ccaf1ad45db7774001b90d25810abd9040049be7bf4bb() { + revert(0, 0) + } + } object \"C_7_deployed\" { code { @@ -40,7 +44,7 @@ object \"C_7\" { { // f() - if callvalue() { revert(0, 0) } + if callvalue() { revert_error_ca66f745a3ce8ff40e2ccaf1ad45db7774001b90d25810abd9040049be7bf4bb() } abi_decode_tuple_(4, calldatasize()) fun_f_6() let memPos := allocate_unbounded() @@ -51,10 +55,10 @@ object \"C_7\" { default {} } if iszero(calldatasize()) { } - revert(0, 0) + revert_error_42b3090547df1d2001c96683413b8cf91c1b902ef5e3cb8d9f6f304cf7446f74() function abi_decode_tuple_(headStart, dataEnd) { - if slt(sub(dataEnd, headStart), 0) { revert(0, 0) } + if slt(sub(dataEnd, headStart), 0) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() } } @@ -71,6 +75,18 @@ object \"C_7\" { } + function revert_error_42b3090547df1d2001c96683413b8cf91c1b902ef5e3cb8d9f6f304cf7446f74() { + revert(0, 0) + } + + function revert_error_ca66f745a3ce8ff40e2ccaf1ad45db7774001b90d25810abd9040049be7bf4bb() { + revert(0, 0) + } + + function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() { + revert(0, 0) + } + function shift_right_224_unsigned(value) -> newValue { newValue := diff --git a/test/cmdlineTests/standard_viair_requested/output.json b/test/cmdlineTests/standard_viair_requested/output.json index ca3054c46..b09f39fa7 100644 --- a/test/cmdlineTests/standard_viair_requested/output.json +++ b/test/cmdlineTests/standard_viair_requested/output.json @@ -9,7 +9,7 @@ object \"C_3\" { code { mstore(64, 128) - if callvalue() { revert(0, 0) } + if callvalue() { revert_error_ca66f745a3ce8ff40e2ccaf1ad45db7774001b90d25810abd9040049be7bf4bb() } constructor_C_3() @@ -26,6 +26,10 @@ object \"C_3\" { } + function revert_error_ca66f745a3ce8ff40e2ccaf1ad45db7774001b90d25810abd9040049be7bf4bb() { + revert(0, 0) + } + } object \"C_3_deployed\" { code { @@ -39,7 +43,15 @@ object \"C_3\" { default {} } if iszero(calldatasize()) { } - revert(0, 0) + revert_error_42b3090547df1d2001c96683413b8cf91c1b902ef5e3cb8d9f6f304cf7446f74() + + function allocate_unbounded() -> memPtr { + memPtr := mload(64) + } + + function revert_error_42b3090547df1d2001c96683413b8cf91c1b902ef5e3cb8d9f6f304cf7446f74() { + revert(0, 0) + } function shift_right_224_unsigned(value) -> newValue { newValue := @@ -65,7 +77,7 @@ object \"C_3\" { object \"D_16\" { code { mstore(64, 128) - if callvalue() { revert(0, 0) } + if callvalue() { revert_error_ca66f745a3ce8ff40e2ccaf1ad45db7774001b90d25810abd9040049be7bf4bb() } constructor_D_16() @@ -82,6 +94,10 @@ object \"D_16\" { } + function revert_error_ca66f745a3ce8ff40e2ccaf1ad45db7774001b90d25810abd9040049be7bf4bb() { + revert(0, 0) + } + } object \"D_16_deployed\" { code { @@ -96,7 +112,7 @@ object \"D_16\" { { // f() - if callvalue() { revert(0, 0) } + if callvalue() { revert_error_ca66f745a3ce8ff40e2ccaf1ad45db7774001b90d25810abd9040049be7bf4bb() } abi_decode_tuple_(4, calldatasize()) fun_f_15() let memPos := allocate_unbounded() @@ -107,10 +123,10 @@ object \"D_16\" { default {} } if iszero(calldatasize()) { } - revert(0, 0) + revert_error_42b3090547df1d2001c96683413b8cf91c1b902ef5e3cb8d9f6f304cf7446f74() function abi_decode_tuple_(headStart, dataEnd) { - if slt(sub(dataEnd, headStart), 0) { revert(0, 0) } + if slt(sub(dataEnd, headStart), 0) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() } } @@ -145,6 +161,18 @@ object \"D_16\" { revert(0, 0x24) } + function revert_error_42b3090547df1d2001c96683413b8cf91c1b902ef5e3cb8d9f6f304cf7446f74() { + revert(0, 0) + } + + function revert_error_ca66f745a3ce8ff40e2ccaf1ad45db7774001b90d25810abd9040049be7bf4bb() { + revert(0, 0) + } + + function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() { + revert(0, 0) + } + function revert_forward_1() { let pos := allocate_unbounded() returndatacopy(pos, 0, returndatasize()) @@ -169,7 +197,7 @@ object \"D_16\" { object \"C_3\" { code { mstore(64, 128) - if callvalue() { revert(0, 0) } + if callvalue() { revert_error_ca66f745a3ce8ff40e2ccaf1ad45db7774001b90d25810abd9040049be7bf4bb() } constructor_C_3() @@ -186,6 +214,10 @@ object \"D_16\" { } + function revert_error_ca66f745a3ce8ff40e2ccaf1ad45db7774001b90d25810abd9040049be7bf4bb() { + revert(0, 0) + } + } object \"C_3_deployed\" { code { @@ -199,7 +231,15 @@ object \"D_16\" { default {} } if iszero(calldatasize()) { } - revert(0, 0) + revert_error_42b3090547df1d2001c96683413b8cf91c1b902ef5e3cb8d9f6f304cf7446f74() + + function allocate_unbounded() -> memPtr { + memPtr := mload(64) + } + + function revert_error_42b3090547df1d2001c96683413b8cf91c1b902ef5e3cb8d9f6f304cf7446f74() { + revert(0, 0) + } function shift_right_224_unsigned(value) -> newValue { newValue := diff --git a/test/cmdlineTests/viair_abicoder_v1/output b/test/cmdlineTests/viair_abicoder_v1/output index 37e957259..5c227b33f 100644 --- a/test/cmdlineTests/viair_abicoder_v1/output +++ b/test/cmdlineTests/viair_abicoder_v1/output @@ -10,7 +10,7 @@ IR: object "test_11" { code { mstore(64, 128) - if callvalue() { revert(0, 0) } + if callvalue() { revert_error_ca66f745a3ce8ff40e2ccaf1ad45db7774001b90d25810abd9040049be7bf4bb() } constructor_test_11() @@ -27,6 +27,10 @@ object "test_11" { } + function revert_error_ca66f745a3ce8ff40e2ccaf1ad45db7774001b90d25810abd9040049be7bf4bb() { + revert(0, 0) + } + } object "test_11_deployed" { code { @@ -41,7 +45,7 @@ object "test_11" { { // f() - if callvalue() { revert(0, 0) } + if callvalue() { revert_error_ca66f745a3ce8ff40e2ccaf1ad45db7774001b90d25810abd9040049be7bf4bb() } abi_decode_tuple_(4, calldatasize()) let ret_0 := fun_f_10() let memPos := allocate_unbounded() @@ -52,10 +56,10 @@ object "test_11" { default {} } if iszero(calldatasize()) { } - revert(0, 0) + revert_error_42b3090547df1d2001c96683413b8cf91c1b902ef5e3cb8d9f6f304cf7446f74() function abi_decode_tuple_(headStart, dataEnd) { - if slt(sub(dataEnd, headStart), 0) { revert(0, 0) } + if slt(sub(dataEnd, headStart), 0) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() } } @@ -88,6 +92,18 @@ object "test_11" { } + function revert_error_42b3090547df1d2001c96683413b8cf91c1b902ef5e3cb8d9f6f304cf7446f74() { + revert(0, 0) + } + + function revert_error_ca66f745a3ce8ff40e2ccaf1ad45db7774001b90d25810abd9040049be7bf4bb() { + revert(0, 0) + } + + function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() { + revert(0, 0) + } + function shift_right_224_unsigned(value) -> newValue { newValue := diff --git a/test/cmdlineTests/yul_optimizer_steps/output b/test/cmdlineTests/yul_optimizer_steps/output index fe6a4be49..dee816447 100644 --- a/test/cmdlineTests/yul_optimizer_steps/output +++ b/test/cmdlineTests/yul_optimizer_steps/output @@ -10,13 +10,18 @@ object "C_7" { code { { mstore(64, 128) - if callvalue() { revert(0, 0) } + if callvalue() + { + revert_error_ca66f745a3ce8ff40e2ccaf1ad45db7774001b90d25810abd9040049be7bf4bb() + } let _1 := allocate_unbounded() codecopy(_1, dataoffset("C_7_deployed"), datasize("C_7_deployed")) return(_1, datasize("C_7_deployed")) } function allocate_unbounded() -> memPtr { memPtr := mload(64) } + function revert_error_ca66f745a3ce8ff40e2ccaf1ad45db7774001b90d25810abd9040049be7bf4bb() + { revert(0, 0) } } object "C_7_deployed" { code { @@ -28,8 +33,10 @@ object "C_7" { pop(selector) } pop(iszero(calldatasize())) - revert(0, 0) + revert_error_42b3090547df1d2001c96683413b8cf91c1b902ef5e3cb8d9f6f304cf7446f74() } + function revert_error_42b3090547df1d2001c96683413b8cf91c1b902ef5e3cb8d9f6f304cf7446f74() + { revert(0, 0) } function shift_right_unsigned(value) -> newValue { newValue := shr(224, value) } } diff --git a/test/cmdlineTests/yul_string_format_ascii/output.json b/test/cmdlineTests/yul_string_format_ascii/output.json index 28a63d8c3..379c14171 100644 --- a/test/cmdlineTests/yul_string_format_ascii/output.json +++ b/test/cmdlineTests/yul_string_format_ascii/output.json @@ -9,7 +9,7 @@ object \"C_11\" { code { mstore(64, 128) - if callvalue() { revert(0, 0) } + if callvalue() { revert_error_ca66f745a3ce8ff40e2ccaf1ad45db7774001b90d25810abd9040049be7bf4bb() } constructor_C_11() @@ -26,6 +26,10 @@ object \"C_11\" { } + function revert_error_ca66f745a3ce8ff40e2ccaf1ad45db7774001b90d25810abd9040049be7bf4bb() { + revert(0, 0) + } + } object \"C_11_deployed\" { code { @@ -40,7 +44,7 @@ object \"C_11\" { { // f() - if callvalue() { revert(0, 0) } + if callvalue() { revert_error_ca66f745a3ce8ff40e2ccaf1ad45db7774001b90d25810abd9040049be7bf4bb() } abi_decode_tuple_(4, calldatasize()) let ret_0 := fun_f_10() let memPos := allocate_unbounded() @@ -51,10 +55,10 @@ object \"C_11\" { default {} } if iszero(calldatasize()) { } - revert(0, 0) + revert_error_42b3090547df1d2001c96683413b8cf91c1b902ef5e3cb8d9f6f304cf7446f74() function abi_decode_tuple_(headStart, dataEnd) { - if slt(sub(dataEnd, headStart), 0) { revert(0, 0) } + if slt(sub(dataEnd, headStart), 0) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() } } @@ -156,6 +160,18 @@ object \"C_11\" { revert(0, 0x24) } + function revert_error_42b3090547df1d2001c96683413b8cf91c1b902ef5e3cb8d9f6f304cf7446f74() { + revert(0, 0) + } + + function revert_error_ca66f745a3ce8ff40e2ccaf1ad45db7774001b90d25810abd9040049be7bf4bb() { + revert(0, 0) + } + + function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() { + revert(0, 0) + } + function round_up_to_mul_of_32(value) -> result { result := and(add(value, 31), not(31)) } diff --git a/test/cmdlineTests/yul_string_format_ascii_bytes32/output.json b/test/cmdlineTests/yul_string_format_ascii_bytes32/output.json index eb6e8f48c..98e28617f 100644 --- a/test/cmdlineTests/yul_string_format_ascii_bytes32/output.json +++ b/test/cmdlineTests/yul_string_format_ascii_bytes32/output.json @@ -9,7 +9,7 @@ object \"C_11\" { code { mstore(64, 128) - if callvalue() { revert(0, 0) } + if callvalue() { revert_error_ca66f745a3ce8ff40e2ccaf1ad45db7774001b90d25810abd9040049be7bf4bb() } constructor_C_11() @@ -26,6 +26,10 @@ object \"C_11\" { } + function revert_error_ca66f745a3ce8ff40e2ccaf1ad45db7774001b90d25810abd9040049be7bf4bb() { + revert(0, 0) + } + } object \"C_11_deployed\" { code { @@ -40,7 +44,7 @@ object \"C_11\" { { // f() - if callvalue() { revert(0, 0) } + if callvalue() { revert_error_ca66f745a3ce8ff40e2ccaf1ad45db7774001b90d25810abd9040049be7bf4bb() } abi_decode_tuple_(4, calldatasize()) let ret_0 := fun_f_10() let memPos := allocate_unbounded() @@ -51,10 +55,10 @@ object \"C_11\" { default {} } if iszero(calldatasize()) { } - revert(0, 0) + revert_error_42b3090547df1d2001c96683413b8cf91c1b902ef5e3cb8d9f6f304cf7446f74() function abi_decode_tuple_(headStart, dataEnd) { - if slt(sub(dataEnd, headStart), 0) { revert(0, 0) } + if slt(sub(dataEnd, headStart), 0) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() } } @@ -90,6 +94,18 @@ object \"C_11\" { } + function revert_error_42b3090547df1d2001c96683413b8cf91c1b902ef5e3cb8d9f6f304cf7446f74() { + revert(0, 0) + } + + function revert_error_ca66f745a3ce8ff40e2ccaf1ad45db7774001b90d25810abd9040049be7bf4bb() { + revert(0, 0) + } + + function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() { + revert(0, 0) + } + function shift_right_224_unsigned(value) -> newValue { newValue := diff --git a/test/cmdlineTests/yul_string_format_ascii_bytes32_from_number/output.json b/test/cmdlineTests/yul_string_format_ascii_bytes32_from_number/output.json index 87d0f171c..7226bfa95 100644 --- a/test/cmdlineTests/yul_string_format_ascii_bytes32_from_number/output.json +++ b/test/cmdlineTests/yul_string_format_ascii_bytes32_from_number/output.json @@ -9,7 +9,7 @@ object \"C_11\" { code { mstore(64, 128) - if callvalue() { revert(0, 0) } + if callvalue() { revert_error_ca66f745a3ce8ff40e2ccaf1ad45db7774001b90d25810abd9040049be7bf4bb() } constructor_C_11() @@ -26,6 +26,10 @@ object \"C_11\" { } + function revert_error_ca66f745a3ce8ff40e2ccaf1ad45db7774001b90d25810abd9040049be7bf4bb() { + revert(0, 0) + } + } object \"C_11_deployed\" { code { @@ -40,7 +44,7 @@ object \"C_11\" { { // f() - if callvalue() { revert(0, 0) } + if callvalue() { revert_error_ca66f745a3ce8ff40e2ccaf1ad45db7774001b90d25810abd9040049be7bf4bb() } abi_decode_tuple_(4, calldatasize()) let ret_0 := fun_f_10() let memPos := allocate_unbounded() @@ -51,10 +55,10 @@ object \"C_11\" { default {} } if iszero(calldatasize()) { } - revert(0, 0) + revert_error_42b3090547df1d2001c96683413b8cf91c1b902ef5e3cb8d9f6f304cf7446f74() function abi_decode_tuple_(headStart, dataEnd) { - if slt(sub(dataEnd, headStart), 0) { revert(0, 0) } + if slt(sub(dataEnd, headStart), 0) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() } } @@ -95,6 +99,18 @@ object \"C_11\" { } + function revert_error_42b3090547df1d2001c96683413b8cf91c1b902ef5e3cb8d9f6f304cf7446f74() { + revert(0, 0) + } + + function revert_error_ca66f745a3ce8ff40e2ccaf1ad45db7774001b90d25810abd9040049be7bf4bb() { + revert(0, 0) + } + + function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() { + revert(0, 0) + } + function shift_left_224(value) -> newValue { newValue := diff --git a/test/cmdlineTests/yul_string_format_ascii_long/output.json b/test/cmdlineTests/yul_string_format_ascii_long/output.json index 25bc6ac1d..6ad20e86b 100644 --- a/test/cmdlineTests/yul_string_format_ascii_long/output.json +++ b/test/cmdlineTests/yul_string_format_ascii_long/output.json @@ -9,7 +9,7 @@ object \"C_11\" { code { mstore(64, 128) - if callvalue() { revert(0, 0) } + if callvalue() { revert_error_ca66f745a3ce8ff40e2ccaf1ad45db7774001b90d25810abd9040049be7bf4bb() } constructor_C_11() @@ -26,6 +26,10 @@ object \"C_11\" { } + function revert_error_ca66f745a3ce8ff40e2ccaf1ad45db7774001b90d25810abd9040049be7bf4bb() { + revert(0, 0) + } + } object \"C_11_deployed\" { code { @@ -40,7 +44,7 @@ object \"C_11\" { { // f() - if callvalue() { revert(0, 0) } + if callvalue() { revert_error_ca66f745a3ce8ff40e2ccaf1ad45db7774001b90d25810abd9040049be7bf4bb() } abi_decode_tuple_(4, calldatasize()) let ret_0 := fun_f_10() let memPos := allocate_unbounded() @@ -51,10 +55,10 @@ object \"C_11\" { default {} } if iszero(calldatasize()) { } - revert(0, 0) + revert_error_42b3090547df1d2001c96683413b8cf91c1b902ef5e3cb8d9f6f304cf7446f74() function abi_decode_tuple_(headStart, dataEnd) { - if slt(sub(dataEnd, headStart), 0) { revert(0, 0) } + if slt(sub(dataEnd, headStart), 0) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() } } @@ -156,6 +160,18 @@ object \"C_11\" { revert(0, 0x24) } + function revert_error_42b3090547df1d2001c96683413b8cf91c1b902ef5e3cb8d9f6f304cf7446f74() { + revert(0, 0) + } + + function revert_error_ca66f745a3ce8ff40e2ccaf1ad45db7774001b90d25810abd9040049be7bf4bb() { + revert(0, 0) + } + + function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() { + revert(0, 0) + } + function round_up_to_mul_of_32(value) -> result { result := and(add(value, 31), not(31)) } diff --git a/test/cmdlineTests/yul_string_format_hex/output.json b/test/cmdlineTests/yul_string_format_hex/output.json index 7bead0aec..dc8a2a67c 100644 --- a/test/cmdlineTests/yul_string_format_hex/output.json +++ b/test/cmdlineTests/yul_string_format_hex/output.json @@ -9,7 +9,7 @@ object \"C_11\" { code { mstore(64, 128) - if callvalue() { revert(0, 0) } + if callvalue() { revert_error_ca66f745a3ce8ff40e2ccaf1ad45db7774001b90d25810abd9040049be7bf4bb() } constructor_C_11() @@ -26,6 +26,10 @@ object \"C_11\" { } + function revert_error_ca66f745a3ce8ff40e2ccaf1ad45db7774001b90d25810abd9040049be7bf4bb() { + revert(0, 0) + } + } object \"C_11_deployed\" { code { @@ -40,7 +44,7 @@ object \"C_11\" { { // f() - if callvalue() { revert(0, 0) } + if callvalue() { revert_error_ca66f745a3ce8ff40e2ccaf1ad45db7774001b90d25810abd9040049be7bf4bb() } abi_decode_tuple_(4, calldatasize()) let ret_0 := fun_f_10() let memPos := allocate_unbounded() @@ -51,10 +55,10 @@ object \"C_11\" { default {} } if iszero(calldatasize()) { } - revert(0, 0) + revert_error_42b3090547df1d2001c96683413b8cf91c1b902ef5e3cb8d9f6f304cf7446f74() function abi_decode_tuple_(headStart, dataEnd) { - if slt(sub(dataEnd, headStart), 0) { revert(0, 0) } + if slt(sub(dataEnd, headStart), 0) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() } } @@ -95,6 +99,18 @@ object \"C_11\" { } + function revert_error_42b3090547df1d2001c96683413b8cf91c1b902ef5e3cb8d9f6f304cf7446f74() { + revert(0, 0) + } + + function revert_error_ca66f745a3ce8ff40e2ccaf1ad45db7774001b90d25810abd9040049be7bf4bb() { + revert(0, 0) + } + + function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() { + revert(0, 0) + } + function shift_left_224(value) -> newValue { newValue := diff --git a/test/libsolidity/gasTests/abiv2.sol b/test/libsolidity/gasTests/abiv2.sol index 980a9ee28..04feacc57 100644 --- a/test/libsolidity/gasTests/abiv2.sol +++ b/test/libsolidity/gasTests/abiv2.sol @@ -14,9 +14,9 @@ contract C { } // ---- // creation: -// codeDepositCost: 1211600 -// executionCost: 1261 -// totalCost: 1212861 +// codeDepositCost: 1259800 +// executionCost: 1308 +// totalCost: 1261108 // external: // a(): 1130 // b(uint256): infinite diff --git a/test/libsolidity/gasTests/abiv2_optimised.sol b/test/libsolidity/gasTests/abiv2_optimised.sol index da44369cf..66a0bb64c 100644 --- a/test/libsolidity/gasTests/abiv2_optimised.sol +++ b/test/libsolidity/gasTests/abiv2_optimised.sol @@ -17,9 +17,9 @@ contract C { // optimize-yul: true // ---- // creation: -// codeDepositCost: 681000 +// codeDepositCost: 680600 // executionCost: 715 -// totalCost: 681715 +// totalCost: 681315 // external: // a(): 985 // b(uint256): 2052 diff --git a/test/libsolidity/gasTests/dispatch_large.sol b/test/libsolidity/gasTests/dispatch_large.sol index f4332d80d..7b00816c7 100644 --- a/test/libsolidity/gasTests/dispatch_large.sol +++ b/test/libsolidity/gasTests/dispatch_large.sol @@ -24,9 +24,9 @@ contract Large { } // ---- // creation: -// codeDepositCost: 902600 +// codeDepositCost: 904400 // executionCost: 942 -// totalCost: 903542 +// totalCost: 905342 // external: // a(): 1175 // b(uint256): infinite diff --git a/test/libsolidity/gasTests/dispatch_medium.sol b/test/libsolidity/gasTests/dispatch_medium.sol index 8dcf8d344..502ddcfbb 100644 --- a/test/libsolidity/gasTests/dispatch_medium.sol +++ b/test/libsolidity/gasTests/dispatch_medium.sol @@ -11,9 +11,9 @@ contract Medium { } // ---- // creation: -// codeDepositCost: 349600 +// codeDepositCost: 351400 // executionCost: 386 -// totalCost: 349986 +// totalCost: 351786 // external: // a(): 1152 // b(uint256): infinite diff --git a/test/libsolidity/gasTests/dispatch_small.sol b/test/libsolidity/gasTests/dispatch_small.sol index 56af8bf2b..1e866910d 100644 --- a/test/libsolidity/gasTests/dispatch_small.sol +++ b/test/libsolidity/gasTests/dispatch_small.sol @@ -6,9 +6,9 @@ contract Small { } // ---- // creation: -// codeDepositCost: 112800 +// codeDepositCost: 114600 // executionCost: 159 -// totalCost: 112959 +// totalCost: 114759 // external: // fallback: 129 // a(): 1107 diff --git a/test/libsolidity/gasTests/exp.sol b/test/libsolidity/gasTests/exp.sol index 0f69a0725..8dc59b094 100644 --- a/test/libsolidity/gasTests/exp.sol +++ b/test/libsolidity/gasTests/exp.sol @@ -19,9 +19,9 @@ contract C { // optimize-yul: false // ---- // creation: -// codeDepositCost: 109000 +// codeDepositCost: 110800 // executionCost: 159 -// totalCost: 109159 +// totalCost: 110959 // external: // exp_neg_one(uint256): 2259 // exp_one(uint256): infinite diff --git a/test/libsolidity/semanticTests/array/copying/array_copy_including_array.sol b/test/libsolidity/semanticTests/array/copying/array_copy_including_array.sol index b9b928653..a24c0fd1b 100644 --- a/test/libsolidity/semanticTests/array/copying/array_copy_including_array.sol +++ b/test/libsolidity/semanticTests/array/copying/array_copy_including_array.sol @@ -37,7 +37,7 @@ contract c { // compileViaYul: also // ---- // test() -> 0x02000202 -// gas irOptimized: 2470372 +// gas irOptimized: 2476392 // gas legacy: 2288641 // gas legacyOptimized: 2258654 // storageEmpty -> 1 diff --git a/test/libsolidity/semanticTests/array/fixed_arrays_as_return_type.sol b/test/libsolidity/semanticTests/array/fixed_arrays_as_return_type.sol index 8e9c7ef53..3dcef2c42 100644 --- a/test/libsolidity/semanticTests/array/fixed_arrays_as_return_type.sol +++ b/test/libsolidity/semanticTests/array/fixed_arrays_as_return_type.sol @@ -22,5 +22,5 @@ contract B { // ---- // f() -> 2, 3, 4, 5, 6, 1000, 1001, 1002, 1003, 1004 // gas irOptimized: 135883 -// gas legacy: 264410 +// gas legacy: 266210 // gas legacyOptimized: 135699 diff --git a/test/libsolidity/semanticTests/array/function_array_cross_calls.sol b/test/libsolidity/semanticTests/array/function_array_cross_calls.sol index 8a8590434..bd01bb886 100644 --- a/test/libsolidity/semanticTests/array/function_array_cross_calls.sol +++ b/test/libsolidity/semanticTests/array/function_array_cross_calls.sol @@ -46,5 +46,5 @@ contract C { // ---- // test() -> 5, 6, 7 // gas irOptimized: 345955 -// gas legacy: 500424 +// gas legacy: 508437 // gas legacyOptimized: 309013 diff --git a/test/libsolidity/semanticTests/constructor/arrays_in_constructors.sol b/test/libsolidity/semanticTests/constructor/arrays_in_constructors.sol index a9f65676b..691f85e3e 100644 --- a/test/libsolidity/semanticTests/constructor/arrays_in_constructors.sol +++ b/test/libsolidity/semanticTests/constructor/arrays_in_constructors.sol @@ -27,5 +27,5 @@ contract Creator { // ---- // f(uint256,address[]): 7, 0x40, 10, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 -> 7, 8 // gas irOptimized: 474718 -// gas legacy: 570900 +// gas legacy: 578926 // gas legacyOptimized: 436724 diff --git a/test/libsolidity/semanticTests/constructor/bytes_in_constructors_packer.sol b/test/libsolidity/semanticTests/constructor/bytes_in_constructors_packer.sol index e12576a4e..aa6693033 100644 --- a/test/libsolidity/semanticTests/constructor/bytes_in_constructors_packer.sol +++ b/test/libsolidity/semanticTests/constructor/bytes_in_constructors_packer.sol @@ -27,5 +27,5 @@ contract Creator { // ---- // f(uint256,bytes): 7, 0x40, 78, "abcdefghijklmnopqrstuvwxyzabcdef", "ghijklmnopqrstuvwxyzabcdefghijkl", "mnopqrstuvwxyz" -> 7, "h" // gas irOptimized: 330976 -// gas legacy: 414850 +// gas legacy: 422873 // gas legacyOptimized: 292281 diff --git a/test/libsolidity/semanticTests/functionTypes/store_function.sol b/test/libsolidity/semanticTests/functionTypes/store_function.sol index e48ff21e1..937ce9519 100644 --- a/test/libsolidity/semanticTests/functionTypes/store_function.sol +++ b/test/libsolidity/semanticTests/functionTypes/store_function.sol @@ -29,5 +29,5 @@ contract C { // ---- // t() -> 9 // gas irOptimized: 103953 -// gas legacy: 161097 +// gas legacy: 162897 // gas legacyOptimized: 112116 diff --git a/test/libsolidity/semanticTests/inheritance/address_overload_resolution.sol b/test/libsolidity/semanticTests/inheritance/address_overload_resolution.sol index 3f988d9bf..3e370307f 100644 --- a/test/libsolidity/semanticTests/inheritance/address_overload_resolution.sol +++ b/test/libsolidity/semanticTests/inheritance/address_overload_resolution.sol @@ -24,7 +24,7 @@ contract D { // ---- // f() -> 1 // gas irOptimized: 86504 -// gas legacy: 114412 +// gas legacy: 116212 // g() -> 5 // gas irOptimized: 86600 -// gas legacy: 114872 +// gas legacy: 116672 diff --git a/test/libsolidity/semanticTests/inheritance/inherited_function_calldata_calldata_interface.sol b/test/libsolidity/semanticTests/inheritance/inherited_function_calldata_calldata_interface.sol index 44688ada4..d4670efed 100644 --- a/test/libsolidity/semanticTests/inheritance/inherited_function_calldata_calldata_interface.sol +++ b/test/libsolidity/semanticTests/inheritance/inherited_function_calldata_calldata_interface.sol @@ -26,4 +26,4 @@ contract B { // ---- // g() -> 42 // gas irOptimized: 90635 -// gas legacy: 117797 +// gas legacy: 126809 diff --git a/test/libsolidity/semanticTests/inheritance/inherited_function_calldata_memory_interface.sol b/test/libsolidity/semanticTests/inheritance/inherited_function_calldata_memory_interface.sol index 3b5ea5ee8..34820dbcb 100644 --- a/test/libsolidity/semanticTests/inheritance/inherited_function_calldata_memory_interface.sol +++ b/test/libsolidity/semanticTests/inheritance/inherited_function_calldata_memory_interface.sol @@ -26,5 +26,5 @@ contract B { // ---- // g() -> 42 // gas irOptimized: 119658 -// gas legacy: 180597 +// gas legacy: 187809 // gas legacyOptimized: 117351 diff --git a/test/libsolidity/semanticTests/structs/memory_structs_nested_load.sol b/test/libsolidity/semanticTests/structs/memory_structs_nested_load.sol index 378e0a5b6..94a773161 100644 --- a/test/libsolidity/semanticTests/structs/memory_structs_nested_load.sol +++ b/test/libsolidity/semanticTests/structs/memory_structs_nested_load.sol @@ -65,11 +65,11 @@ contract Test { } } // ==== -// compileViaYul: also // compileToEwasm: also +// compileViaYul: also // ---- // load() -> 0x01, 0x02, 0x03, 0x04, 0x05, 0x06 -// gas irOptimized: 111580 +// gas irOptimized: 111532 // gas legacy: 113999 // gas legacyOptimized: 106281 // store() -> 0x01, 0x02, 0x03, 0x04, 0x05, 0x06