diff --git a/libyul/backends/evm/ssa/transform/OptimizationPipeline.cpp b/libyul/backends/evm/ssa/transform/OptimizationPipeline.cpp index 0f033041570e..3bcf459fa670 100644 --- a/libyul/backends/evm/ssa/transform/OptimizationPipeline.cpp +++ b/libyul/backends/evm/ssa/transform/OptimizationPipeline.cpp @@ -35,5 +35,5 @@ void transform::optimize(ControlFlowGraphs& _cfgs) transform::eliminateTrivialPhis(*cfg); transform::removeIdentitiesAndNops(*cfg); } - transform::runOutliner(_cfgs); + // transform::runOutliner(_cfgs); } diff --git a/test/cmdlineTests/standard_yul_cfg_json_export/output.json b/test/cmdlineTests/standard_yul_cfg_json_export/output.json index a025c49d598b..3b370e250149 100644 --- a/test/cmdlineTests/standard_yul_cfg_json_export/output.json +++ b/test/cmdlineTests/standard_yul_cfg_json_export/output.json @@ -194,8 +194,11 @@ "id": "Block2", "instructions": [ { - "in": [], - "op": "__revert_0_2", + "in": [ + "0x00", + "0x00" + ], + "op": "revert", "out": [] } ], @@ -203,7 +206,7 @@ "in": [], "out": [] }, - "type": "FunctionCall" + "type": "BuiltinCall" }, { "exit": { @@ -364,8 +367,11 @@ "id": "Block5", "instructions": [ { - "in": [], - "op": "__revert_0_2", + "in": [ + "0x00", + "0x00" + ], + "op": "revert", "out": [] } ], @@ -373,7 +379,7 @@ "in": [], "out": [] }, - "type": "FunctionCall" + "type": "BuiltinCall" }, { "exit": { @@ -413,8 +419,11 @@ "id": "Block8", "instructions": [ { - "in": [], - "op": "__revert_0_2", + "in": [ + "0x00", + "0x00" + ], + "op": "revert", "out": [] } ], @@ -422,40 +431,10 @@ "in": [], "out": [] }, - "type": "FunctionCall" + "type": "BuiltinCall" } ], - "functions": { - "__revert_0_2": { - "arguments": [], - "blocks": [ - { - "exit": { - "type": "Terminated" - }, - "id": "Block0", - "instructions": [ - { - "in": [ - "0x00", - "0x00" - ], - "op": "revert", - "out": [] - } - ], - "liveness": { - "in": [], - "out": [] - }, - "type": "BuiltinCall" - } - ], - "entry": "Block0", - "numReturns": 0, - "type": "Function" - } - }, + "functions": {}, "memoryGuard": "0x80", "subObjects": {} }, @@ -658,8 +637,11 @@ "id": "Block2", "instructions": [ { - "in": [], - "op": "__revert_0_2", + "in": [ + "0x00", + "0x00" + ], + "op": "revert", "out": [] } ], @@ -667,7 +649,7 @@ "in": [], "out": [] }, - "type": "FunctionCall" + "type": "BuiltinCall" }, { "exit": { @@ -828,8 +810,11 @@ "id": "Block5", "instructions": [ { - "in": [], - "op": "__revert_0_2", + "in": [ + "0x00", + "0x00" + ], + "op": "revert", "out": [] } ], @@ -837,7 +822,7 @@ "in": [], "out": [] }, - "type": "FunctionCall" + "type": "BuiltinCall" }, { "exit": { @@ -920,8 +905,11 @@ "id": "Block8", "instructions": [ { - "in": [], - "op": "__revert_0_2", + "in": [ + "0x00", + "0x00" + ], + "op": "revert", "out": [] } ], @@ -929,7 +917,7 @@ "in": [], "out": [] }, - "type": "FunctionCall" + "type": "BuiltinCall" }, { "exit": { @@ -1011,8 +999,37 @@ "id": "Block11", "instructions": [ { - "in": [], - "op": "__revert_0_11", + "in": [ + "0xe0", + "0x4e487b71" + ], + "op": "shl", + "out": [ + "v38" + ] + }, + { + "in": [ + "0x00", + "v38" + ], + "op": "mstore", + "out": [] + }, + { + "in": [ + "0x04", + "0x41" + ], + "op": "mstore", + "out": [] + }, + { + "in": [ + "0x00", + "0x24" + ], + "op": "revert", "out": [] } ], @@ -1020,7 +1037,7 @@ "in": [], "out": [] }, - "type": "FunctionCall" + "type": "BuiltinCall" }, { "exit": { @@ -1138,9 +1155,44 @@ }, "id": "Block14", "instructions": [ + { + "in": [ + "0x40" + ], + "op": "mload", + "out": [ + "v62" + ] + }, { "in": [], - "op": "__revert_0_14", + "op": "returndatasize", + "out": [ + "v63" + ] + }, + { + "in": [ + "v62", + "0x00", + "v63" + ], + "op": "returndatacopy", + "out": [] + }, + { + "in": [], + "op": "returndatasize", + "out": [ + "v65" + ] + }, + { + "in": [ + "v62", + "v65" + ], + "op": "revert", "out": [] } ], @@ -1148,7 +1200,7 @@ "in": [], "out": [] }, - "type": "FunctionCall" + "type": "BuiltinCall" }, { "exit": { @@ -1177,9 +1229,44 @@ }, "id": "Block17", "instructions": [ + { + "in": [ + "0x40" + ], + "op": "mload", + "out": [ + "v86" + ] + }, + { + "in": [], + "op": "returndatasize", + "out": [ + "v87" + ] + }, + { + "in": [ + "v86", + "0x00", + "v87" + ], + "op": "returndatacopy", + "out": [] + }, { "in": [], - "op": "__revert_0_14", + "op": "returndatasize", + "out": [ + "v89" + ] + }, + { + "in": [ + "v86", + "v89" + ], + "op": "revert", "out": [] } ], @@ -1187,7 +1274,7 @@ "in": [], "out": [] }, - "type": "FunctionCall" + "type": "BuiltinCall" }, { "entries": [ @@ -1487,8 +1574,37 @@ "id": "Block24", "instructions": [ { - "in": [], - "op": "__revert_0_11", + "in": [ + "0xe0", + "0x4e487b71" + ], + "op": "shl", + "out": [ + "v117" + ] + }, + { + "in": [ + "0x00", + "v117" + ], + "op": "mstore", + "out": [] + }, + { + "in": [ + "0x04", + "0x41" + ], + "op": "mstore", + "out": [] + }, + { + "in": [ + "0x00", + "0x24" + ], + "op": "revert", "out": [] } ], @@ -1496,7 +1612,7 @@ "in": [], "out": [] }, - "type": "FunctionCall" + "type": "BuiltinCall" }, { "exit": { @@ -1534,8 +1650,11 @@ "id": "Block27", "instructions": [ { - "in": [], - "op": "__revert_0_2", + "in": [ + "0x00", + "0x00" + ], + "op": "revert", "out": [] } ], @@ -1543,156 +1662,10 @@ "in": [], "out": [] }, - "type": "FunctionCall" + "type": "BuiltinCall" } ], - "functions": { - "__revert_0_11": { - "arguments": [], - "blocks": [ - { - "exit": { - "type": "Terminated" - }, - "id": "Block0", - "instructions": [ - { - "in": [ - "0xe0", - "0x4e487b71" - ], - "op": "shl", - "out": [ - "v2" - ] - }, - { - "in": [ - "0x00", - "v2" - ], - "op": "mstore", - "out": [] - }, - { - "in": [ - "0x04", - "0x41" - ], - "op": "mstore", - "out": [] - }, - { - "in": [ - "0x00", - "0x24" - ], - "op": "revert", - "out": [] - } - ], - "liveness": { - "in": [], - "out": [] - }, - "type": "BuiltinCall" - } - ], - "entry": "Block0", - "numReturns": 0, - "type": "Function" - }, - "__revert_0_14": { - "arguments": [], - "blocks": [ - { - "exit": { - "type": "Terminated" - }, - "id": "Block0", - "instructions": [ - { - "in": [ - "0x40" - ], - "op": "mload", - "out": [ - "v1" - ] - }, - { - "in": [], - "op": "returndatasize", - "out": [ - "v2" - ] - }, - { - "in": [ - "v1", - "0x00", - "v2" - ], - "op": "returndatacopy", - "out": [] - }, - { - "in": [], - "op": "returndatasize", - "out": [ - "v5" - ] - }, - { - "in": [ - "v1", - "v5" - ], - "op": "revert", - "out": [] - } - ], - "liveness": { - "in": [], - "out": [] - }, - "type": "BuiltinCall" - } - ], - "entry": "Block0", - "numReturns": 0, - "type": "Function" - }, - "__revert_0_2": { - "arguments": [], - "blocks": [ - { - "exit": { - "type": "Terminated" - }, - "id": "Block0", - "instructions": [ - { - "in": [ - "0x00", - "0x00" - ], - "op": "revert", - "out": [] - } - ], - "liveness": { - "in": [], - "out": [] - }, - "type": "BuiltinCall" - } - ], - "entry": "Block0", - "numReturns": 0, - "type": "Function" - } - }, + "functions": {}, "memoryGuard": "0x80", "subObjects": { "C_19": { @@ -1886,8 +1859,11 @@ "id": "Block2", "instructions": [ { - "in": [], - "op": "__revert_0_2", + "in": [ + "0x00", + "0x00" + ], + "op": "revert", "out": [] } ], @@ -1895,7 +1871,7 @@ "in": [], "out": [] }, - "type": "FunctionCall" + "type": "BuiltinCall" }, { "exit": { @@ -2056,8 +2032,11 @@ "id": "Block5", "instructions": [ { - "in": [], - "op": "__revert_0_2", + "in": [ + "0x00", + "0x00" + ], + "op": "revert", "out": [] } ], @@ -2065,7 +2044,7 @@ "in": [], "out": [] }, - "type": "FunctionCall" + "type": "BuiltinCall" }, { "exit": { @@ -2105,8 +2084,11 @@ "id": "Block8", "instructions": [ { - "in": [], - "op": "__revert_0_2", + "in": [ + "0x00", + "0x00" + ], + "op": "revert", "out": [] } ], @@ -2114,40 +2096,10 @@ "in": [], "out": [] }, - "type": "FunctionCall" + "type": "BuiltinCall" } ], - "functions": { - "__revert_0_2": { - "arguments": [], - "blocks": [ - { - "exit": { - "type": "Terminated" - }, - "id": "Block0", - "instructions": [ - { - "in": [ - "0x00", - "0x00" - ], - "op": "revert", - "out": [] - } - ], - "liveness": { - "in": [], - "out": [] - }, - "type": "BuiltinCall" - } - ], - "entry": "Block0", - "numReturns": 0, - "type": "Function" - } - }, + "functions": {}, "memoryGuard": "0x80", "subObjects": {} }, diff --git a/test/cmdlineTests/strict_asm_yul_cfg_json_export/output b/test/cmdlineTests/strict_asm_yul_cfg_json_export/output index 7c014ce4c2df..f1f97f225db1 100644 --- a/test/cmdlineTests/strict_asm_yul_cfg_json_export/output +++ b/test/cmdlineTests/strict_asm_yul_cfg_json_export/output @@ -194,8 +194,11 @@ Yul Control Flow Graph: "id": "Block2", "instructions": [ { - "in": [], - "op": "__revert_0_2", + "in": [ + "0x00", + "0x00" + ], + "op": "revert", "out": [] } ], @@ -203,7 +206,7 @@ Yul Control Flow Graph: "in": [], "out": [] }, - "type": "FunctionCall" + "type": "BuiltinCall" }, { "exit": { @@ -364,8 +367,11 @@ Yul Control Flow Graph: "id": "Block5", "instructions": [ { - "in": [], - "op": "__revert_0_2", + "in": [ + "0x00", + "0x00" + ], + "op": "revert", "out": [] } ], @@ -373,7 +379,7 @@ Yul Control Flow Graph: "in": [], "out": [] }, - "type": "FunctionCall" + "type": "BuiltinCall" }, { "exit": { @@ -413,8 +419,11 @@ Yul Control Flow Graph: "id": "Block8", "instructions": [ { - "in": [], - "op": "__revert_0_2", + "in": [ + "0x00", + "0x00" + ], + "op": "revert", "out": [] } ], @@ -422,40 +431,10 @@ Yul Control Flow Graph: "in": [], "out": [] }, - "type": "FunctionCall" + "type": "BuiltinCall" } ], - "functions": { - "__revert_0_2": { - "arguments": [], - "blocks": [ - { - "exit": { - "type": "Terminated" - }, - "id": "Block0", - "instructions": [ - { - "in": [ - "0x00", - "0x00" - ], - "op": "revert", - "out": [] - } - ], - "liveness": { - "in": [], - "out": [] - }, - "type": "BuiltinCall" - } - ], - "entry": "Block0", - "numReturns": 0, - "type": "Function" - } - }, + "functions": {}, "memoryGuard": "0x80" }, "type": "subObject" diff --git a/test/cmdlineTests/yul_cfg_json_export/output b/test/cmdlineTests/yul_cfg_json_export/output index 6907a76af792..1d67e5272fde 100644 --- a/test/cmdlineTests/yul_cfg_json_export/output +++ b/test/cmdlineTests/yul_cfg_json_export/output @@ -193,8 +193,11 @@ Yul Control Flow Graph: "id": "Block2", "instructions": [ { - "in": [], - "op": "__revert_0_2", + "in": [ + "0x00", + "0x00" + ], + "op": "revert", "out": [] } ], @@ -202,7 +205,7 @@ Yul Control Flow Graph: "in": [], "out": [] }, - "type": "FunctionCall" + "type": "BuiltinCall" }, { "exit": { @@ -363,8 +366,11 @@ Yul Control Flow Graph: "id": "Block5", "instructions": [ { - "in": [], - "op": "__revert_0_2", + "in": [ + "0x00", + "0x00" + ], + "op": "revert", "out": [] } ], @@ -372,7 +378,7 @@ Yul Control Flow Graph: "in": [], "out": [] }, - "type": "FunctionCall" + "type": "BuiltinCall" }, { "exit": { @@ -412,8 +418,11 @@ Yul Control Flow Graph: "id": "Block8", "instructions": [ { - "in": [], - "op": "__revert_0_2", + "in": [ + "0x00", + "0x00" + ], + "op": "revert", "out": [] } ], @@ -421,40 +430,10 @@ Yul Control Flow Graph: "in": [], "out": [] }, - "type": "FunctionCall" + "type": "BuiltinCall" } ], - "functions": { - "__revert_0_2": { - "arguments": [], - "blocks": [ - { - "exit": { - "type": "Terminated" - }, - "id": "Block0", - "instructions": [ - { - "in": [ - "0x00", - "0x00" - ], - "op": "revert", - "out": [] - } - ], - "liveness": { - "in": [], - "out": [] - }, - "type": "BuiltinCall" - } - ], - "entry": "Block0", - "numReturns": 0, - "type": "Function" - } - }, + "functions": {}, "memoryGuard": "0x80", "subObjects": {} }, @@ -658,8 +637,11 @@ Yul Control Flow Graph: "id": "Block2", "instructions": [ { - "in": [], - "op": "__revert_0_2", + "in": [ + "0x00", + "0x00" + ], + "op": "revert", "out": [] } ], @@ -667,7 +649,7 @@ Yul Control Flow Graph: "in": [], "out": [] }, - "type": "FunctionCall" + "type": "BuiltinCall" }, { "exit": { @@ -828,8 +810,11 @@ Yul Control Flow Graph: "id": "Block5", "instructions": [ { - "in": [], - "op": "__revert_0_2", + "in": [ + "0x00", + "0x00" + ], + "op": "revert", "out": [] } ], @@ -837,7 +822,7 @@ Yul Control Flow Graph: "in": [], "out": [] }, - "type": "FunctionCall" + "type": "BuiltinCall" }, { "exit": { @@ -920,8 +905,11 @@ Yul Control Flow Graph: "id": "Block8", "instructions": [ { - "in": [], - "op": "__revert_0_2", + "in": [ + "0x00", + "0x00" + ], + "op": "revert", "out": [] } ], @@ -929,7 +917,7 @@ Yul Control Flow Graph: "in": [], "out": [] }, - "type": "FunctionCall" + "type": "BuiltinCall" }, { "exit": { @@ -1011,8 +999,37 @@ Yul Control Flow Graph: "id": "Block11", "instructions": [ { - "in": [], - "op": "__revert_0_11", + "in": [ + "0xe0", + "0x4e487b71" + ], + "op": "shl", + "out": [ + "v38" + ] + }, + { + "in": [ + "0x00", + "v38" + ], + "op": "mstore", + "out": [] + }, + { + "in": [ + "0x04", + "0x41" + ], + "op": "mstore", + "out": [] + }, + { + "in": [ + "0x00", + "0x24" + ], + "op": "revert", "out": [] } ], @@ -1020,7 +1037,7 @@ Yul Control Flow Graph: "in": [], "out": [] }, - "type": "FunctionCall" + "type": "BuiltinCall" }, { "exit": { @@ -1138,9 +1155,44 @@ Yul Control Flow Graph: }, "id": "Block14", "instructions": [ + { + "in": [ + "0x40" + ], + "op": "mload", + "out": [ + "v62" + ] + }, { "in": [], - "op": "__revert_0_14", + "op": "returndatasize", + "out": [ + "v63" + ] + }, + { + "in": [ + "v62", + "0x00", + "v63" + ], + "op": "returndatacopy", + "out": [] + }, + { + "in": [], + "op": "returndatasize", + "out": [ + "v65" + ] + }, + { + "in": [ + "v62", + "v65" + ], + "op": "revert", "out": [] } ], @@ -1148,7 +1200,7 @@ Yul Control Flow Graph: "in": [], "out": [] }, - "type": "FunctionCall" + "type": "BuiltinCall" }, { "exit": { @@ -1177,9 +1229,44 @@ Yul Control Flow Graph: }, "id": "Block17", "instructions": [ + { + "in": [ + "0x40" + ], + "op": "mload", + "out": [ + "v86" + ] + }, + { + "in": [], + "op": "returndatasize", + "out": [ + "v87" + ] + }, + { + "in": [ + "v86", + "0x00", + "v87" + ], + "op": "returndatacopy", + "out": [] + }, { "in": [], - "op": "__revert_0_14", + "op": "returndatasize", + "out": [ + "v89" + ] + }, + { + "in": [ + "v86", + "v89" + ], + "op": "revert", "out": [] } ], @@ -1187,7 +1274,7 @@ Yul Control Flow Graph: "in": [], "out": [] }, - "type": "FunctionCall" + "type": "BuiltinCall" }, { "entries": [ @@ -1487,8 +1574,37 @@ Yul Control Flow Graph: "id": "Block24", "instructions": [ { - "in": [], - "op": "__revert_0_11", + "in": [ + "0xe0", + "0x4e487b71" + ], + "op": "shl", + "out": [ + "v117" + ] + }, + { + "in": [ + "0x00", + "v117" + ], + "op": "mstore", + "out": [] + }, + { + "in": [ + "0x04", + "0x41" + ], + "op": "mstore", + "out": [] + }, + { + "in": [ + "0x00", + "0x24" + ], + "op": "revert", "out": [] } ], @@ -1496,7 +1612,7 @@ Yul Control Flow Graph: "in": [], "out": [] }, - "type": "FunctionCall" + "type": "BuiltinCall" }, { "exit": { @@ -1534,8 +1650,11 @@ Yul Control Flow Graph: "id": "Block27", "instructions": [ { - "in": [], - "op": "__revert_0_2", + "in": [ + "0x00", + "0x00" + ], + "op": "revert", "out": [] } ], @@ -1543,156 +1662,10 @@ Yul Control Flow Graph: "in": [], "out": [] }, - "type": "FunctionCall" + "type": "BuiltinCall" } ], - "functions": { - "__revert_0_11": { - "arguments": [], - "blocks": [ - { - "exit": { - "type": "Terminated" - }, - "id": "Block0", - "instructions": [ - { - "in": [ - "0xe0", - "0x4e487b71" - ], - "op": "shl", - "out": [ - "v2" - ] - }, - { - "in": [ - "0x00", - "v2" - ], - "op": "mstore", - "out": [] - }, - { - "in": [ - "0x04", - "0x41" - ], - "op": "mstore", - "out": [] - }, - { - "in": [ - "0x00", - "0x24" - ], - "op": "revert", - "out": [] - } - ], - "liveness": { - "in": [], - "out": [] - }, - "type": "BuiltinCall" - } - ], - "entry": "Block0", - "numReturns": 0, - "type": "Function" - }, - "__revert_0_14": { - "arguments": [], - "blocks": [ - { - "exit": { - "type": "Terminated" - }, - "id": "Block0", - "instructions": [ - { - "in": [ - "0x40" - ], - "op": "mload", - "out": [ - "v1" - ] - }, - { - "in": [], - "op": "returndatasize", - "out": [ - "v2" - ] - }, - { - "in": [ - "v1", - "0x00", - "v2" - ], - "op": "returndatacopy", - "out": [] - }, - { - "in": [], - "op": "returndatasize", - "out": [ - "v5" - ] - }, - { - "in": [ - "v1", - "v5" - ], - "op": "revert", - "out": [] - } - ], - "liveness": { - "in": [], - "out": [] - }, - "type": "BuiltinCall" - } - ], - "entry": "Block0", - "numReturns": 0, - "type": "Function" - }, - "__revert_0_2": { - "arguments": [], - "blocks": [ - { - "exit": { - "type": "Terminated" - }, - "id": "Block0", - "instructions": [ - { - "in": [ - "0x00", - "0x00" - ], - "op": "revert", - "out": [] - } - ], - "liveness": { - "in": [], - "out": [] - }, - "type": "BuiltinCall" - } - ], - "entry": "Block0", - "numReturns": 0, - "type": "Function" - } - }, + "functions": {}, "memoryGuard": "0x80", "subObjects": { "C_19": { @@ -1886,8 +1859,11 @@ Yul Control Flow Graph: "id": "Block2", "instructions": [ { - "in": [], - "op": "__revert_0_2", + "in": [ + "0x00", + "0x00" + ], + "op": "revert", "out": [] } ], @@ -1895,7 +1871,7 @@ Yul Control Flow Graph: "in": [], "out": [] }, - "type": "FunctionCall" + "type": "BuiltinCall" }, { "exit": { @@ -2056,8 +2032,11 @@ Yul Control Flow Graph: "id": "Block5", "instructions": [ { - "in": [], - "op": "__revert_0_2", + "in": [ + "0x00", + "0x00" + ], + "op": "revert", "out": [] } ], @@ -2065,7 +2044,7 @@ Yul Control Flow Graph: "in": [], "out": [] }, - "type": "FunctionCall" + "type": "BuiltinCall" }, { "exit": { @@ -2105,8 +2084,11 @@ Yul Control Flow Graph: "id": "Block8", "instructions": [ { - "in": [], - "op": "__revert_0_2", + "in": [ + "0x00", + "0x00" + ], + "op": "revert", "out": [] } ], @@ -2114,40 +2096,10 @@ Yul Control Flow Graph: "in": [], "out": [] }, - "type": "FunctionCall" + "type": "BuiltinCall" } ], - "functions": { - "__revert_0_2": { - "arguments": [], - "blocks": [ - { - "exit": { - "type": "Terminated" - }, - "id": "Block0", - "instructions": [ - { - "in": [ - "0x00", - "0x00" - ], - "op": "revert", - "out": [] - } - ], - "liveness": { - "in": [], - "out": [] - }, - "type": "BuiltinCall" - } - ], - "entry": "Block0", - "numReturns": 0, - "type": "Function" - } - }, + "functions": {}, "memoryGuard": "0x80", "subObjects": {} }, diff --git a/test/libsolidity/semanticTests/externalContracts/FixedFeeRegistrar.sol b/test/libsolidity/semanticTests/externalContracts/FixedFeeRegistrar.sol index 1f196479dac3..9ac85f9c8d8e 100644 --- a/test/libsolidity/semanticTests/externalContracts/FixedFeeRegistrar.sol +++ b/test/libsolidity/semanticTests/externalContracts/FixedFeeRegistrar.sol @@ -83,8 +83,8 @@ contract FixedFeeRegistrar is Registrar { // gas legacy code: 792400 // gas legacyOptimized: 84598 // gas legacyOptimized code: 388000 -// gas ssaCFGOptimized: 78924 -// gas ssaCFGOptimized code: 322800 +// gas ssaCFGOptimized: 78844 +// gas ssaCFGOptimized code: 321800 // reserve(string), 69 ether: 0x20, 3, "abc" -> // ~ emit Changed(string): #0x4e03657aea45a94fc7d47ba826c8d667c0d1e6e33a64a036ec44f58fa12d6c45 // gas irOptimized: 45741 diff --git a/test/libsolidity/semanticTests/externalContracts/base64.sol b/test/libsolidity/semanticTests/externalContracts/base64.sol index dc924a571c43..0efcda12d8f0 100644 --- a/test/libsolidity/semanticTests/externalContracts/base64.sol +++ b/test/libsolidity/semanticTests/externalContracts/base64.sol @@ -41,8 +41,8 @@ contract test { // gas legacy code: 629800 // gas legacyOptimized: 87926 // gas legacyOptimized code: 429800 -// gas ssaCFGOptimized: 79463 -// gas ssaCFGOptimized code: 327800 +// gas ssaCFGOptimized: 79879 +// gas ssaCFGOptimized code: 331800 // encode_inline_asm(bytes): 0x20, 0 -> 0x20, 0 // encode_inline_asm(bytes): 0x20, 1, "f" -> 0x20, 4, "Zg==" // encode_inline_asm(bytes): 0x20, 2, "fo" -> 0x20, 4, "Zm8=" diff --git a/test/libsolidity/semanticTests/externalContracts/deposit_contract.sol b/test/libsolidity/semanticTests/externalContracts/deposit_contract.sol index f988070ae9dc..6755c79ee2fb 100644 --- a/test/libsolidity/semanticTests/externalContracts/deposit_contract.sol +++ b/test/libsolidity/semanticTests/externalContracts/deposit_contract.sol @@ -185,8 +185,8 @@ contract DepositContract is IDepositContract, ERC165 { // gas legacy code: 1438800 // gas legacyOptimized: 848699 // gas legacyOptimized code: 878200 -// gas ssaCFGOptimized: 809718 -// gas ssaCFGOptimized code: 570200 +// gas ssaCFGOptimized: 809403 +// gas ssaCFGOptimized code: 568200 // supportsInterface(bytes4): 0x0 -> 0 // supportsInterface(bytes4): 0xffffffff00000000000000000000000000000000000000000000000000000000 -> false # defined to be false by ERC-165 # // supportsInterface(bytes4): 0x01ffc9a700000000000000000000000000000000000000000000000000000000 -> true # ERC-165 id # diff --git a/test/libsolidity/semanticTests/externalContracts/prbmath_signed.sol b/test/libsolidity/semanticTests/externalContracts/prbmath_signed.sol index 02c32706f750..ad32fdc15adb 100644 --- a/test/libsolidity/semanticTests/externalContracts/prbmath_signed.sol +++ b/test/libsolidity/semanticTests/externalContracts/prbmath_signed.sol @@ -57,8 +57,8 @@ contract test { // gas legacy code: 2205000 // gas legacyOptimized: 178012 // gas legacyOptimized code: 1669600 -// gas ssaCFGOptimized: 174817 -// gas ssaCFGOptimized code: 1636800 +// gas ssaCFGOptimized: 175048 +// gas ssaCFGOptimized code: 1639600 // div(int256,int256): 3141592653589793238, 88714123 -> 35412542528203691288251815328 // gas irOptimized: 22045 // gas legacy: 22736 diff --git a/test/libsolidity/semanticTests/externalContracts/prbmath_unsigned.sol b/test/libsolidity/semanticTests/externalContracts/prbmath_unsigned.sol index a1795b14c7e3..2f681baa435d 100644 --- a/test/libsolidity/semanticTests/externalContracts/prbmath_unsigned.sol +++ b/test/libsolidity/semanticTests/externalContracts/prbmath_unsigned.sol @@ -57,8 +57,8 @@ contract test { // gas legacy code: 1999000 // gas legacyOptimized: 168857 // gas legacyOptimized code: 1556200 -// gas ssaCFGOptimized: 167703 -// gas ssaCFGOptimized code: 1545800 +// gas ssaCFGOptimized: 167611 +// gas ssaCFGOptimized code: 1544800 // div(uint256,uint256): 3141592653589793238, 88714123 -> 35412542528203691288251815328 // gas irOptimized: 21912 // gas legacy: 22475 diff --git a/test/libsolidity/semanticTests/externalContracts/ramanujan_pi.sol b/test/libsolidity/semanticTests/externalContracts/ramanujan_pi.sol index ae5daa81dc05..44208308acab 100644 --- a/test/libsolidity/semanticTests/externalContracts/ramanujan_pi.sol +++ b/test/libsolidity/semanticTests/externalContracts/ramanujan_pi.sol @@ -42,8 +42,8 @@ contract test { // gas legacy code: 523600 // gas legacyOptimized: 82667 // gas legacyOptimized code: 369200 -// gas ssaCFGOptimized: 78042 -// gas ssaCFGOptimized code: 314400 +// gas ssaCFGOptimized: 77956 +// gas ssaCFGOptimized code: 313400 // prb_pi() -> 3141592656369545286 // gas irOptimized: 55036 // gas legacy: 100657 diff --git a/test/libsolidity/semanticTests/externalContracts/strings.sol b/test/libsolidity/semanticTests/externalContracts/strings.sol index 8bc0ec8e5f5a..534b41710dbb 100644 --- a/test/libsolidity/semanticTests/externalContracts/strings.sol +++ b/test/libsolidity/semanticTests/externalContracts/strings.sol @@ -58,8 +58,8 @@ contract test { // gas legacy code: 932600 // gas legacyOptimized: 102639 // gas legacyOptimized code: 612400 -// gas ssaCFGOptimized: 95825 -// gas ssaCFGOptimized code: 527800 +// gas ssaCFGOptimized: 96128 +// gas ssaCFGOptimized code: 531800 // toSlice(string): 0x20, 11, "hello world" -> 11, 0xa0 // gas irOptimized: 22646 // gas legacy: 23168 diff --git a/test/libyul/ssa/stackLayoutGenerator/dead_code.yul b/test/libyul/ssa/stackLayoutGenerator/dead_code.yul index 8c220208c534..bbe86faf29dd 100644 --- a/test/libyul/ssa/stackLayoutGenerator/dead_code.yul +++ b/test/libyul/ssa/stackLayoutGenerator/dead_code.yul @@ -34,8 +34,8 @@ // Block0_1 [label="\ // IN: [JUNK]\l\ // \l\ -// [JUNK]\l\ -// __revert_0_1\l\ +// [JUNK, lit0, lit0]\l\ +// revert\l\ // [JUNK]\l\ // \l\ // OUT: [JUNK]\l\ @@ -58,8 +58,8 @@ // Block0_4 [label="\ // IN: [JUNK, JUNK]\l\ // \l\ -// [JUNK, JUNK]\l\ -// __revert_0_1\l\ +// [JUNK, JUNK, lit0, lit0]\l\ +// revert\l\ // [JUNK, JUNK]\l\ // \l\ // OUT: [JUNK, JUNK]\l\ @@ -77,19 +77,4 @@ // "]; // Block0_5Exit [label="MainExit"]; // Block0_5 -> Block0_5Exit; -// FunctionEntry___revert_0_1_0 [label="function __revert_0_1: -// __revert_0_1() -// spilled: {}"]; -// FunctionEntry___revert_0_1_0 -> Block1_0; -// Block1_0 [label="\ -// IN: []\l\ -// \l\ -// [lit0, lit0]\l\ -// revert\l\ -// []\l\ -// \l\ -// OUT: []\l\ -// "]; -// Block1_0Exit [label="Terminated"]; -// Block1_0 -> Block1_0Exit; // }