diff --git a/.circleci/config.yml b/.circleci/config.yml index 7bb4c51f44ad..d893a3b66f41 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -1619,18 +1619,20 @@ workflows: - t_ext: *job_native_test_ext_gnosis - t_ext: *job_native_test_ext_zeppelin - t_ext: *job_native_test_ext_ens - - t_ext: *job_native_test_ext_trident - - t_ext: *job_native_test_ext_euler - t_ext: *job_native_test_ext_yield_liquidator - - t_ext: *job_native_test_ext_bleeps - - t_ext: *job_native_test_ext_pool_together - t_ext: *job_native_test_ext_perpetual_pools - t_ext: *job_native_test_ext_uniswap - t_ext: *job_native_test_ext_prb_math - t_ext: *job_native_test_ext_elementfi - t_ext: *job_native_test_ext_brink - - t_ext: *job_native_test_ext_chainlink - t_ext: *job_native_test_ext_gp2 + # NOTE: The external tests below were commented because they + # depend on a specific version of hardhat which does not support shanghai EVM. + #- t_ext: *job_native_test_ext_trident + #- t_ext: *job_native_test_ext_euler + #- t_ext: *job_native_test_ext_bleeps + #- t_ext: *job_native_test_ext_pool_together + #- t_ext: *job_native_test_ext_chainlink - c_ext_benchmarks: <<: *requires_nothing @@ -1639,18 +1641,20 @@ workflows: - t_native_test_ext_gnosis - t_native_test_ext_zeppelin - t_native_test_ext_ens - - t_native_test_ext_trident - - t_native_test_ext_euler - t_native_test_ext_yield_liquidator - - t_native_test_ext_bleeps - - t_native_test_ext_pool_together - t_native_test_ext_perpetual_pools - t_native_test_ext_uniswap - t_native_test_ext_prb_math - t_native_test_ext_elementfi - t_native_test_ext_brink - - t_native_test_ext_chainlink - t_native_test_ext_gp2 + # NOTE: The external tests below were commented because they + # depend on a specific version of hardhat which does not support shanghai EVM. + #- t_native_test_ext_trident + #- t_native_test_ext_euler + #- t_native_test_ext_bleeps + #- t_native_test_ext_pool_together + #- t_native_test_ext_chainlink # Windows build and tests - b_win: *requires_nothing diff --git a/.circleci/soltest_all.sh b/.circleci/soltest_all.sh index 2e45f9892dff..4be427f192d2 100755 --- a/.circleci/soltest_all.sh +++ b/.circleci/soltest_all.sh @@ -32,7 +32,7 @@ REPODIR="$(realpath "$(dirname "$0")"/..)" source "${REPODIR}/scripts/common.sh" EVM_VALUES=(homestead byzantium constantinople petersburg istanbul berlin london paris shanghai) -DEFAULT_EVM=paris +DEFAULT_EVM=shanghai [[ " ${EVM_VALUES[*]} " =~ $DEFAULT_EVM ]] OPTIMIZE_VALUES=(0 1) diff --git a/Changelog.md b/Changelog.md index 0165de0f64c8..25244e13c220 100644 --- a/Changelog.md +++ b/Changelog.md @@ -5,6 +5,7 @@ Language Features: Compiler Features: * Assembler: Use ``push0`` for placing ``0`` in the stack for EVM versions starting from "Shanghai". This decreases the deployment costs. + * EVM: Set default EVM version to "Shanghai". * EVM: Support for the EVM Version "Shanghai". * NatSpec: Add support for NatSpec documentation in ``enum`` definitions. * NatSpec: Add support for NatSpec documentation in ``struct`` definitions. diff --git a/docs/using-the-compiler.rst b/docs/using-the-compiler.rst index 2ff0883ed032..3931728da3a6 100644 --- a/docs/using-the-compiler.rst +++ b/docs/using-the-compiler.rst @@ -172,10 +172,10 @@ at each version. Backward compatibility is not guaranteed between each version. the optimizer. - ``london`` - The block's base fee (`EIP-3198 `_ and `EIP-1559 `_) can be accessed via the global ``block.basefee`` or ``basefee()`` in inline assembly. -- ``paris`` (**default**) +- ``paris`` - Introduces ``prevrandao()`` and ``block.prevrandao``, and changes the semantics of the now deprecated ``block.difficulty``, disallowing ``difficulty()`` in inline assembly (see `EIP-4399 `_). -- ``shanghai`` - - Cheaper deployment cost due to the introduction of ``push0`` (see `EIP-3855 `_). +- ``shanghai`` (**default**) + - Smaller code size and gas savings due to the introduction of ``push0`` (see `EIP-3855 `_). .. index:: ! standard JSON, ! --standard-json .. _compiler-api: diff --git a/libevmasm/GasMeter.cpp b/libevmasm/GasMeter.cpp index 258f68b31f57..6a0c597db00f 100644 --- a/libevmasm/GasMeter.cpp +++ b/libevmasm/GasMeter.cpp @@ -45,6 +45,12 @@ GasMeter::GasConsumption GasMeter::estimateMax(AssemblyItem const& _item, bool _ switch (_item.type()) { case Push: + if (m_evmVersion.hasPush0() && _item.data() == 0) + { + gas = runGas(Instruction::PUSH0, m_evmVersion); + break; + } + [[fallthrough]]; case PushTag: case PushData: case PushSub: diff --git a/liblangutil/EVMVersion.h b/liblangutil/EVMVersion.h index 7932ecdadcdc..9f0239624dba 100644 --- a/liblangutil/EVMVersion.h +++ b/liblangutil/EVMVersion.h @@ -113,7 +113,7 @@ class EVMVersion: EVMVersion(Version _version): m_version(_version) {} - Version m_version = Version::Paris; + Version m_version = Version::Shanghai; }; } diff --git a/scripts/externalTests/common.sh b/scripts/externalTests/common.sh index 97d0a337ee59..3bca968a5aa5 100644 --- a/scripts/externalTests/common.sh +++ b/scripts/externalTests/common.sh @@ -22,7 +22,7 @@ set -e # Requires $REPO_ROOT to be defined and "${REPO_ROOT}/scripts/common.sh" to be included before. -CURRENT_EVM_VERSION=paris +CURRENT_EVM_VERSION=shanghai AVAILABLE_PRESETS=( legacy-no-optimize diff --git a/scripts/tests.sh b/scripts/tests.sh index 100bae912e61..cb1766d9a1c6 100755 --- a/scripts/tests.sh +++ b/scripts/tests.sh @@ -115,7 +115,7 @@ do for vm in $EVM_VERSIONS do FORCE_ABIV1_RUNS="no" - if [[ "$vm" == "paris" ]] + if [[ "$vm" == "shanghai" ]] then FORCE_ABIV1_RUNS="no yes" # run both in paris fi diff --git a/test/cmdlineTests/function_debug_info/output b/test/cmdlineTests/function_debug_info/output index 071e0076e686..b9ca3f3c40ec 100644 --- a/test/cmdlineTests/function_debug_info/output +++ b/test/cmdlineTests/function_debug_info/output @@ -13,7 +13,7 @@ }, "abi_decode_tuple_t_uint256_fromMemory": { - "entryPoint": 94, + "entryPoint": 92, "parameterSlots": 2, "returnSlots": 1 } @@ -22,7 +22,7 @@ { "@f_14": { - "entryPoint": 128, + "entryPoint": 124, "id": 14, "parameterSlots": 2, "returnSlots": 1 @@ -35,13 +35,13 @@ }, "abi_decode_tuple_t_array$_t_uint256_$dyn_calldata_ptr": { - "entryPoint": 164, + "entryPoint": 158, "parameterSlots": 2, "returnSlots": 2 }, "abi_decode_tuple_t_uint256": { - "entryPoint": 281, + "entryPoint": 269, "parameterSlots": 2, "returnSlots": 1 }, @@ -52,7 +52,7 @@ }, "panic_error_0x32": { - "entryPoint": 306, + "entryPoint": 292, "parameterSlots": 0, "returnSlots": 0 } diff --git a/test/cmdlineTests/inline_assembly_function_name_clash/output b/test/cmdlineTests/inline_assembly_function_name_clash/output index ef16b1990235..889514d96a32 100644 --- a/test/cmdlineTests/inline_assembly_function_name_clash/output +++ b/test/cmdlineTests/inline_assembly_function_name_clash/output @@ -7,169 +7,169 @@ { "abi_decode_tuple_": { - "entryPoint": 122, + "entryPoint": 117, "parameterSlots": 2, "returnSlots": 0 }, "abi_encode_t_uint256_to_t_uint256_fromStack": { - "entryPoint": 156, + "entryPoint": 149, "parameterSlots": 2, "returnSlots": 0 }, "abi_encode_tuple_t_uint256__to_t_uint256__fromStack": { - "entryPoint": 171, + "entryPoint": 164, "parameterSlots": 2, "returnSlots": 1 }, "allocate_unbounded": { - "entryPoint": 102, + "entryPoint": 100, "parameterSlots": 0, "returnSlots": 1 }, "cleanup_t_uint256": { - "entryPoint": 146, + "entryPoint": 140, "parameterSlots": 1, "returnSlots": 1 }, "convert_t_uint256_to_t_uint256": { - "entryPoint": 413, + "entryPoint": 398, "parameterSlots": 1, "returnSlots": 1 }, "external_fun_f_25": { - "entryPoint": 198, + "entryPoint": 189, "parameterSlots": 0, "returnSlots": 0 }, "external_fun_g_36": { - "entryPoint": 256, + "entryPoint": 247, "parameterSlots": 0, "returnSlots": 0 }, "fun_f_25": { - "entryPoint": 680, + "entryPoint": 653, "id": 25, "parameterSlots": 0, "returnSlots": 1 }, "fun_f_25_inner": { - "entryPoint": 646, + "entryPoint": 621, "parameterSlots": 1, "returnSlots": 1 }, "fun_g_36": { - "entryPoint": 896, + "entryPoint": 858, "id": 36, "parameterSlots": 0, "returnSlots": 1 }, "fun_g_36_inner": { - "entryPoint": 862, + "entryPoint": 826, "parameterSlots": 1, "returnSlots": 1 }, "identity": { - "entryPoint": 403, + "entryPoint": 389, "parameterSlots": 1, "returnSlots": 1 }, "modifier_m_17": { - "entryPoint": 492, + "entryPoint": 475, "id": 14, "parameterSlots": 1, "returnSlots": 1 }, "modifier_m_19": { - "entryPoint": 569, + "entryPoint": 548, "id": 14, "parameterSlots": 1, "returnSlots": 1 }, "modifier_m_28": { - "entryPoint": 708, + "entryPoint": 680, "id": 14, "parameterSlots": 1, "returnSlots": 1 }, "modifier_m_30": { - "entryPoint": 785, + "entryPoint": 753, "id": 14, "parameterSlots": 1, "returnSlots": 1 }, "prepare_store_t_uint256": { - "entryPoint": 447, + "entryPoint": 431, "parameterSlots": 1, "returnSlots": 1 }, "revert_error_42b3090547df1d2001c96683413b8cf91c1b902ef5e3cb8d9f6f304cf7446f74": { - "entryPoint": 314, + "entryPoint": 305, "parameterSlots": 0, "returnSlots": 0 }, "revert_error_ca66f745a3ce8ff40e2ccaf1ad45db7774001b90d25810abd9040049be7bf4bb": { - "entryPoint": 112, + "entryPoint": 109, "parameterSlots": 0, "returnSlots": 0 }, "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": { - "entryPoint": 117, + "entryPoint": 113, "parameterSlots": 0, "returnSlots": 0 }, "shift_left_0": { - "entryPoint": 324, + "entryPoint": 313, "parameterSlots": 1, "returnSlots": 1 }, "shift_right_224_unsigned": { - "entryPoint": 89, + "entryPoint": 88, "parameterSlots": 1, "returnSlots": 1 }, "update_byte_slice_32_shift_0": { - "entryPoint": 337, + "entryPoint": 324, "parameterSlots": 2, "returnSlots": 1 }, "update_storage_value_offset_0t_uint256_to_t_uint256": { - "entryPoint": 457, + "entryPoint": 440, "parameterSlots": 2, "returnSlots": 0 }, "usr$f": { - "entryPoint": 515, + "entryPoint": 496, "parameterSlots": 0, "returnSlots": 1 }, "zero_value_for_split_t_uint256": { - "entryPoint": 319, + "entryPoint": 309, "parameterSlots": 0, "returnSlots": 1 } diff --git a/test/cmdlineTests/linking_standard_solidity_unresolved_references/output.json b/test/cmdlineTests/linking_standard_solidity_unresolved_references/output.json index d9684242a503..169e99961e93 100644 --- a/test/cmdlineTests/linking_standard_solidity_unresolved_references/output.json +++ b/test/cmdlineTests/linking_standard_solidity_unresolved_references/output.json @@ -17,11 +17,11 @@ [ { "length": 20, - "start": 184 + "start": 174 }, { "length": 20, - "start": 368 + "start": 350 } ] } diff --git a/test/cmdlineTests/linking_strict_assembly/output b/test/cmdlineTests/linking_strict_assembly/output index cb5e7bf964e3..520b3cf7bb39 100644 --- a/test/cmdlineTests/linking_strict_assembly/output +++ b/test/cmdlineTests/linking_strict_assembly/output @@ -11,7 +11,7 @@ object "a" { Binary representation: -7312345678901234567890123456789012345678908060005550 +731234567890123456789012345678901234567890805f5550 Text representation: /* "linking_strict_assembly/input.yul":44:79 */ diff --git a/test/cmdlineTests/linking_strict_assembly_qualified_library_qualified_reference/output b/test/cmdlineTests/linking_strict_assembly_qualified_library_qualified_reference/output index 261856e96a9f..a919ba72ec52 100644 --- a/test/cmdlineTests/linking_strict_assembly_qualified_library_qualified_reference/output +++ b/test/cmdlineTests/linking_strict_assembly_qualified_library_qualified_reference/output @@ -11,7 +11,7 @@ object "a" { Binary representation: -7312345678901234567890123456789012345678908060005550 +731234567890123456789012345678901234567890805f5550 Text representation: linkerSymbol("20a18a9bf97d889dcf77111b674da319a4e9e3e05d3f4df9e0bf5c588dd4f0f8") diff --git a/test/cmdlineTests/linking_strict_assembly_qualified_library_unqualified_reference/output b/test/cmdlineTests/linking_strict_assembly_qualified_library_unqualified_reference/output index 84204264dd91..660876888abe 100644 --- a/test/cmdlineTests/linking_strict_assembly_qualified_library_unqualified_reference/output +++ b/test/cmdlineTests/linking_strict_assembly_qualified_library_unqualified_reference/output @@ -11,7 +11,7 @@ object "a" { Binary representation: -73__$8aa64f937099b65a4febc243a5ae0f2d64$__8060005550 +73__$8aa64f937099b65a4febc243a5ae0f2d64$__805f5550 Text representation: linkerSymbol("8aa64f937099b65a4febc243a5ae0f2d6416bb9e473c30dd29c1ee498fb7c5a8") diff --git a/test/cmdlineTests/linking_strict_assembly_same_library_name_different_files/output b/test/cmdlineTests/linking_strict_assembly_same_library_name_different_files/output index 521d26bfdde1..5babd2279d86 100644 --- a/test/cmdlineTests/linking_strict_assembly_same_library_name_different_files/output +++ b/test/cmdlineTests/linking_strict_assembly_same_library_name_different_files/output @@ -13,7 +13,7 @@ object "a" { Binary representation: -73111111111111111111111111111111111111111173222222222222222222222222222222222222222281600055806001555050 +731111111111111111111111111111111111111111732222222222222222222222222222222222222222815f55806001555050 Text representation: /* "linking_strict_assembly_same_library_name_different_files/input.yul":45:75 */ diff --git a/test/cmdlineTests/linking_strict_assembly_same_library_name_different_files_in_link_references/output b/test/cmdlineTests/linking_strict_assembly_same_library_name_different_files_in_link_references/output index b161a93f80ce..0eba8cf84852 100644 --- a/test/cmdlineTests/linking_strict_assembly_same_library_name_different_files_in_link_references/output +++ b/test/cmdlineTests/linking_strict_assembly_same_library_name_different_files_in_link_references/output @@ -13,7 +13,7 @@ object "a" { Binary representation: -73123456789012345678901234567890123456789073__$c3523432985587641d17c68161d2f700c5$__81600055806001555050 +73123456789012345678901234567890123456789073__$c3523432985587641d17c68161d2f700c5$__815f55806001555050 Text representation: /* "linking_strict_assembly_same_library_name_different_files_in_link_references/input.yul":45:75 */ diff --git a/test/cmdlineTests/linking_strict_assembly_unqualified_library_qualified_reference/output b/test/cmdlineTests/linking_strict_assembly_unqualified_library_qualified_reference/output index e7dc145428e9..71d19f7aeb83 100644 --- a/test/cmdlineTests/linking_strict_assembly_unqualified_library_qualified_reference/output +++ b/test/cmdlineTests/linking_strict_assembly_unqualified_library_qualified_reference/output @@ -11,7 +11,7 @@ object "a" { Binary representation: -73__$20a18a9bf97d889dcf77111b674da319a4$__8060005550 +73__$20a18a9bf97d889dcf77111b674da319a4$__805f5550 Text representation: linkerSymbol("20a18a9bf97d889dcf77111b674da319a4e9e3e05d3f4df9e0bf5c588dd4f0f8") diff --git a/test/cmdlineTests/linking_strict_assembly_unqualified_library_unqualified_reference/output b/test/cmdlineTests/linking_strict_assembly_unqualified_library_unqualified_reference/output index 103b67e2efdf..6f3ee5eb75e0 100644 --- a/test/cmdlineTests/linking_strict_assembly_unqualified_library_unqualified_reference/output +++ b/test/cmdlineTests/linking_strict_assembly_unqualified_library_unqualified_reference/output @@ -11,7 +11,7 @@ object "a" { Binary representation: -7312345678901234567890123456789012345678908060005550 +731234567890123456789012345678901234567890805f5550 Text representation: linkerSymbol("8aa64f937099b65a4febc243a5ae0f2d6416bb9e473c30dd29c1ee498fb7c5a8") diff --git a/test/cmdlineTests/linking_strict_assembly_unresolved_references/output b/test/cmdlineTests/linking_strict_assembly_unresolved_references/output index 59acd6ae25ed..bc2e167b3351 100644 --- a/test/cmdlineTests/linking_strict_assembly_unresolved_references/output +++ b/test/cmdlineTests/linking_strict_assembly_unresolved_references/output @@ -13,7 +13,7 @@ object "a" { Binary representation: -73123456789012345678901234567890123456789073__$fb58009a6b1ecea3b9d99bedd645df4ec3$__81600055806001555050 +73123456789012345678901234567890123456789073__$fb58009a6b1ecea3b9d99bedd645df4ec3$__815f55806001555050 Text representation: /* "linking_strict_assembly_unresolved_references/input.yul":45:81 */ diff --git a/test/cmdlineTests/no_cbor_metadata/output b/test/cmdlineTests/no_cbor_metadata/output index 16025d06147c..0328ece3f27c 100644 --- a/test/cmdlineTests/no_cbor_metadata/output +++ b/test/cmdlineTests/no_cbor_metadata/output @@ -1,4 +1,4 @@ ======= no_cbor_metadata/input.sol:C ======= Binary: -608080604052346013576004908160198239f35b600080fdfe600080fd +608080604052346013576003908160188239f35b5f80fdfe5f80fd diff --git a/test/cmdlineTests/object_compiler/output b/test/cmdlineTests/object_compiler/output index 93d7b779553b..5dd572272a6a 100644 --- a/test/cmdlineTests/object_compiler/output +++ b/test/cmdlineTests/object_compiler/output @@ -23,7 +23,7 @@ object "MyContract" { Binary representation: -33600055600b8060106000396000f3fe60005460005260206000f3 +335f55600880600d5f395ff3fe5f545f5260205ff3 Text representation: /* "object_compiler/input.yul":128:136 */ diff --git a/test/cmdlineTests/standard_function_debug_info/output.json b/test/cmdlineTests/standard_function_debug_info/output.json index d4f6651863ae..bbbb6b96faf3 100644 --- a/test/cmdlineTests/standard_function_debug_info/output.json +++ b/test/cmdlineTests/standard_function_debug_info/output.json @@ -17,154 +17,154 @@ { "@f_19": { - "entryPoint": 96, + "entryPoint": 93, "id": 19, "parameterSlots": 1, "returnSlots": 1 }, "abi_decode_available_length_t_array$_t_uint256_$dyn_memory_ptr": { - "entryPoint": 439, + "entryPoint": 421, "id": null, "parameterSlots": 3, "returnSlots": 1 }, "abi_decode_t_array$_t_uint256_$dyn_memory_ptr": { - "entryPoint": 544, + "entryPoint": 525, "id": null, "parameterSlots": 2, "returnSlots": 1 }, "abi_decode_t_uint256": { - "entryPoint": 418, + "entryPoint": 401, "id": null, "parameterSlots": 2, "returnSlots": 1 }, "abi_decode_tuple_t_array$_t_uint256_$dyn_memory_ptr": { - "entryPoint": 590, + "entryPoint": 570, "id": null, "parameterSlots": 2, "returnSlots": 1 }, "abi_encode_t_uint256_to_t_uint256_fromStack": { - "entryPoint": 663, + "entryPoint": 641, "id": null, "parameterSlots": 2, "returnSlots": 0 }, "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed": { - "entryPoint": 678, + "entryPoint": 656, "id": null, "parameterSlots": 2, "returnSlots": 1 }, "allocate_memory": { - "entryPoint": 309, + "entryPoint": 297, "id": null, "parameterSlots": 1, "returnSlots": 1 }, "allocate_unbounded": { - "entryPoint": 171, + "entryPoint": 166, "id": null, "parameterSlots": 0, "returnSlots": 1 }, "array_allocation_size_t_array$_t_uint256_$dyn_memory_ptr": { - "entryPoint": 336, + "entryPoint": 323, "id": null, "parameterSlots": 1, "returnSlots": 1 }, "checked_add_t_uint256": { - "entryPoint": 799, + "entryPoint": 771, "id": null, "parameterSlots": 2, "returnSlots": 1 }, "cleanup_t_uint256": { - "entryPoint": 385, + "entryPoint": 370, "id": null, "parameterSlots": 1, "returnSlots": 1 }, "finalize_allocation": { - "entryPoint": 260, + "entryPoint": 248, "id": null, "parameterSlots": 2, "returnSlots": 0 }, "panic_error_0x11": { - "entryPoint": 752, + "entryPoint": 726, "id": null, "parameterSlots": 0, "returnSlots": 0 }, "panic_error_0x32": { - "entryPoint": 705, + "entryPoint": 681, "id": null, "parameterSlots": 0, "returnSlots": 0 }, "panic_error_0x41": { - "entryPoint": 213, + "entryPoint": 203, "id": null, "parameterSlots": 0, "returnSlots": 0 }, "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d": { - "entryPoint": 191, + "entryPoint": 183, "id": null, "parameterSlots": 0, "returnSlots": 0 }, "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef": { - "entryPoint": 380, + "entryPoint": 366, "id": null, "parameterSlots": 0, "returnSlots": 0 }, "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": { - "entryPoint": 186, + "entryPoint": 179, "id": null, "parameterSlots": 0, "returnSlots": 0 }, "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": { - "entryPoint": 181, + "entryPoint": 175, "id": null, "parameterSlots": 0, "returnSlots": 0 }, "round_up_to_mul_of_32": { - "entryPoint": 196, + "entryPoint": 187, "id": null, "parameterSlots": 1, "returnSlots": 1 }, "validator_revert_t_uint256": { - "entryPoint": 395, + "entryPoint": 379, "id": null, "parameterSlots": 1, "returnSlots": 0 diff --git a/test/cmdlineTests/strict_asm_optimizer_steps/output b/test/cmdlineTests/strict_asm_optimizer_steps/output index 0f7a59b97792..8fb291b86816 100644 --- a/test/cmdlineTests/strict_asm_optimizer_steps/output +++ b/test/cmdlineTests/strict_asm_optimizer_steps/output @@ -25,7 +25,7 @@ object "C_6" { Binary representation: -608060405234601557600e601b600039600e6000f35b600080fdfe60806040523615600055600080fd +608060405234601357600c60185f39600c5ff35b5f80fdfe608060405236155f555f80fd Text representation: /* "strict_asm_optimizer_steps/input.yul":45:48 */ diff --git a/test/cmdlineTests/strict_asm_output_selection_bin_only/output b/test/cmdlineTests/strict_asm_output_selection_bin_only/output index 3ffa826b8727..86d249576805 100644 --- a/test/cmdlineTests/strict_asm_output_selection_bin_only/output +++ b/test/cmdlineTests/strict_asm_output_selection_bin_only/output @@ -2,4 +2,4 @@ ======= strict_asm_output_selection_bin_only/input.yul (EVM) ======= Binary representation: -602a60005500 +602a5f5500 diff --git a/test/cmdlineTests/yul_function_name_clashes/output b/test/cmdlineTests/yul_function_name_clashes/output index 8a7bec7909ca..cfbb96bfa842 100644 --- a/test/cmdlineTests/yul_function_name_clashes/output +++ b/test/cmdlineTests/yul_function_name_clashes/output @@ -22,7 +22,7 @@ object "object" { Binary representation: -600080600f565b60008035905090565b60156006565b91506025565b6000602035905090565b602b601b565b90508082555050 +5f80600d565b5f8035905090565b60136005565b91506022565b5f602035905090565b60286019565b90508082555050 Text representation: 0x00 diff --git a/test/cmdlineTests/yul_function_name_clashes_different_params/output b/test/cmdlineTests/yul_function_name_clashes_different_params/output index f3dc84340510..cd0dce30c479 100644 --- a/test/cmdlineTests/yul_function_name_clashes_different_params/output +++ b/test/cmdlineTests/yul_function_name_clashes_different_params/output @@ -22,7 +22,7 @@ object "object" { Binary representation: -600080600f565b60008035905090565b60156006565b91506026565b600081359050919050565b602e6070601b565b90508082555050 +5f80600d565b5f8035905090565b60136005565b91506023565b5f81359050919050565b602b60706019565b90508082555050 Text representation: /* "yul_function_name_clashes_different_params/input.yul":37:42 */ diff --git a/test/cmdlineTests/yul_optimize_runs/output b/test/cmdlineTests/yul_optimize_runs/output index 6f4ba83907cd..b7fcabaaca48 100644 --- a/test/cmdlineTests/yul_optimize_runs/output +++ b/test/cmdlineTests/yul_optimize_runs/output @@ -21,7 +21,7 @@ object "RunsTest1" { Binary representation: -602580600c6000396000f3fe7fabc123450000000000000000000000000000000000000000000000000000000060005500 +602480600a5f395ff3fe7fabc12345000000000000000000000000000000000000000000000000000000005f5500 Text representation: /* "yul_optimize_runs/input.yul":115:143 */ diff --git a/test/cmdlineTests/yul_verbatim_msize/output b/test/cmdlineTests/yul_verbatim_msize/output index 991fcbdb0c63..22259fff71a1 100644 --- a/test/cmdlineTests/yul_verbatim_msize/output +++ b/test/cmdlineTests/yul_verbatim_msize/output @@ -14,7 +14,7 @@ object "object" { Binary representation: -61200051506161600260005500 +6120005150616160025f5500 Text representation: /* "yul_verbatim_msize/input.yul":125:131 */ diff --git a/test/externalTests/uniswap.sh b/test/externalTests/uniswap.sh index d9a25138f8c5..37fed8644310 100755 --- a/test/externalTests/uniswap.sh +++ b/test/externalTests/uniswap.sh @@ -83,8 +83,6 @@ function uniswap_test # "revert SPL" is expected but the message is "reverted with reason string 'SPL'" in 2.5.0. # - Newer versions of ethereumjs/tx have an issue with 'gteHardfork()' method. neutralize_package_lock - yarn add hardhat@2.4.3 - yarn add @ethereumjs/tx@3.1.3 yarn install yarn add hardhat-gas-reporter diff --git a/test/externalTests/yield-liquidator.sh b/test/externalTests/yield-liquidator.sh index 8b256d797acf..3c7137f7377b 100755 --- a/test/externalTests/yield-liquidator.sh +++ b/test/externalTests/yield-liquidator.sh @@ -66,9 +66,10 @@ function yield_liquidator_test force_hardhat_unlimited_contract_size "$config_file" "$config_var" npm install - # 2.11.0 Hardhat release breaks contract compilation. - # TODO: remove when https://github.com/yieldprotocol/yield-liquidator-v2/issues/34 is addressed. - npm install hardhat@2.10.2 + # The contract below is not used in any test and it depends on ISwapRouter which does not exists + # in the main repository. + # See: https://github.com/yieldprotocol/yield-liquidator-v2/blob/9a49d9a0e9398f6a6c07bad531e77d1001a1166f/src/swap_router.rs#L94 + rm --force contracts/.YvBasicFlashLiquidator.sol replace_version_pragmas neutralize_packaged_contracts diff --git a/test/libsolidity/GasCosts.cpp b/test/libsolidity/GasCosts.cpp index e819395a4b21..0f280c9a0948 100644 --- a/test/libsolidity/GasCosts.cpp +++ b/test/libsolidity/GasCosts.cpp @@ -131,8 +131,10 @@ BOOST_AUTO_TEST_CASE(string_storage) } else if (evmVersion < EVMVersion::istanbul()) CHECK_DEPLOY_GAS(125829, 118559, evmVersion); - else + else if (evmVersion < EVMVersion::shanghai()) CHECK_DEPLOY_GAS(114077, 96461, evmVersion); + else + CHECK_DEPLOY_GAS(114077, 95835, evmVersion); if (evmVersion >= EVMVersion::byzantium()) { diff --git a/test/libsolidity/StandardCompiler.cpp b/test/libsolidity/StandardCompiler.cpp index 086cde8efa00..8bc0be7a2692 100644 --- a/test/libsolidity/StandardCompiler.cpp +++ b/test/libsolidity/StandardCompiler.cpp @@ -420,9 +420,9 @@ BOOST_AUTO_TEST_CASE(basic_compilation) BOOST_CHECK(contract["evm"]["bytecode"]["object"].isString()); BOOST_CHECK_EQUAL( solidity::test::bytecodeSansMetadata(contract["evm"]["bytecode"]["object"].asString()), - string("6080604052348015600f57600080fd5b5060") + - (VersionIsRelease ? "3f" : util::toHex(bytes{uint8_t(61 + VersionStringStrict.size())})) + - "80601d6000396000f3fe6080604052600080fdfe" + string("6080604052348015600e575f80fd5b5060") + + (VersionIsRelease ? "3e" : util::toHex(bytes{uint8_t(60 + VersionStringStrict.size())})) + + "80601a5f395ff3fe60806040525f80fdfe" ); BOOST_CHECK(contract["evm"]["assembly"].isString()); BOOST_CHECK(contract["evm"]["assembly"].asString().find( @@ -1085,9 +1085,11 @@ BOOST_AUTO_TEST_CASE(evm_version) BOOST_CHECK(result["contracts"]["fileA"]["A"]["metadata"].asString().find("\"evmVersion\":\"london\"") != string::npos); result = compile(inputForVersion("\"evmVersion\": \"paris\",")); BOOST_CHECK(result["contracts"]["fileA"]["A"]["metadata"].asString().find("\"evmVersion\":\"paris\"") != string::npos); + result = compile(inputForVersion("\"evmVersion\": \"shanghai\",")); + BOOST_CHECK(result["contracts"]["fileA"]["A"]["metadata"].asString().find("\"evmVersion\":\"shanghai\"") != string::npos); // test default result = compile(inputForVersion("")); - BOOST_CHECK(result["contracts"]["fileA"]["A"]["metadata"].asString().find("\"evmVersion\":\"paris\"") != string::npos); + BOOST_CHECK(result["contracts"]["fileA"]["A"]["metadata"].asString().find("\"evmVersion\":\"shanghai\"") != string::npos); // test invalid result = compile(inputForVersion("\"evmVersion\": \"invalid\",")); BOOST_CHECK(result["errors"][0]["message"].asString() == "Invalid EVM version requested."); diff --git a/test/libsolidity/gasTests/abiv2.sol b/test/libsolidity/gasTests/abiv2.sol index da433a9e5218..aacb333bfeca 100644 --- a/test/libsolidity/gasTests/abiv2.sol +++ b/test/libsolidity/gasTests/abiv2.sol @@ -14,11 +14,11 @@ contract C { } // ---- // creation: -// codeDepositCost: 1241200 -// executionCost: 1288 -// totalCost: 1242488 +// codeDepositCost: 1213200 +// executionCost: 1259 +// totalCost: 1214459 // external: -// a(): 2430 +// a(): 2425 // b(uint256): infinite // f1(uint256): infinite // f2(uint256[],string[],uint16,address): infinite diff --git a/test/libsolidity/gasTests/abiv2_optimised.sol b/test/libsolidity/gasTests/abiv2_optimised.sol index 26e2104f25bc..2d4100df48b8 100644 --- a/test/libsolidity/gasTests/abiv2_optimised.sol +++ b/test/libsolidity/gasTests/abiv2_optimised.sol @@ -17,13 +17,13 @@ contract C { // optimize-yul: true // ---- // creation: -// codeDepositCost: 659000 -// executionCost: 689 -// totalCost: 659689 +// codeDepositCost: 640600 +// executionCost: 674 +// totalCost: 641274 // external: -// a(): 2285 -// b(uint256): 4652 -// f1(uint256): 307 +// a(): 2283 +// b(uint256): 4649 +// f1(uint256): 304 // f2(uint256[],string[],uint16,address): infinite // f3(uint16[],string[],uint16,address): infinite // f4(uint32[],string[12],bytes[2][],address): infinite diff --git a/test/libsolidity/gasTests/data_storage.sol b/test/libsolidity/gasTests/data_storage.sol index fa0db135d5ad..0d24ef505273 100644 --- a/test/libsolidity/gasTests/data_storage.sol +++ b/test/libsolidity/gasTests/data_storage.sol @@ -13,8 +13,8 @@ contract C { } // ---- // creation: -// codeDepositCost: 387600 -// executionCost: 424 -// totalCost: 388024 +// codeDepositCost: 377800 +// executionCost: 416 +// totalCost: 378216 // external: -// f(): 428 +// f(): 421 diff --git a/test/libsolidity/gasTests/dispatch_large.sol b/test/libsolidity/gasTests/dispatch_large.sol index 21369e6f71c6..e1cce4acd764 100644 --- a/test/libsolidity/gasTests/dispatch_large.sol +++ b/test/libsolidity/gasTests/dispatch_large.sol @@ -24,11 +24,11 @@ contract Large { } // ---- // creation: -// codeDepositCost: 640200 -// executionCost: 676 -// totalCost: 640876 +// codeDepositCost: 618400 +// executionCost: 649 +// totalCost: 619049 // external: -// a(): 2475 +// a(): 2470 // b(uint256): infinite // f0(uint256): infinite // f1(uint256): infinite diff --git a/test/libsolidity/gasTests/dispatch_large_optimised.sol b/test/libsolidity/gasTests/dispatch_large_optimised.sol index ae38258f09d7..83e55c1a9c1e 100644 --- a/test/libsolidity/gasTests/dispatch_large_optimised.sol +++ b/test/libsolidity/gasTests/dispatch_large_optimised.sol @@ -27,29 +27,29 @@ contract Large { // optimize-runs: 2 // ---- // creation: -// codeDepositCost: 232800 -// executionCost: 275 -// totalCost: 233075 +// codeDepositCost: 224600 +// executionCost: 267 +// totalCost: 224867 // external: -// a(): 2283 -// b(uint256): 4937 -// f0(uint256): 366 -// f1(uint256): 47006 -// f2(uint256): 24972 -// f3(uint256): 25060 -// f4(uint256): 25038 -// f5(uint256): 25016 -// f6(uint256): 24928 -// f7(uint256): 24708 -// f8(uint256): 24840 -// f9(uint256): 24862 -// g0(uint256): 606 -// g1(uint256): 46718 -// g2(uint256): 24706 -// g3(uint256): 24794 -// g4(uint256): 24772 -// g5(uint256): 24860 -// g6(uint256): 24640 -// g7(uint256): 24750 -// g8(uint256): 24728 -// g9(uint256): 24574 +// a(): 2281 +// b(uint256): 4934 +// f0(uint256): 363 +// f1(uint256): 47002 +// f2(uint256): 24967 +// f3(uint256): 25055 +// f4(uint256): 25033 +// f5(uint256): 25011 +// f6(uint256): 24923 +// f7(uint256): 24703 +// f8(uint256): 24835 +// f9(uint256): 24857 +// g0(uint256): 603 +// g1(uint256): 46714 +// g2(uint256): 24701 +// g3(uint256): 24789 +// g4(uint256): 24767 +// g5(uint256): 24855 +// g6(uint256): 24635 +// g7(uint256): 24745 +// g8(uint256): 24723 +// g9(uint256): 24569 diff --git a/test/libsolidity/gasTests/dispatch_medium.sol b/test/libsolidity/gasTests/dispatch_medium.sol index c76fc852e577..6bf8f89394fa 100644 --- a/test/libsolidity/gasTests/dispatch_medium.sol +++ b/test/libsolidity/gasTests/dispatch_medium.sol @@ -11,11 +11,11 @@ contract Medium { } // ---- // creation: -// codeDepositCost: 269600 -// executionCost: 312 -// totalCost: 269912 +// codeDepositCost: 259600 +// executionCost: 298 +// totalCost: 259898 // external: -// a(): 2452 +// a(): 2447 // b(uint256): infinite // f1(uint256): infinite // f2(uint256): infinite diff --git a/test/libsolidity/gasTests/dispatch_medium_optimised.sol b/test/libsolidity/gasTests/dispatch_medium_optimised.sol index fca8d2695764..e921fcf125ba 100644 --- a/test/libsolidity/gasTests/dispatch_medium_optimised.sol +++ b/test/libsolidity/gasTests/dispatch_medium_optimised.sol @@ -14,16 +14,16 @@ contract Medium { // optimize-runs: 2 // ---- // creation: -// codeDepositCost: 131600 -// executionCost: 177 -// totalCost: 131777 +// codeDepositCost: 126000 +// executionCost: 169 +// totalCost: 126169 // external: -// a(): 2283 -// b(uint256): 4695 -// f1(uint256): 46786 -// f2(uint256): 24730 -// f3(uint256): 24774 -// g0(uint256): 364 -// g7(uint256): 24640 -// g8(uint256): 24618 -// g9(uint256): 24574 +// a(): 2281 +// b(uint256): 4692 +// f1(uint256): 46782 +// f2(uint256): 24725 +// f3(uint256): 24769 +// g0(uint256): 361 +// g7(uint256): 24635 +// g8(uint256): 24613 +// g9(uint256): 24569 diff --git a/test/libsolidity/gasTests/dispatch_small.sol b/test/libsolidity/gasTests/dispatch_small.sol index bf66fe18268c..d2c391582ed5 100644 --- a/test/libsolidity/gasTests/dispatch_small.sol +++ b/test/libsolidity/gasTests/dispatch_small.sol @@ -6,11 +6,11 @@ contract Small { } // ---- // creation: -// codeDepositCost: 108800 -// executionCost: 153 -// totalCost: 108953 +// codeDepositCost: 103800 +// executionCost: 151 +// totalCost: 103951 // external: -// fallback: 129 -// a(): 2407 +// fallback: 128 +// a(): 2402 // b(uint256): infinite // f1(uint256): infinite diff --git a/test/libsolidity/gasTests/dispatch_small_optimised.sol b/test/libsolidity/gasTests/dispatch_small_optimised.sol index 28ddf2af069c..e20e1d982427 100644 --- a/test/libsolidity/gasTests/dispatch_small_optimised.sol +++ b/test/libsolidity/gasTests/dispatch_small_optimised.sol @@ -9,11 +9,11 @@ contract Small { // optimize-runs: 2 // ---- // creation: -// codeDepositCost: 60800 -// executionCost: 111 -// totalCost: 60911 +// codeDepositCost: 58200 +// executionCost: 109 +// totalCost: 58309 // external: -// fallback: 118 -// a(): 2261 -// b(uint256): 4585 -// f1(uint256): 46720 +// fallback: 117 +// a(): 2259 +// b(uint256): 4582 +// f1(uint256): 46716 diff --git a/test/libsolidity/gasTests/exp.sol b/test/libsolidity/gasTests/exp.sol index 8dc59b09449b..6ad4dd3bee43 100644 --- a/test/libsolidity/gasTests/exp.sol +++ b/test/libsolidity/gasTests/exp.sol @@ -19,11 +19,11 @@ contract C { // optimize-yul: false // ---- // creation: -// codeDepositCost: 110800 -// executionCost: 159 -// totalCost: 110959 +// codeDepositCost: 107000 +// executionCost: 151 +// totalCost: 107151 // external: -// exp_neg_one(uint256): 2259 +// exp_neg_one(uint256): 2250 // exp_one(uint256): infinite // exp_two(uint256): infinite // exp_zero(uint256): infinite diff --git a/test/libsolidity/gasTests/exp_optimized.sol b/test/libsolidity/gasTests/exp_optimized.sol index c934c710e213..982fcd28feb9 100644 --- a/test/libsolidity/gasTests/exp_optimized.sol +++ b/test/libsolidity/gasTests/exp_optimized.sol @@ -19,11 +19,11 @@ contract C { // optimize-yul: true // ---- // creation: -// codeDepositCost: 37200 -// executionCost: 87 -// totalCost: 37287 +// codeDepositCost: 35800 +// executionCost: 85 +// totalCost: 35885 // external: -// exp_neg_one(uint256): 1917 -// exp_one(uint256): 1870 -// exp_two(uint256): 1848 -// exp_zero(uint256): 1892 +// exp_neg_one(uint256): 1914 +// exp_one(uint256): 1868 +// exp_two(uint256): 1846 +// exp_zero(uint256): 1889 diff --git a/test/libsolidity/gasTests/storage_costs.sol b/test/libsolidity/gasTests/storage_costs.sol index 1e4995833f63..afb442ed7f97 100644 --- a/test/libsolidity/gasTests/storage_costs.sol +++ b/test/libsolidity/gasTests/storage_costs.sol @@ -15,10 +15,10 @@ contract C { // optimize-yul: true // ---- // creation: -// codeDepositCost: 27200 -// executionCost: 81 -// totalCost: 27281 +// codeDepositCost: 25600 +// executionCost: 73 +// totalCost: 25673 // external: -// readX(): 2290 -// resetX(): 5116 -// setX(uint256): 22312 +// readX(): 2288 +// resetX(): 5114 +// setX(uint256): 22309 diff --git a/test/libsolidity/semanticTests/abiEncoderV1/abi_decode_v2_storage.sol b/test/libsolidity/semanticTests/abiEncoderV1/abi_decode_v2_storage.sol index fd7bc2083809..61360868be69 100644 --- a/test/libsolidity/semanticTests/abiEncoderV1/abi_decode_v2_storage.sol +++ b/test/libsolidity/semanticTests/abiEncoderV1/abi_decode_v2_storage.sol @@ -22,6 +22,6 @@ contract C { // ---- // f() -> 0x20, 0x8, 0x40, 0x3, 0x9, 0xa, 0xb -// gas irOptimized: 203172 -// gas legacy: 206343 -// gas legacyOptimized: 203162 +// gas irOptimized: 203166 +// gas legacy: 206263 +// gas legacyOptimized: 203151 diff --git a/test/libsolidity/semanticTests/abiEncoderV1/abi_encode_calldata_slice.sol b/test/libsolidity/semanticTests/abiEncoderV1/abi_encode_calldata_slice.sol index 328de20a5e64..e043853e09e1 100644 --- a/test/libsolidity/semanticTests/abiEncoderV1/abi_encode_calldata_slice.sol +++ b/test/libsolidity/semanticTests/abiEncoderV1/abi_encode_calldata_slice.sol @@ -59,10 +59,10 @@ contract C { // EVMVersion: >homestead // ---- // test_bytes() -> -// gas irOptimized: 362400 -// gas legacy: 414569 -// gas legacyOptimized: 319271 +// gas irOptimized: 361321 +// gas legacy: 411269 +// gas legacyOptimized: 317754 // test_uint256() -> -// gas irOptimized: 511451 -// gas legacy: 581876 -// gas legacyOptimized: 442757 +// gas irOptimized: 509988 +// gas legacy: 577469 +// gas legacyOptimized: 440931 diff --git a/test/libsolidity/semanticTests/abiEncoderV1/struct/struct_storage_ptr.sol b/test/libsolidity/semanticTests/abiEncoderV1/struct/struct_storage_ptr.sol index fa62b4f777ce..575b759074d6 100644 --- a/test/libsolidity/semanticTests/abiEncoderV1/struct/struct_storage_ptr.sol +++ b/test/libsolidity/semanticTests/abiEncoderV1/struct/struct_storage_ptr.sol @@ -24,6 +24,6 @@ contract C { // ---- // library: L // f() -> 8, 7, 1, 2, 7, 12 -// gas irOptimized: 166513 -// gas legacy: 169347 -// gas legacyOptimized: 167269 +// gas irOptimized: 166506 +// gas legacy: 169283 +// gas legacyOptimized: 167248 diff --git a/test/libsolidity/semanticTests/abiEncoderV2/abi_encode_calldata_slice.sol b/test/libsolidity/semanticTests/abiEncoderV2/abi_encode_calldata_slice.sol index 2eef62d1779c..8d98179d91e9 100644 --- a/test/libsolidity/semanticTests/abiEncoderV2/abi_encode_calldata_slice.sol +++ b/test/libsolidity/semanticTests/abiEncoderV2/abi_encode_calldata_slice.sol @@ -60,10 +60,10 @@ contract C { // EVMVersion: >homestead // ---- // test_bytes() -> -// gas irOptimized: 362400 -// gas legacy: 414569 -// gas legacyOptimized: 319271 +// gas irOptimized: 361321 +// gas legacy: 411269 +// gas legacyOptimized: 317754 // test_uint256() -> -// gas irOptimized: 511451 -// gas legacy: 581876 -// gas legacyOptimized: 442757 +// gas irOptimized: 509988 +// gas legacy: 577469 +// gas legacyOptimized: 440931 diff --git a/test/libsolidity/semanticTests/abiEncoderV2/abi_encode_v2.sol b/test/libsolidity/semanticTests/abiEncoderV2/abi_encode_v2.sol index 58b38a9c38fc..a0b732caed24 100644 --- a/test/libsolidity/semanticTests/abiEncoderV2/abi_encode_v2.sol +++ b/test/libsolidity/semanticTests/abiEncoderV2/abi_encode_v2.sol @@ -51,6 +51,6 @@ contract C { // f2() -> 0x20, 0xa0, 0x1, 0x60, 0x2, 0x3, "abc" // f3() -> 0x20, 0xa0, 0x1, 0x60, 0x2, 0x3, "abc" // f4() -> 0x20, 0x160, 0x1, 0x80, 0xc0, 0x2, 0x3, "abc", 0x7, 0x40, 0x2, 0x2, 0x3 -// gas irOptimized: 112646 -// gas legacy: 114866 -// gas legacyOptimized: 112586 +// gas irOptimized: 112641 +// gas legacy: 114794 +// gas legacyOptimized: 112572 diff --git a/test/libsolidity/semanticTests/abiEncoderV2/abi_encode_v2_in_function_inherited_in_v1_contract.sol b/test/libsolidity/semanticTests/abiEncoderV2/abi_encode_v2_in_function_inherited_in_v1_contract.sol index e0ab2c97f691..e3075052c917 100644 --- a/test/libsolidity/semanticTests/abiEncoderV2/abi_encode_v2_in_function_inherited_in_v1_contract.sol +++ b/test/libsolidity/semanticTests/abiEncoderV2/abi_encode_v2_in_function_inherited_in_v1_contract.sol @@ -30,6 +30,6 @@ contract C is B { } // ---- // test() -> 77 -// gas irOptimized: 120170 -// gas legacy: 155093 -// gas legacyOptimized: 111550 +// gas irOptimized: 119155 +// gas legacy: 151834 +// gas legacyOptimized: 110339 diff --git a/test/libsolidity/semanticTests/abiEncoderV2/abi_encode_v2_in_modifier_used_in_v1_contract.sol b/test/libsolidity/semanticTests/abiEncoderV2/abi_encode_v2_in_modifier_used_in_v1_contract.sol index a45d8d599771..d6c38e3a049e 100644 --- a/test/libsolidity/semanticTests/abiEncoderV2/abi_encode_v2_in_modifier_used_in_v1_contract.sol +++ b/test/libsolidity/semanticTests/abiEncoderV2/abi_encode_v2_in_modifier_used_in_v1_contract.sol @@ -39,4 +39,4 @@ contract C is B { // ---- // test() -> 5, 10 // gas irOptimized: 87337 -// gas legacy: 104481 +// gas legacy: 102637 diff --git a/test/libsolidity/semanticTests/abiEncoderV2/calldata_array.sol b/test/libsolidity/semanticTests/abiEncoderV2/calldata_array.sol index 689bb9810129..915514754a97 100644 --- a/test/libsolidity/semanticTests/abiEncoderV2/calldata_array.sol +++ b/test/libsolidity/semanticTests/abiEncoderV2/calldata_array.sol @@ -20,6 +20,6 @@ contract C { // f(uint256[][1]): 32, 32, 0 -> true // f(uint256[][1]): 32, 32, 1, 42 -> true // f(uint256[][1]): 32, 32, 8, 421, 422, 423, 424, 425, 426, 427, 428 -> true -// gas irOptimized: 127347 -// gas legacy: 140553 -// gas legacyOptimized: 119450 +// gas irOptimized: 127012 +// gas legacy: 139800 +// gas legacyOptimized: 119092 diff --git a/test/libsolidity/semanticTests/abiEncoderV2/calldata_overlapped_dynamic_arrays.sol b/test/libsolidity/semanticTests/abiEncoderV2/calldata_overlapped_dynamic_arrays.sol index 1ec1ca4c5621..1b1f360f48d0 100644 --- a/test/libsolidity/semanticTests/abiEncoderV2/calldata_overlapped_dynamic_arrays.sol +++ b/test/libsolidity/semanticTests/abiEncoderV2/calldata_overlapped_dynamic_arrays.sol @@ -34,8 +34,8 @@ contract C { // f_which(uint256[],uint256[2],uint256): 0x40, 1, 2, 1, 5, 6 -> 0x20, 0x40, 5, 2 // f_which(uint256[],uint256[2],uint256): 0x40, 1, 2, 1 -> FAILURE // f_storage(uint256[],uint256[2]): 0x20, 1, 2 -> 0x20, 0x60, 0x20, 1, 2 -// gas irOptimized: 111653 -// gas legacy: 112979 -// gas legacyOptimized: 112104 +// gas irOptimized: 111650 +// gas legacy: 112944 +// gas legacyOptimized: 112092 // f_storage(uint256[],uint256[2]): 0x40, 1, 2, 5, 6 -> 0x20, 0x80, 0x20, 2, 5, 6 // f_storage(uint256[],uint256[2]): 0x40, 1, 2, 5 -> FAILURE diff --git a/test/libsolidity/semanticTests/abiEncoderV2/storage_array_encoding.sol b/test/libsolidity/semanticTests/abiEncoderV2/storage_array_encoding.sol index 16f365bd4390..c72ac0075079 100644 --- a/test/libsolidity/semanticTests/abiEncoderV2/storage_array_encoding.sol +++ b/test/libsolidity/semanticTests/abiEncoderV2/storage_array_encoding.sol @@ -18,10 +18,10 @@ contract C { // EVMVersion: >homestead // ---- // h(uint256[2][]): 0x20, 3, 123, 124, 223, 224, 323, 324 -> 32, 256, 0x20, 3, 123, 124, 223, 224, 323, 324 -// gas irOptimized: 180829 -// gas legacy: 184921 -// gas legacyOptimized: 181506 +// gas irOptimized: 180823 +// gas legacy: 184830 +// gas legacyOptimized: 181493 // i(uint256[2][2]): 123, 124, 223, 224 -> 32, 128, 123, 124, 223, 224 -// gas irOptimized: 112464 -// gas legacy: 115460 -// gas legacyOptimized: 112990 +// gas irOptimized: 112459 +// gas legacy: 115398 +// gas legacyOptimized: 112982 diff --git a/test/libsolidity/semanticTests/abiencodedecode/abi_decode_simple_storage.sol b/test/libsolidity/semanticTests/abiencodedecode/abi_decode_simple_storage.sol index 15ba6f7de3f9..93fe74c99168 100644 --- a/test/libsolidity/semanticTests/abiencodedecode/abi_decode_simple_storage.sol +++ b/test/libsolidity/semanticTests/abiencodedecode/abi_decode_simple_storage.sol @@ -9,6 +9,6 @@ contract C { // ---- // f(bytes): 0x20, 0x80, 0x21, 0x40, 0x7, "abcdefg" -> 0x21, 0x40, 0x7, "abcdefg" -// gas irOptimized: 135699 -// gas legacy: 137325 -// gas legacyOptimized: 136059 +// gas irOptimized: 135693 +// gas legacy: 137278 +// gas legacyOptimized: 136043 diff --git a/test/libsolidity/semanticTests/arithmetics/check_var_init.sol b/test/libsolidity/semanticTests/arithmetics/check_var_init.sol index 29fa81ffed35..c4d754843304 100644 --- a/test/libsolidity/semanticTests/arithmetics/check_var_init.sol +++ b/test/libsolidity/semanticTests/arithmetics/check_var_init.sol @@ -16,4 +16,4 @@ contract D { // ---- // f() -> FAILURE, hex"4e487b71", 0x11 // g(), 100 wei -> 1 -// gas legacy: 101790 +// gas legacy: 100370 diff --git a/test/libsolidity/semanticTests/array/array_memory_index_access.sol b/test/libsolidity/semanticTests/array/array_memory_index_access.sol index d8cad3e8da84..116582415fc1 100644 --- a/test/libsolidity/semanticTests/array/array_memory_index_access.sol +++ b/test/libsolidity/semanticTests/array/array_memory_index_access.sol @@ -26,9 +26,9 @@ contract C { // index(uint256): 10 -> true // index(uint256): 20 -> true // index(uint256): 0xFF -> true -// gas irOptimized: 135584 -// gas legacy: 244264 -// gas legacyOptimized: 152128 +// gas irOptimized: 135073 +// gas legacy: 241703 +// gas legacyOptimized: 151613 // accessIndex(uint256,int256): 10, 1 -> 2 // accessIndex(uint256,int256): 10, 0 -> 1 // accessIndex(uint256,int256): 10, 11 -> FAILURE, hex"4e487b71", 0x32 diff --git a/test/libsolidity/semanticTests/array/array_storage_index_access.sol b/test/libsolidity/semanticTests/array/array_storage_index_access.sol index 676e3759e321..1b6e461a364b 100644 --- a/test/libsolidity/semanticTests/array/array_storage_index_access.sol +++ b/test/libsolidity/semanticTests/array/array_storage_index_access.sol @@ -16,38 +16,38 @@ contract C { // ---- // test_indices(uint256): 1 -> // test_indices(uint256): 129 -> -// gas irOptimized: 3020710 -// gas legacy: 3071683 -// gas legacyOptimized: 3014415 +// gas irOptimized: 3019936 +// gas legacy: 3069098 +// gas legacyOptimized: 3013250 // test_indices(uint256): 5 -> -// gas irOptimized: 578008 -// gas legacy: 575321 -// gas legacyOptimized: 572912 +// gas irOptimized: 577789 +// gas legacy: 574754 +// gas legacyOptimized: 572383 // test_indices(uint256): 10 -> -// gas irOptimized: 158347 -// gas legacy: 162657 -// gas legacyOptimized: 158422 +// gas irOptimized: 158291 +// gas legacy: 162468 +// gas legacyOptimized: 158336 // test_indices(uint256): 15 -> -// gas irOptimized: 173377 -// gas legacy: 179782 -// gas legacyOptimized: 173727 +// gas irOptimized: 173296 +// gas legacy: 179513 +// gas legacyOptimized: 173606 // test_indices(uint256): 0xFF -> -// gas irOptimized: 5680122 -// gas legacy: 5780977 -// gas legacyOptimized: 5668997 +// gas irOptimized: 5678606 +// gas legacy: 5775928 +// gas legacyOptimized: 5666726 // test_indices(uint256): 1000 -> -// gas irOptimized: 18202919 -// gas legacy: 18602799 -// gas legacyOptimized: 18179744 +// gas irOptimized: 18197173 +// gas legacy: 18583810 +// gas legacyOptimized: 18171248 // test_indices(uint256): 129 -> -// gas irOptimized: 4158223 -// gas legacy: 4169611 -// gas legacyOptimized: 4126312 +// gas irOptimized: 4156312 +// gas legacy: 4164468 +// gas legacyOptimized: 4122100 // test_indices(uint256): 128 -> -// gas irOptimized: 411932 -// gas legacy: 465768 -// gas legacyOptimized: 418968 +// gas irOptimized: 411289 +// gas legacy: 463706 +// gas legacyOptimized: 418061 // test_indices(uint256): 1 -> -// gas irOptimized: 581570 -// gas legacy: 577432 -// gas legacyOptimized: 576168 +// gas irOptimized: 581362 +// gas legacy: 576904 +// gas legacyOptimized: 575649 diff --git a/test/libsolidity/semanticTests/array/array_storage_index_boundary_test.sol b/test/libsolidity/semanticTests/array/array_storage_index_boundary_test.sol index daa78f0b4062..ffe98ee43002 100644 --- a/test/libsolidity/semanticTests/array/array_storage_index_boundary_test.sol +++ b/test/libsolidity/semanticTests/array/array_storage_index_boundary_test.sol @@ -16,12 +16,12 @@ contract C { // test_boundary_check(uint256,uint256): 1, 1 -> FAILURE, hex"4e487b71", 0x32 // test_boundary_check(uint256,uint256): 10, 10 -> FAILURE, hex"4e487b71", 0x32 // test_boundary_check(uint256,uint256): 256, 256 -> FAILURE, hex"4e487b71", 0x32 -// gas irOptimized: 140631 -// gas legacy: 134630 -// gas legacyOptimized: 114854 +// gas irOptimized: 140383 +// gas legacy: 133633 +// gas legacyOptimized: 114354 // test_boundary_check(uint256,uint256): 256, 255 -> 0 -// gas irOptimized: 142763 -// gas legacy: 136949 -// gas legacyOptimized: 117033 +// gas irOptimized: 142515 +// gas legacy: 135949 +// gas legacyOptimized: 116533 // test_boundary_check(uint256,uint256): 256, 0xFFFF -> FAILURE, hex"4e487b71", 0x32 // test_boundary_check(uint256,uint256): 256, 2 -> 0 diff --git a/test/libsolidity/semanticTests/array/array_storage_index_zeroed_test.sol b/test/libsolidity/semanticTests/array/array_storage_index_zeroed_test.sol index 1d9d427aee52..6b3f4643cb5f 100644 --- a/test/libsolidity/semanticTests/array/array_storage_index_zeroed_test.sol +++ b/test/libsolidity/semanticTests/array/array_storage_index_zeroed_test.sol @@ -52,18 +52,18 @@ contract C { // ---- // test_zeroed_indicies(uint256): 1 -> // test_zeroed_indicies(uint256): 5 -> -// gas irOptimized: 131998 -// gas legacy: 132961 -// gas legacyOptimized: 130752 +// gas irOptimized: 131925 +// gas legacy: 132804 +// gas legacyOptimized: 130649 // test_zeroed_indicies(uint256): 10 -> -// gas irOptimized: 226012 -// gas legacy: 228071 -// gas legacyOptimized: 224010 +// gas irOptimized: 225874 +// gas legacy: 227786 +// gas legacyOptimized: 223830 // test_zeroed_indicies(uint256): 15 -> -// gas irOptimized: 324140 -// gas legacy: 327311 -// gas legacyOptimized: 321462 +// gas irOptimized: 323938 +// gas legacy: 326902 +// gas legacyOptimized: 321206 // test_zeroed_indicies(uint256): 0xFF -> -// gas irOptimized: 5120200 -// gas legacy: 5172987 -// gas legacyOptimized: 5066462 +// gas irOptimized: 5116738 +// gas legacy: 5165874 +// gas legacyOptimized: 5062182 diff --git a/test/libsolidity/semanticTests/array/array_storage_length_access.sol b/test/libsolidity/semanticTests/array/array_storage_length_access.sol index c8083b6c3f85..6a611cc17115 100644 --- a/test/libsolidity/semanticTests/array/array_storage_length_access.sol +++ b/test/libsolidity/semanticTests/array/array_storage_length_access.sol @@ -13,10 +13,10 @@ contract C { // set_get_length(uint256): 20 -> 20 // set_get_length(uint256): 0xFF -> 0xFF // gas irOptimized: 96690 -// gas legacy: 129522 -// gas legacyOptimized: 110618 +// gas legacy: 128571 +// gas legacyOptimized: 110143 // set_get_length(uint256): 0xFFF -> 0xFFF -// gas irOptimized: 1220648 -// gas legacy: 1704919 -// gas legacyOptimized: 1401220 +// gas irOptimized: 1220647 +// gas legacy: 1689548 +// gas legacyOptimized: 1393535 // set_get_length(uint256): 0xFFFFF -> FAILURE # Out-of-gas # diff --git a/test/libsolidity/semanticTests/array/array_storage_push_empty.sol b/test/libsolidity/semanticTests/array/array_storage_push_empty.sol index 6772deab0bcc..b59afd039163 100644 --- a/test/libsolidity/semanticTests/array/array_storage_push_empty.sol +++ b/test/libsolidity/semanticTests/array/array_storage_push_empty.sol @@ -12,13 +12,13 @@ contract C { // EVMVersion: >=petersburg // ---- // pushEmpty(uint256): 128 -// gas irOptimized: 406798 -// gas legacy: 416903 -// gas legacyOptimized: 398280 +// gas irOptimized: 406413 +// gas legacy: 415744 +// gas legacyOptimized: 397380 // pushEmpty(uint256): 256 -// gas irOptimized: 693826 -// gas legacy: 717115 -// gas legacyOptimized: 690172 +// gas irOptimized: 693185 +// gas legacy: 715316 +// gas legacyOptimized: 688632 // pushEmpty(uint256): 38869 -> FAILURE # out-of-gas # // gas irOptimized: 100000000 // gas legacy: 100000000 diff --git a/test/libsolidity/semanticTests/array/array_storage_push_empty_length_address.sol b/test/libsolidity/semanticTests/array/array_storage_push_empty_length_address.sol index e1de31f42cf3..9c3a426fe9cf 100644 --- a/test/libsolidity/semanticTests/array/array_storage_push_empty_length_address.sol +++ b/test/libsolidity/semanticTests/array/array_storage_push_empty_length_address.sol @@ -21,13 +21,13 @@ contract C { // gas legacy: 77730 // gas legacyOptimized: 77162 // set_get_length(uint256): 0xFF -> 0xFF -// gas irOptimized: 161696 -// gas legacy: 698137 -// gas legacyOptimized: 135004 +// gas irOptimized: 161440 +// gas legacy: 696850 +// gas legacyOptimized: 134488 // set_get_length(uint256): 0xFFF -> 0xFFF -// gas irOptimized: 1804463 -// gas legacy: 9876574 -// gas legacyOptimized: 1401346 +// gas irOptimized: 1800622 +// gas legacy: 9857362 +// gas legacyOptimized: 1393660 // set_get_length(uint256): 0xFFFFF -> FAILURE # Out-of-gas # // gas irOptimized: 100000000 // gas legacyOptimized: 100000000 diff --git a/test/libsolidity/semanticTests/array/array_storage_push_pop.sol b/test/libsolidity/semanticTests/array/array_storage_push_pop.sol index 97f7a1269b49..91948540f919 100644 --- a/test/libsolidity/semanticTests/array/array_storage_push_pop.sol +++ b/test/libsolidity/semanticTests/array/array_storage_push_pop.sol @@ -17,11 +17,11 @@ contract C { // gas legacy: 105722 // gas legacyOptimized: 103508 // set_get_length(uint256): 0xFF -> 0 -// gas irOptimized: 821872 -// gas legacy: 810327 -// gas legacyOptimized: 786258 +// gas irOptimized: 821106 +// gas legacy: 808020 +// gas legacyOptimized: 784467 // set_get_length(uint256): 0xFFF -> 0 -// gas irOptimized: 12841084 -// gas legacy: 12649059 -// gas legacyOptimized: 12267870 +// gas irOptimized: 12828798 +// gas legacy: 12612192 +// gas legacyOptimized: 12239199 // set_get_length(uint256): 0xFFFF -> FAILURE # Out-of-gas # diff --git a/test/libsolidity/semanticTests/array/arrays_complex_from_and_to_storage.sol b/test/libsolidity/semanticTests/array/arrays_complex_from_and_to_storage.sol index ed54d0279f60..05a663c0beef 100644 --- a/test/libsolidity/semanticTests/array/arrays_complex_from_and_to_storage.sol +++ b/test/libsolidity/semanticTests/array/arrays_complex_from_and_to_storage.sol @@ -12,9 +12,9 @@ contract Test { } // ---- // set(uint24[3][]): 0x20, 0x06, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x12 -> 0x06 -// gas irOptimized: 186550 -// gas legacy: 211149 -// gas legacyOptimized: 206054 +// gas irOptimized: 186537 +// gas legacy: 211054 +// gas legacyOptimized: 206042 // data(uint256,uint256): 0x02, 0x02 -> 0x09 // data(uint256,uint256): 0x05, 0x01 -> 0x11 // data(uint256,uint256): 0x06, 0x00 -> FAILURE diff --git a/test/libsolidity/semanticTests/array/byte_array_storage_layout.sol b/test/libsolidity/semanticTests/array/byte_array_storage_layout.sol index bb1e904f0ffd..e5fd0a2d709e 100644 --- a/test/libsolidity/semanticTests/array/byte_array_storage_layout.sol +++ b/test/libsolidity/semanticTests/array/byte_array_storage_layout.sol @@ -46,8 +46,8 @@ contract c { // storageEmpty -> 0 // test_long() -> 67 // gas irOptimized: 89148 -// gas legacy: 105839 -// gas legacyOptimized: 103293 +// gas legacy: 105693 +// gas legacyOptimized: 103216 // storageEmpty -> 0 // test_pop() -> 1780731860627700044960722568376592200742329637303199754547598369979433020 // gas legacy: 61930 diff --git a/test/libsolidity/semanticTests/array/byte_array_transitional_2.sol b/test/libsolidity/semanticTests/array/byte_array_transitional_2.sol index 2165483ec432..554f4361a133 100644 --- a/test/libsolidity/semanticTests/array/byte_array_transitional_2.sol +++ b/test/libsolidity/semanticTests/array/byte_array_transitional_2.sol @@ -17,6 +17,6 @@ contract c { } // ---- // test() -> 0 -// gas irOptimized: 125751 -// gas legacy: 150861 -// gas legacyOptimized: 146667 +// gas irOptimized: 125584 +// gas legacy: 150372 +// gas legacyOptimized: 146391 diff --git a/test/libsolidity/semanticTests/array/bytes_length_member.sol b/test/libsolidity/semanticTests/array/bytes_length_member.sol index 387ef09302af..04dcf2d34084 100644 --- a/test/libsolidity/semanticTests/array/bytes_length_member.sol +++ b/test/libsolidity/semanticTests/array/bytes_length_member.sol @@ -13,7 +13,7 @@ contract c { // ---- // getLength() -> 0 // set(): 1, 2 -> true -// gas irOptimized: 110402 -// gas legacy: 110968 -// gas legacyOptimized: 110585 +// gas irOptimized: 110400 +// gas legacy: 110952 +// gas legacyOptimized: 110580 // getLength() -> 68 diff --git a/test/libsolidity/semanticTests/array/constant_var_as_array_length.sol b/test/libsolidity/semanticTests/array/constant_var_as_array_length.sol index fc51f4e3038e..ffd4b54033e7 100644 --- a/test/libsolidity/semanticTests/array/constant_var_as_array_length.sol +++ b/test/libsolidity/semanticTests/array/constant_var_as_array_length.sol @@ -9,9 +9,9 @@ contract C { // ---- // constructor(): 1, 2, 3 -> -// gas irOptimized: 141581 -// gas legacy: 183490 -// gas legacyOptimized: 151938 +// gas irOptimized: 140952 +// gas legacy: 180517 +// gas legacyOptimized: 150462 // a(uint256): 0 -> 1 // a(uint256): 1 -> 2 // a(uint256): 2 -> 3 diff --git a/test/libsolidity/semanticTests/array/copying/array_copy_calldata_storage.sol b/test/libsolidity/semanticTests/array/copying/array_copy_calldata_storage.sol index 6afd8f88f40d..3be5ba29f4d8 100644 --- a/test/libsolidity/semanticTests/array/copying/array_copy_calldata_storage.sol +++ b/test/libsolidity/semanticTests/array/copying/array_copy_calldata_storage.sol @@ -20,7 +20,7 @@ contract c { } // ---- // store(uint256[9],uint8[3][]): 21, 22, 23, 24, 25, 26, 27, 28, 29, 0x140, 4, 1, 2, 3, 11, 12, 13, 21, 22, 23, 31, 32, 33 -> 32 -// gas irOptimized: 648324 -// gas legacy: 694515 -// gas legacyOptimized: 694013 +// gas irOptimized: 648323 +// gas legacy: 694356 +// gas legacyOptimized: 693864 // retrieve() -> 9, 28, 9, 28, 4, 3, 32 diff --git a/test/libsolidity/semanticTests/array/copying/array_copy_cleanup_uint40.sol b/test/libsolidity/semanticTests/array/copying/array_copy_cleanup_uint40.sol index 88506585e703..d88aaebcdac4 100644 --- a/test/libsolidity/semanticTests/array/copying/array_copy_cleanup_uint40.sol +++ b/test/libsolidity/semanticTests/array/copying/array_copy_cleanup_uint40.sol @@ -46,6 +46,6 @@ contract C { } // ---- // f() -> true -// gas irOptimized: 117405 -// gas legacy: 124769 -// gas legacyOptimized: 122871 +// gas irOptimized: 117369 +// gas legacy: 124660 +// gas legacyOptimized: 122801 diff --git a/test/libsolidity/semanticTests/array/copying/array_copy_clear_storage.sol b/test/libsolidity/semanticTests/array/copying/array_copy_clear_storage.sol index 27f687360733..ebc6dadbe76f 100644 --- a/test/libsolidity/semanticTests/array/copying/array_copy_clear_storage.sol +++ b/test/libsolidity/semanticTests/array/copying/array_copy_clear_storage.sol @@ -13,6 +13,6 @@ contract C { } // ---- // f() -> 0 -// gas irOptimized: 107492 -// gas legacy: 108251 -// gas legacyOptimized: 107639 +// gas irOptimized: 107488 +// gas legacy: 108218 +// gas legacyOptimized: 107625 diff --git a/test/libsolidity/semanticTests/array/copying/array_copy_different_packing.sol b/test/libsolidity/semanticTests/array/copying/array_copy_different_packing.sol index 86da315c3f58..55e20f91729f 100644 --- a/test/libsolidity/semanticTests/array/copying/array_copy_different_packing.sol +++ b/test/libsolidity/semanticTests/array/copying/array_copy_different_packing.sol @@ -19,6 +19,6 @@ contract c { // ---- // test() -> 0x01000000000000000000000000000000000000000000000000, 0x02000000000000000000000000000000000000000000000000, 0x03000000000000000000000000000000000000000000000000, 0x04000000000000000000000000000000000000000000000000, 0x05000000000000000000000000000000000000000000000000 -// gas irOptimized: 208149 -// gas legacy: 221856 -// gas legacyOptimized: 220680 +// gas irOptimized: 208122 +// gas legacy: 221769 +// gas legacyOptimized: 220611 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 1599f0d3523c..80364f02578d 100644 --- a/test/libsolidity/semanticTests/array/copying/array_copy_including_array.sol +++ b/test/libsolidity/semanticTests/array/copying/array_copy_including_array.sol @@ -35,12 +35,12 @@ contract c { } // ---- // test() -> 0x02000202 -// gas irOptimized: 4550335 -// gas legacy: 4478946 -// gas legacyOptimized: 4448809 +// gas irOptimized: 4548245 +// gas legacy: 4476222 +// gas legacyOptimized: 4448113 // storageEmpty -> 1 // clear() -> 0, 0 -// gas irOptimized: 4477223 -// gas legacy: 4410748 -// gas legacyOptimized: 4382489 +// gas irOptimized: 4475224 +// gas legacy: 4408014 +// gas legacyOptimized: 4381784 // storageEmpty -> 1 diff --git a/test/libsolidity/semanticTests/array/copying/array_copy_nested_array.sol b/test/libsolidity/semanticTests/array/copying/array_copy_nested_array.sol index a85765cd9853..03f58e11900f 100644 --- a/test/libsolidity/semanticTests/array/copying/array_copy_nested_array.sol +++ b/test/libsolidity/semanticTests/array/copying/array_copy_nested_array.sol @@ -13,6 +13,6 @@ contract c { // ---- // test(uint256[2][]): 32, 3, 7, 8, 9, 10, 11, 12 -> 10 -// gas irOptimized: 689759 -// gas legacy: 686268 -// gas legacyOptimized: 685688 +// gas irOptimized: 689714 +// gas legacy: 686178 +// gas legacyOptimized: 685628 diff --git a/test/libsolidity/semanticTests/array/copying/array_copy_storage_storage_different_base.sol b/test/libsolidity/semanticTests/array/copying/array_copy_storage_storage_different_base.sol index ed8e2746eb4c..d17e45a2f3ed 100644 --- a/test/libsolidity/semanticTests/array/copying/array_copy_storage_storage_different_base.sol +++ b/test/libsolidity/semanticTests/array/copying/array_copy_storage_storage_different_base.sol @@ -17,6 +17,6 @@ contract c { } // ---- // test() -> 5, 4 -// gas irOptimized: 205073 -// gas legacy: 213901 -// gas legacyOptimized: 212916 +// gas irOptimized: 205062 +// gas legacy: 213863 +// gas legacyOptimized: 212902 diff --git a/test/libsolidity/semanticTests/array/copying/array_copy_storage_storage_different_base_nested.sol b/test/libsolidity/semanticTests/array/copying/array_copy_storage_storage_different_base_nested.sol index 960343916d57..113269ea2ba3 100644 --- a/test/libsolidity/semanticTests/array/copying/array_copy_storage_storage_different_base_nested.sol +++ b/test/libsolidity/semanticTests/array/copying/array_copy_storage_storage_different_base_nested.sol @@ -23,6 +23,6 @@ contract c { // compileToEwasm: also // ---- // test() -> 3, 4 -// gas irOptimized: 169616 -// gas legacy: 175453 -// gas legacyOptimized: 172541 +// gas irOptimized: 169602 +// gas legacy: 175424 +// gas legacyOptimized: 172535 diff --git a/test/libsolidity/semanticTests/array/copying/array_copy_storage_storage_dyn_dyn.sol b/test/libsolidity/semanticTests/array/copying/array_copy_storage_storage_dyn_dyn.sol index 5e12fa657d17..29c845f13065 100644 --- a/test/libsolidity/semanticTests/array/copying/array_copy_storage_storage_dyn_dyn.sol +++ b/test/libsolidity/semanticTests/array/copying/array_copy_storage_storage_dyn_dyn.sol @@ -15,9 +15,9 @@ contract c { // ---- // setData1(uint256,uint256,uint256): 10, 5, 4 -> // copyStorageStorage() -> -// gas irOptimized: 111368 -// gas legacy: 109278 -// gas legacyOptimized: 109268 +// gas irOptimized: 111366 +// gas legacy: 109272 +// gas legacyOptimized: 109262 // getData2(uint256): 5 -> 10, 4 // setData1(uint256,uint256,uint256): 0, 0, 0 -> // copyStorageStorage() -> diff --git a/test/libsolidity/semanticTests/array/copying/array_copy_storage_storage_dynamic_dynamic.sol b/test/libsolidity/semanticTests/array/copying/array_copy_storage_storage_dynamic_dynamic.sol index 749b70417aa9..1582b711837c 100644 --- a/test/libsolidity/semanticTests/array/copying/array_copy_storage_storage_dynamic_dynamic.sol +++ b/test/libsolidity/semanticTests/array/copying/array_copy_storage_storage_dynamic_dynamic.sol @@ -18,6 +18,6 @@ contract c { // ---- // test() -> 5, 4 -// gas irOptimized: 252993 -// gas legacy: 250934 -// gas legacyOptimized: 250060 +// gas irOptimized: 252986 +// gas legacy: 250892 +// gas legacyOptimized: 250046 diff --git a/test/libsolidity/semanticTests/array/copying/array_copy_storage_storage_static_dynamic.sol b/test/libsolidity/semanticTests/array/copying/array_copy_storage_storage_static_dynamic.sol index 99e6b06f0dca..8b750efa7ad3 100644 --- a/test/libsolidity/semanticTests/array/copying/array_copy_storage_storage_static_dynamic.sol +++ b/test/libsolidity/semanticTests/array/copying/array_copy_storage_storage_static_dynamic.sol @@ -12,6 +12,6 @@ contract c { // ---- // test() -> 9, 4 -// gas irOptimized: 123143 -// gas legacy: 123579 -// gas legacyOptimized: 123208 +// gas irOptimized: 123142 +// gas legacy: 123567 +// gas legacyOptimized: 123202 diff --git a/test/libsolidity/semanticTests/array/copying/array_copy_storage_storage_static_static.sol b/test/libsolidity/semanticTests/array/copying/array_copy_storage_storage_static_static.sol index 3f74616c25a6..f7f0560653b4 100644 --- a/test/libsolidity/semanticTests/array/copying/array_copy_storage_storage_static_static.sol +++ b/test/libsolidity/semanticTests/array/copying/array_copy_storage_storage_static_static.sol @@ -17,6 +17,6 @@ contract c { // compileToEwasm: also // ---- // test() -> 8, 0 -// gas irOptimized: 196279 -// gas legacy: 194895 -// gas legacyOptimized: 194303 +// gas irOptimized: 196278 +// gas legacy: 194843 +// gas legacyOptimized: 194281 diff --git a/test/libsolidity/semanticTests/array/copying/array_copy_storage_storage_struct.sol b/test/libsolidity/semanticTests/array/copying/array_copy_storage_storage_struct.sol index c42b6799880a..4339c89b5506 100644 --- a/test/libsolidity/semanticTests/array/copying/array_copy_storage_storage_struct.sol +++ b/test/libsolidity/semanticTests/array/copying/array_copy_storage_storage_struct.sol @@ -17,7 +17,7 @@ contract c { } // ---- // test() -> 4, 5 -// gas irOptimized: 190899 -// gas legacy: 190989 -// gas legacyOptimized: 189728 +// gas irOptimized: 190870 +// gas legacy: 190852 +// gas legacyOptimized: 189658 // storageEmpty -> 1 diff --git a/test/libsolidity/semanticTests/array/copying/array_copy_storage_to_memory_nested.sol b/test/libsolidity/semanticTests/array/copying/array_copy_storage_to_memory_nested.sol index 27f1a6aa0741..c9c6e32284b9 100644 --- a/test/libsolidity/semanticTests/array/copying/array_copy_storage_to_memory_nested.sol +++ b/test/libsolidity/semanticTests/array/copying/array_copy_storage_to_memory_nested.sol @@ -15,6 +15,6 @@ contract C { } // ---- // f() -> 0x20, 2, 0x40, 0xa0, 2, 0, 1, 2, 2, 3 -// gas irOptimized: 161735 -// gas legacy: 162278 -// gas legacyOptimized: 159955 +// gas irOptimized: 161715 +// gas legacy: 162203 +// gas legacyOptimized: 159941 diff --git a/test/libsolidity/semanticTests/array/copying/array_copy_target_leftover.sol b/test/libsolidity/semanticTests/array/copying/array_copy_target_leftover.sol index fa73987bf908..a3f800b0834f 100644 --- a/test/libsolidity/semanticTests/array/copying/array_copy_target_leftover.sol +++ b/test/libsolidity/semanticTests/array/copying/array_copy_target_leftover.sol @@ -19,6 +19,6 @@ contract c { // compileToEwasm: also // ---- // test() -> 0xffffffff, 0x0000000000000000000000000a00090008000700060005000400030002000100, 0x0000000000000000000000000000000000000000000000000000000000000000 -// gas irOptimized: 104740 -// gas legacy: 167514 -// gas legacyOptimized: 145759 +// gas irOptimized: 104665 +// gas legacy: 166874 +// gas legacyOptimized: 145474 diff --git a/test/libsolidity/semanticTests/array/copying/array_copy_target_simple.sol b/test/libsolidity/semanticTests/array/copying/array_copy_target_simple.sol index fb0e49b47847..160697c6b157 100644 --- a/test/libsolidity/semanticTests/array/copying/array_copy_target_simple.sol +++ b/test/libsolidity/semanticTests/array/copying/array_copy_target_simple.sol @@ -21,6 +21,6 @@ contract c { // compileToEwasm: also // ---- // test() -> 0x01000000000000000000000000000000000000000000000000, 0x02000000000000000000000000000000000000000000000000, 0x03000000000000000000000000000000000000000000000000, 0x04000000000000000000000000000000000000000000000000, 0x0 -// gas irOptimized: 273586 -// gas legacy: 283726 -// gas legacyOptimized: 282045 +// gas irOptimized: 273576 +// gas legacy: 283666 +// gas legacyOptimized: 282023 diff --git a/test/libsolidity/semanticTests/array/copying/array_copy_target_simple_2.sol b/test/libsolidity/semanticTests/array/copying/array_copy_target_simple_2.sol index c4ffe543f8d7..c2ab09c6432e 100644 --- a/test/libsolidity/semanticTests/array/copying/array_copy_target_simple_2.sol +++ b/test/libsolidity/semanticTests/array/copying/array_copy_target_simple_2.sol @@ -21,6 +21,6 @@ contract c { // compileToEwasm: also // ---- // test() -> 0x01000000000000000000000000000000000000000000000000, 0x02000000000000000000000000000000000000000000000000, 0x03000000000000000000000000000000000000000000000000, 0x04000000000000000000000000000000000000000000000000, 0x00 -// gas irOptimized: 233293 -// gas legacy: 236560 -// gas legacyOptimized: 235611 +// gas irOptimized: 233285 +// gas legacy: 236523 +// gas legacyOptimized: 235592 diff --git a/test/libsolidity/semanticTests/array/copying/array_elements_to_mapping.sol b/test/libsolidity/semanticTests/array/copying/array_elements_to_mapping.sol index 4ee91191c672..e139e200ffe3 100644 --- a/test/libsolidity/semanticTests/array/copying/array_elements_to_mapping.sol +++ b/test/libsolidity/semanticTests/array/copying/array_elements_to_mapping.sol @@ -53,9 +53,9 @@ contract C { // ---- // from_storage() -> 0x20, 2, 0x40, 0xa0, 2, 10, 11, 3, 12, 13, 14 -// gas irOptimized: 150098 -// gas legacy: 150830 -// gas legacyOptimized: 148728 +// gas irOptimized: 150061 +// gas legacy: 150745 +// gas legacyOptimized: 148685 // from_storage_ptr() -> 0x20, 2, 0x40, 0xa0, 2, 10, 11, 3, 12, 13, 14 // from_memory() -> 0x20, 2, 0x40, 0xa0, 2, 10, 11, 3, 12, 13, 14 // from_calldata(uint8[][]): 0x20, 2, 0x40, 0xa0, 2, 10, 11, 3, 12, 13, 14 -> 0x20, 2, 0x40, 0xa0, 2, 10, 11, 3, 12, 13, 14 diff --git a/test/libsolidity/semanticTests/array/copying/array_nested_calldata_to_storage.sol b/test/libsolidity/semanticTests/array/copying/array_nested_calldata_to_storage.sol index 02872f8dde9f..8cc849ecdc7b 100644 --- a/test/libsolidity/semanticTests/array/copying/array_nested_calldata_to_storage.sol +++ b/test/libsolidity/semanticTests/array/copying/array_nested_calldata_to_storage.sol @@ -38,10 +38,10 @@ contract c { // compileViaYul: true // ---- // test1(uint256[][]): 0x20, 2, 0x40, 0x40, 2, 23, 42 -> 2, 65 -// gas irOptimized: 180769 +// gas irOptimized: 180759 // test2(uint256[][2]): 0x20, 0x40, 0x40, 2, 23, 42 -> 2, 65 -// gas irOptimized: 157567 +// gas irOptimized: 157562 // test3(uint256[2][]): 0x20, 2, 23, 42, 23, 42 -> 2, 65 -// gas irOptimized: 134644 +// gas irOptimized: 134637 // test4(uint256[2][2]): 23, 42, 23, 42 -> 65 -// gas irOptimized: 111271 +// gas irOptimized: 111270 diff --git a/test/libsolidity/semanticTests/array/copying/array_nested_memory_to_storage.sol b/test/libsolidity/semanticTests/array/copying/array_nested_memory_to_storage.sol index d86eb748d950..08e427eea53f 100644 --- a/test/libsolidity/semanticTests/array/copying/array_nested_memory_to_storage.sol +++ b/test/libsolidity/semanticTests/array/copying/array_nested_memory_to_storage.sol @@ -38,12 +38,12 @@ contract Test { } // ---- // test() -> 24 -// gas irOptimized: 226700 -// gas legacy: 227121 -// gas legacyOptimized: 226557 +// gas irOptimized: 226687 +// gas legacy: 227084 +// gas legacyOptimized: 226529 // test1() -> 3 // test2() -> 6 // test3() -> 24 -// gas irOptimized: 141260 -// gas legacy: 142283 -// gas legacyOptimized: 141393 +// gas irOptimized: 141244 +// gas legacy: 142238 +// gas legacyOptimized: 141365 diff --git a/test/libsolidity/semanticTests/array/copying/array_of_function_external_storage_to_storage_dynamic.sol b/test/libsolidity/semanticTests/array/copying/array_of_function_external_storage_to_storage_dynamic.sol index 3b150f4f78a6..9a2ab14cbbd2 100644 --- a/test/libsolidity/semanticTests/array/copying/array_of_function_external_storage_to_storage_dynamic.sol +++ b/test/libsolidity/semanticTests/array/copying/array_of_function_external_storage_to_storage_dynamic.sol @@ -45,7 +45,7 @@ contract C { } // ---- // copyExternalStorageArrayOfFunctionType() -> true -// gas irOptimized: 104615 -// gas legacy: 108722 -// gas legacyOptimized: 102438 +// gas irOptimized: 104606 +// gas legacy: 108554 +// gas legacyOptimized: 102413 // copyInternalArrayOfFunctionType() -> true diff --git a/test/libsolidity/semanticTests/array/copying/array_of_function_external_storage_to_storage_dynamic_different_mutability.sol b/test/libsolidity/semanticTests/array/copying/array_of_function_external_storage_to_storage_dynamic_different_mutability.sol index 6576149eb9be..dc30e44b6fde 100644 --- a/test/libsolidity/semanticTests/array/copying/array_of_function_external_storage_to_storage_dynamic_different_mutability.sol +++ b/test/libsolidity/semanticTests/array/copying/array_of_function_external_storage_to_storage_dynamic_different_mutability.sol @@ -48,8 +48,8 @@ contract C { } // ---- // copyExternalStorageArraysOfFunctionType() -> true -// gas irOptimized: 104288 -// gas legacy: 108459 -// gas legacyOptimized: 102171 +// gas irOptimized: 104279 +// gas legacy: 108295 +// gas legacyOptimized: 102146 // copyInternalArrayOfFunctionType() -> true // gas legacy: 104178 diff --git a/test/libsolidity/semanticTests/array/copying/array_of_struct_calldata_to_storage.sol b/test/libsolidity/semanticTests/array/copying/array_of_struct_calldata_to_storage.sol index a7487a64fe25..ec193d693ae5 100644 --- a/test/libsolidity/semanticTests/array/copying/array_of_struct_calldata_to_storage.sol +++ b/test/libsolidity/semanticTests/array/copying/array_of_struct_calldata_to_storage.sol @@ -17,4 +17,4 @@ contract C { // compileViaYul: true // ---- // f((uint128,uint64,uint128)[]): 0x20, 3, 0, 0, 12, 0, 11, 0, 10, 0, 0 -> 10, 11, 12 -// gas irOptimized: 119737 +// gas irOptimized: 119736 diff --git a/test/libsolidity/semanticTests/array/copying/array_of_struct_memory_to_storage.sol b/test/libsolidity/semanticTests/array/copying/array_of_struct_memory_to_storage.sol index 09653d5369d1..3024f44adcd1 100644 --- a/test/libsolidity/semanticTests/array/copying/array_of_struct_memory_to_storage.sol +++ b/test/libsolidity/semanticTests/array/copying/array_of_struct_memory_to_storage.sol @@ -19,4 +19,4 @@ contract C { // compileViaYul: true // ---- // f() -> 10, 11, 12 -// gas irOptimized: 118394 +// gas irOptimized: 118393 diff --git a/test/libsolidity/semanticTests/array/copying/array_of_structs_containing_arrays_calldata_to_storage.sol b/test/libsolidity/semanticTests/array/copying/array_of_structs_containing_arrays_calldata_to_storage.sol index 49d307fe2dbe..b60a7c3c2a5a 100644 --- a/test/libsolidity/semanticTests/array/copying/array_of_structs_containing_arrays_calldata_to_storage.sol +++ b/test/libsolidity/semanticTests/array/copying/array_of_structs_containing_arrays_calldata_to_storage.sol @@ -23,4 +23,4 @@ contract C { // compileViaYul: true // ---- // f((uint256[])[]): 0x20, 3, 0x60, 0x60, 0x60, 0x20, 3, 1, 2, 3 -> 3, 1 -// gas irOptimized: 327798 +// gas irOptimized: 327759 diff --git a/test/libsolidity/semanticTests/array/copying/array_of_structs_containing_arrays_memory_to_storage.sol b/test/libsolidity/semanticTests/array/copying/array_of_structs_containing_arrays_memory_to_storage.sol index 03146105639e..e175dd87c75b 100644 --- a/test/libsolidity/semanticTests/array/copying/array_of_structs_containing_arrays_memory_to_storage.sol +++ b/test/libsolidity/semanticTests/array/copying/array_of_structs_containing_arrays_memory_to_storage.sol @@ -26,4 +26,4 @@ contract C { // compileViaYul: true // ---- // f() -> 3, 3, 3, 1 -// gas irOptimized: 181997 +// gas irOptimized: 181950 diff --git a/test/libsolidity/semanticTests/array/copying/array_storage_multi_items_per_slot.sol b/test/libsolidity/semanticTests/array/copying/array_storage_multi_items_per_slot.sol index fbb7244c5267..cbb87a2788ca 100644 --- a/test/libsolidity/semanticTests/array/copying/array_storage_multi_items_per_slot.sol +++ b/test/libsolidity/semanticTests/array/copying/array_storage_multi_items_per_slot.sol @@ -14,6 +14,6 @@ contract C { // compileToEwasm: also // ---- // f() -> 1, 2, 3 -// gas irOptimized: 131933 -// gas legacy: 134619 -// gas legacyOptimized: 131940 +// gas irOptimized: 131932 +// gas legacy: 134606 +// gas legacyOptimized: 131938 diff --git a/test/libsolidity/semanticTests/array/copying/array_to_mapping.sol b/test/libsolidity/semanticTests/array/copying/array_to_mapping.sol index bd9444638015..5c36ed3f3a0e 100644 --- a/test/libsolidity/semanticTests/array/copying/array_to_mapping.sol +++ b/test/libsolidity/semanticTests/array/copying/array_to_mapping.sol @@ -38,8 +38,8 @@ contract C { // ---- // from_storage() -> 0x20, 2, 0x40, 0xa0, 2, 10, 11, 3, 12, 13, 14 -// gas irOptimized: 147913 -// gas legacy: 148965 -// gas legacyOptimized: 146935 +// gas irOptimized: 147892 +// gas legacy: 148896 +// gas legacyOptimized: 146908 // from_storage_ptr() -> 0x20, 2, 0x40, 0xa0, 2, 10, 11, 3, 12, 13, 14 // from_memory() -> 0x20, 2, 0x40, 0xa0, 2, 10, 11, 3, 12, 13, 14 diff --git a/test/libsolidity/semanticTests/array/copying/arrays_from_and_to_storage.sol b/test/libsolidity/semanticTests/array/copying/arrays_from_and_to_storage.sol index d13381d804c8..0deb396d3d66 100644 --- a/test/libsolidity/semanticTests/array/copying/arrays_from_and_to_storage.sol +++ b/test/libsolidity/semanticTests/array/copying/arrays_from_and_to_storage.sol @@ -11,8 +11,8 @@ contract Test { // ---- // set(uint24[]): 0x20, 18, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18 -> 18 // gas irOptimized: 99616 -// gas legacy: 103563 -// gas legacyOptimized: 101397 +// gas legacy: 103509 +// gas legacyOptimized: 101390 // data(uint256): 7 -> 8 // data(uint256): 15 -> 16 // data(uint256): 18 -> FAILURE diff --git a/test/libsolidity/semanticTests/array/copying/bytes_inside_mappings.sol b/test/libsolidity/semanticTests/array/copying/bytes_inside_mappings.sol index 99ee19d7a387..523a0ebebb9e 100644 --- a/test/libsolidity/semanticTests/array/copying/bytes_inside_mappings.sol +++ b/test/libsolidity/semanticTests/array/copying/bytes_inside_mappings.sol @@ -5,13 +5,13 @@ contract c { } // ---- // set(uint256): 1, 2 -> true -// gas irOptimized: 110576 -// gas legacy: 111333 -// gas legacyOptimized: 110750 +// gas irOptimized: 110574 +// gas legacy: 111312 +// gas legacyOptimized: 110744 // set(uint256): 2, 2, 3, 4, 5 -> true -// gas irOptimized: 177527 -// gas legacy: 178335 -// gas legacyOptimized: 177725 +// gas irOptimized: 177525 +// gas legacy: 178314 +// gas legacyOptimized: 177719 // storageEmpty -> 0 // copy(uint256,uint256): 1, 2 -> true // storageEmpty -> 0 diff --git a/test/libsolidity/semanticTests/array/copying/bytes_storage_to_storage.sol b/test/libsolidity/semanticTests/array/copying/bytes_storage_to_storage.sol index f0f0b3fbdfe3..9448970b7845 100644 --- a/test/libsolidity/semanticTests/array/copying/bytes_storage_to_storage.sol +++ b/test/libsolidity/semanticTests/array/copying/bytes_storage_to_storage.sol @@ -17,25 +17,25 @@ contract c { // ---- // f(uint256): 0 -> 0x20, 0x00 // f(uint256): 31 -> 0x20, 0x1f, 0x0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e00 -// gas irOptimized: 109413 -// gas legacy: 124296 -// gas legacyOptimized: 119119 +// gas irOptimized: 109255 +// gas legacy: 123948 +// gas legacyOptimized: 118948 // f(uint256): 32 -> 0x20, 0x20, 1780731860627700044960722568376592200742329637303199754547598369979440671 -// gas irOptimized: 124165 -// gas legacy: 140851 -// gas legacyOptimized: 135691 +// gas irOptimized: 123936 +// gas legacy: 140362 +// gas legacyOptimized: 135386 // f(uint256): 33 -> 0x20, 33, 1780731860627700044960722568376592200742329637303199754547598369979440671, 0x2000000000000000000000000000000000000000000000000000000000000000 -// gas irOptimized: 130784 -// gas legacy: 148435 -// gas legacyOptimized: 142608 +// gas irOptimized: 130543 +// gas legacy: 147916 +// gas legacyOptimized: 142290 // f(uint256): 63 -> 0x20, 0x3f, 1780731860627700044960722568376592200742329637303199754547598369979440671, 14532552714582660066924456880521368950258152170031413196862950297402215316992 -// gas irOptimized: 139784 -// gas legacy: 172075 -// gas legacyOptimized: 162138 +// gas irOptimized: 139333 +// gas legacy: 171136 +// gas legacyOptimized: 161550 // f(uint256): 12 -> 0x20, 0x0c, 0x0102030405060708090a0b0000000000000000000000000000000000000000 // gas legacy: 59345 // gas legacyOptimized: 57279 // f(uint256): 129 -> 0x20, 0x81, 1780731860627700044960722568376592200742329637303199754547598369979440671, 0x202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f, 29063324697304692433803953038474361308315562010425523193971352996434451193439, 0x606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f, -57896044618658097711785492504343953926634992332820282019728792003956564819968 -// gas irOptimized: 442899 -// gas legacy: 506874 -// gas legacyOptimized: 488177 +// gas irOptimized: 441985 +// gas legacy: 505021 +// gas legacyOptimized: 486997 diff --git a/test/libsolidity/semanticTests/array/copying/calldata_array_dynamic_to_storage.sol b/test/libsolidity/semanticTests/array/copying/calldata_array_dynamic_to_storage.sol index 0905266d82e1..3f629686f78a 100644 --- a/test/libsolidity/semanticTests/array/copying/calldata_array_dynamic_to_storage.sol +++ b/test/libsolidity/semanticTests/array/copying/calldata_array_dynamic_to_storage.sol @@ -9,6 +9,6 @@ contract C { } // ---- // f(uint256[]): 0x20, 0x03, 0x1, 0x2, 0x3 -> 0x1 -// gas irOptimized: 110971 -// gas legacy: 111565 -// gas legacyOptimized: 111347 +// gas irOptimized: 110970 +// gas legacy: 111551 +// gas legacyOptimized: 111339 diff --git a/test/libsolidity/semanticTests/array/copying/calldata_array_to_mapping.sol b/test/libsolidity/semanticTests/array/copying/calldata_array_to_mapping.sol index 0573760eb4e9..90b5b85d6afe 100644 --- a/test/libsolidity/semanticTests/array/copying/calldata_array_to_mapping.sol +++ b/test/libsolidity/semanticTests/array/copying/calldata_array_to_mapping.sol @@ -15,4 +15,4 @@ contract C { // compileViaYul: true // ---- // from_calldata(uint8[][]): 0x20, 2, 0x40, 0xa0, 2, 10, 11, 3, 12, 13, 14 -> 0x20, 2, 0x40, 0xa0, 2, 10, 11, 3, 12, 13, 14 -// gas irOptimized: 139927 +// gas irOptimized: 139905 diff --git a/test/libsolidity/semanticTests/array/copying/cleanup_during_multi_element_per_slot_copy.sol b/test/libsolidity/semanticTests/array/copying/cleanup_during_multi_element_per_slot_copy.sol index c2dda730d614..9a111e2bcde3 100644 --- a/test/libsolidity/semanticTests/array/copying/cleanup_during_multi_element_per_slot_copy.sol +++ b/test/libsolidity/semanticTests/array/copying/cleanup_during_multi_element_per_slot_copy.sol @@ -16,7 +16,7 @@ contract C { } // ---- // constructor() -// gas irOptimized: 236265 -// gas legacy: 221315 -// gas legacyOptimized: 185247 +// gas irOptimized: 234419 +// gas legacy: 215757 +// gas legacyOptimized: 181760 // f() -> 0 diff --git a/test/libsolidity/semanticTests/array/copying/copy_byte_array_in_struct_to_storage.sol b/test/libsolidity/semanticTests/array/copying/copy_byte_array_in_struct_to_storage.sol index ef7ff3232c74..edb657ad975b 100644 --- a/test/libsolidity/semanticTests/array/copying/copy_byte_array_in_struct_to_storage.sol +++ b/test/libsolidity/semanticTests/array/copying/copy_byte_array_in_struct_to_storage.sol @@ -35,12 +35,12 @@ contract C { } // ---- // f() -> 0x40, 0x80, 6, 0x6162636465660000000000000000000000000000000000000000000000000000, 0x49, 0x3132333435363738393031323334353637383930313233343536373839303120, 0x3132333435363738393031323334353637383930313233343536373839303120, 0x3132333435363738390000000000000000000000000000000000000000000000 -// gas irOptimized: 179766 -// gas legacy: 181047 -// gas legacyOptimized: 180029 +// gas irOptimized: 179752 +// gas legacy: 181001 +// gas legacyOptimized: 180014 // g() -> 0x40, 0xc0, 0x49, 0x3132333435363738393031323334353637383930313233343536373839303120, 0x3132333435363738393031323334353637383930313233343536373839303120, 0x3132333435363738390000000000000000000000000000000000000000000000, 0x11, 0x3132333435363738393233343536373839000000000000000000000000000000 -// gas irOptimized: 106697 -// gas legacy: 109801 -// gas legacyOptimized: 106953 +// gas irOptimized: 106682 +// gas legacy: 109720 +// gas legacyOptimized: 106937 // h() -> 0x40, 0x60, 0x00, 0x00 // storageEmpty -> 1 diff --git a/test/libsolidity/semanticTests/array/copying/copy_byte_array_to_storage.sol b/test/libsolidity/semanticTests/array/copying/copy_byte_array_to_storage.sol index a4c5566221fe..61d5ccf869dc 100644 --- a/test/libsolidity/semanticTests/array/copying/copy_byte_array_to_storage.sol +++ b/test/libsolidity/semanticTests/array/copying/copy_byte_array_to_storage.sol @@ -46,6 +46,6 @@ contract C { } // ---- // f() -> 0xff -// gas irOptimized: 143428 -// gas legacy: 153580 -// gas legacyOptimized: 146765 +// gas irOptimized: 143426 +// gas legacy: 153395 +// gas legacyOptimized: 146722 diff --git a/test/libsolidity/semanticTests/array/copying/copy_function_internal_storage_array.sol b/test/libsolidity/semanticTests/array/copying/copy_function_internal_storage_array.sol index e938b03d6199..d4d535950181 100644 --- a/test/libsolidity/semanticTests/array/copying/copy_function_internal_storage_array.sol +++ b/test/libsolidity/semanticTests/array/copying/copy_function_internal_storage_array.sol @@ -16,6 +16,6 @@ contract C { // ---- // test() -> 7 -// gas irOptimized: 122483 -// gas legacy: 205196 -// gas legacyOptimized: 204987 +// gas irOptimized: 122477 +// gas legacy: 205176 +// gas legacyOptimized: 204971 diff --git a/test/libsolidity/semanticTests/array/copying/copy_internal_function_array_to_storage.sol b/test/libsolidity/semanticTests/array/copying/copy_internal_function_array_to_storage.sol index b13d15e17574..20b894082ca1 100644 --- a/test/libsolidity/semanticTests/array/copying/copy_internal_function_array_to_storage.sol +++ b/test/libsolidity/semanticTests/array/copying/copy_internal_function_array_to_storage.sol @@ -21,6 +21,6 @@ contract C { // compileToEwasm: also // ---- // one() -> 3 -// gas legacy: 140260 -// gas legacyOptimized: 140097 +// gas legacy: 140253 +// gas legacyOptimized: 140093 // two() -> FAILURE, hex"4e487b71", 0x51 diff --git a/test/libsolidity/semanticTests/array/copying/copy_removes_bytes_data.sol b/test/libsolidity/semanticTests/array/copying/copy_removes_bytes_data.sol index 1c72666111bd..58fc1c13dacf 100644 --- a/test/libsolidity/semanticTests/array/copying/copy_removes_bytes_data.sol +++ b/test/libsolidity/semanticTests/array/copying/copy_removes_bytes_data.sol @@ -7,9 +7,9 @@ contract c { } // ---- // set(): 1, 2, 3, 4, 5 -> true -// gas irOptimized: 177386 -// gas legacy: 177970 -// gas legacyOptimized: 177559 +// gas irOptimized: 177383 +// gas legacy: 177954 +// gas legacyOptimized: 177554 // storageEmpty -> 0 // reset() -> true // storageEmpty -> 1 diff --git a/test/libsolidity/semanticTests/array/copying/copying_bytes_multiassign.sol b/test/libsolidity/semanticTests/array/copying/copying_bytes_multiassign.sol index cc61509d4437..ca6362b5c01d 100644 --- a/test/libsolidity/semanticTests/array/copying/copying_bytes_multiassign.sol +++ b/test/libsolidity/semanticTests/array/copying/copying_bytes_multiassign.sol @@ -20,9 +20,9 @@ contract sender { // compileToEwasm: false // ---- // (): 7 -> -// gas irOptimized: 110826 -// gas legacy: 111408 -// gas legacyOptimized: 111078 +// gas irOptimized: 110820 +// gas legacy: 111388 +// gas legacyOptimized: 111071 // val() -> 0 // forward(bool): true -> true // val() -> 0x80 diff --git a/test/libsolidity/semanticTests/array/copying/elements_of_nested_array_of_structs_calldata_to_storage.sol b/test/libsolidity/semanticTests/array/copying/elements_of_nested_array_of_structs_calldata_to_storage.sol index fe87b79ee21f..f435d9136367 100644 --- a/test/libsolidity/semanticTests/array/copying/elements_of_nested_array_of_structs_calldata_to_storage.sol +++ b/test/libsolidity/semanticTests/array/copying/elements_of_nested_array_of_structs_calldata_to_storage.sol @@ -33,8 +33,8 @@ contract C { // compileViaYul: true // ---- // test1((uint8[],uint8[2])[][][]): 0x20, 1, 0x20, 2, 0x40, 0x0140, 1, 0x20, 0x60, 3, 7, 2, 1, 2, 2, 0x40, 0x0100, 0x60, 17, 19, 2, 11, 13, 0x60, 31, 37, 2, 23, 29 -> 0x20, 2, 0x40, 0x0140, 1, 0x20, 0x60, 3, 7, 2, 1, 2, 2, 0x40, 0x0100, 0x60, 17, 19, 2, 11, 13, 0x60, 31, 37, 2, 23, 29 -// gas irOptimized: 327878 +// gas irOptimized: 327821 // test2((uint8[],uint8[2])[][1][]): 0x20, 2, 0x40, 0x0160, 0x20, 1, 0x20, 0x60, 17, 19, 2, 11, 13, 0x20, 1, 0x20, 0x60, 31, 37, 2, 23, 29 -> 0x20, 0x20, 1, 0x20, 0x60, 17, 19, 2, 11, 13 -// gas irOptimized: 140894 +// gas irOptimized: 140867 // test3((uint8[],uint8[2])[1][][2]): 0x20, 0x40, 0x60, 0, 2, 0x40, 288, 0x20, 0x60, 3, 7, 2, 1, 2, 0x20, 0x60, 17, 19, 2, 11, 13 -> 0x20, 2, 0x40, 288, 0x20, 0x60, 3, 7, 2, 1, 2, 0x20, 0x60, 17, 19, 2, 11, 13 -// gas irOptimized: 188509 +// gas irOptimized: 188473 diff --git a/test/libsolidity/semanticTests/array/copying/elements_of_nested_array_of_structs_memory_to_storage.sol b/test/libsolidity/semanticTests/array/copying/elements_of_nested_array_of_structs_memory_to_storage.sol index 8bd1eb18a06f..3a52e0a58488 100644 --- a/test/libsolidity/semanticTests/array/copying/elements_of_nested_array_of_structs_memory_to_storage.sol +++ b/test/libsolidity/semanticTests/array/copying/elements_of_nested_array_of_structs_memory_to_storage.sol @@ -33,8 +33,8 @@ contract C { // compileViaYul: true // ---- // test1((uint8[],uint8[2])[][][]): 0x20, 1, 0x20, 2, 0x40, 0x0140, 1, 0x20, 0x60, 3, 7, 2, 1, 2, 2, 0x40, 0x0100, 0x60, 17, 19, 2, 11, 13, 0x60, 31, 37, 2, 23, 29 -> 0x20, 2, 0x40, 0x0140, 1, 0x20, 0x60, 3, 7, 2, 1, 2, 2, 0x40, 0x0100, 0x60, 17, 19, 2, 11, 13, 0x60, 31, 37, 2, 23, 29 -// gas irOptimized: 332586 +// gas irOptimized: 332527 // test2((uint8[],uint8[2])[][1][]): 0x20, 2, 0x40, 0x0160, 0x20, 1, 0x20, 0x60, 17, 19, 2, 11, 13, 0x20, 1, 0x20, 0x60, 31, 37, 2, 23, 29 -> 0x20, 0x20, 1, 0x20, 0x60, 17, 19, 2, 11, 13 -// gas irOptimized: 145182 +// gas irOptimized: 145155 // test3((uint8[],uint8[2])[1][][2]): 0x20, 0x40, 0x60, 0, 2, 0x40, 288, 0x20, 0x60, 3, 7, 2, 1, 2, 0x20, 0x60, 17, 19, 2, 11, 13 -> 0x20, 2, 0x40, 288, 0x20, 0x60, 3, 7, 2, 1, 2, 0x20, 0x60, 17, 19, 2, 11, 13 -// gas irOptimized: 192512 +// gas irOptimized: 192476 diff --git a/test/libsolidity/semanticTests/array/copying/function_type_array_to_storage.sol b/test/libsolidity/semanticTests/array/copying/function_type_array_to_storage.sol index 409bb2983cc8..68db47519436 100644 --- a/test/libsolidity/semanticTests/array/copying/function_type_array_to_storage.sol +++ b/test/libsolidity/semanticTests/array/copying/function_type_array_to_storage.sol @@ -46,11 +46,11 @@ contract C { } // ---- // test() -> 0x20, 0x14, "[a called][b called]" -// gas irOptimized: 116660 -// gas legacy: 119030 -// gas legacyOptimized: 117021 +// gas irOptimized: 116638 +// gas legacy: 118936 +// gas legacyOptimized: 116975 // test2() -> 0x20, 0x14, "[b called][a called]" // test3() -> 0x20, 0x14, "[b called][a called]" -// gas irOptimized: 103256 -// gas legacy: 102814 -// gas legacyOptimized: 101706 +// gas irOptimized: 103241 +// gas legacy: 102745 +// gas legacyOptimized: 101669 diff --git a/test/libsolidity/semanticTests/array/copying/memory_dyn_2d_bytes_to_storage.sol b/test/libsolidity/semanticTests/array/copying/memory_dyn_2d_bytes_to_storage.sol index 16d10a36d20b..074ca934ff13 100644 --- a/test/libsolidity/semanticTests/array/copying/memory_dyn_2d_bytes_to_storage.sol +++ b/test/libsolidity/semanticTests/array/copying/memory_dyn_2d_bytes_to_storage.sol @@ -18,6 +18,6 @@ contract C { } // ---- // f() -> 3 -// gas irOptimized: 128172 -// gas legacy: 130757 -// gas legacyOptimized: 129144 +// gas irOptimized: 128116 +// gas legacy: 130584 +// gas legacyOptimized: 129031 diff --git a/test/libsolidity/semanticTests/array/copying/nested_array_element_storage_to_storage.sol b/test/libsolidity/semanticTests/array/copying/nested_array_element_storage_to_storage.sol index 0da09064cdd9..c402c14b2099 100644 --- a/test/libsolidity/semanticTests/array/copying/nested_array_element_storage_to_storage.sol +++ b/test/libsolidity/semanticTests/array/copying/nested_array_element_storage_to_storage.sol @@ -71,15 +71,15 @@ contract C { // ---- // test1() -> -// gas irOptimized: 150570 -// gas legacy: 151017 -// gas legacyOptimized: 150970 +// gas irOptimized: 150508 +// gas legacy: 150949 +// gas legacyOptimized: 150906 // test2() -> FAILURE -// gas irOptimized: 150408 -// gas legacy: 150700 -// gas legacyOptimized: 150601 +// gas irOptimized: 150385 +// gas legacy: 150673 +// gas legacyOptimized: 150576 // test3() -> -// gas irOptimized: 123810 -// gas legacy: 125381 -// gas legacyOptimized: 125160 +// gas irOptimized: 123776 +// gas legacy: 125333 +// gas legacyOptimized: 125127 // test4() -> FAILURE diff --git a/test/libsolidity/semanticTests/array/copying/nested_array_of_structs_calldata_to_storage.sol b/test/libsolidity/semanticTests/array/copying/nested_array_of_structs_calldata_to_storage.sol index 1f9011abde3c..60d65cb59bd6 100644 --- a/test/libsolidity/semanticTests/array/copying/nested_array_of_structs_calldata_to_storage.sol +++ b/test/libsolidity/semanticTests/array/copying/nested_array_of_structs_calldata_to_storage.sol @@ -31,8 +31,8 @@ contract C { // compileViaYul: true // ---- // test1((uint8[],uint8[2])[][]): 0x20, 2, 0x40, 0x0140, 1, 0x20, 0x60, 3, 7, 2, 1, 2, 2, 0x40, 0x0100, 0x60, 17, 19, 2, 11, 13, 0x60, 31, 37, 2, 23, 29 -> 0x20, 2, 0x40, 0x0140, 1, 0x20, 0x60, 3, 7, 2, 1, 2, 2, 0x40, 0x0100, 0x60, 17, 19, 2, 11, 13, 0x60, 31, 37, 2, 23, 29 -// gas irOptimized: 304768 +// gas irOptimized: 304714 // test2((uint8[],uint8[2])[][1]): 0x20, 0x20, 1, 0x20, 0x60, 17, 19, 2, 11, 13 -> 0x20, 0x20, 1, 0x20, 0x60, 17, 19, 2, 11, 13 -// gas irOptimized: 116476 +// gas irOptimized: 116454 // test3((uint8[],uint8[2])[1][]): 0x20, 2, 0x40, 0x0120, 0x20, 0x60, 3, 7, 2, 1, 2, 0x20, 0x60, 17, 19, 2, 11, 13 -> 0x20, 2, 0x40, 0x0120, 0x20, 0x60, 3, 7, 2, 1, 2, 0x20, 0x60, 17, 19, 2, 11, 13 -// gas irOptimized: 187998 +// gas irOptimized: 187962 diff --git a/test/libsolidity/semanticTests/array/copying/nested_array_of_structs_memory_to_storage.sol b/test/libsolidity/semanticTests/array/copying/nested_array_of_structs_memory_to_storage.sol index 218e8f1c7cbe..13b350262162 100644 --- a/test/libsolidity/semanticTests/array/copying/nested_array_of_structs_memory_to_storage.sol +++ b/test/libsolidity/semanticTests/array/copying/nested_array_of_structs_memory_to_storage.sol @@ -31,8 +31,8 @@ contract C { // compileViaYul: true // ---- // test1((uint8[],uint8[2])[][]): 0x20, 2, 0x40, 0x0140, 1, 0x20, 0x60, 3, 7, 2, 1, 2, 2, 0x40, 0x0100, 0x60, 17, 19, 2, 11, 13, 0x60, 31, 37, 2, 23, 29 -> 0x20, 2, 0x40, 0x0140, 1, 0x20, 0x60, 3, 7, 2, 1, 2, 2, 0x40, 0x0100, 0x60, 17, 19, 2, 11, 13, 0x60, 31, 37, 2, 23, 29 -// gas irOptimized: 309123 +// gas irOptimized: 309068 // test2((uint8[],uint8[2])[][1]): 0x20, 0x20, 1, 0x20, 0x60, 17, 19, 2, 11, 13 -> 0x20, 0x20, 1, 0x20, 0x60, 17, 19, 2, 11, 13 -// gas irOptimized: 118188 +// gas irOptimized: 118167 // test3((uint8[],uint8[2])[1][]): 0x20, 2, 0x40, 0x0120, 0x20, 0x60, 3, 7, 2, 1, 2, 0x20, 0x60, 17, 19, 2, 11, 13 -> 0x20, 2, 0x40, 0x0120, 0x20, 0x60, 3, 7, 2, 1, 2, 0x20, 0x60, 17, 19, 2, 11, 13 -// gas irOptimized: 190997 +// gas irOptimized: 190961 diff --git a/test/libsolidity/semanticTests/array/copying/nested_array_of_structs_storage_to_storage.sol b/test/libsolidity/semanticTests/array/copying/nested_array_of_structs_storage_to_storage.sol index b4ab1cc61e41..64c7f06a57c1 100644 --- a/test/libsolidity/semanticTests/array/copying/nested_array_of_structs_storage_to_storage.sol +++ b/test/libsolidity/semanticTests/array/copying/nested_array_of_structs_storage_to_storage.sol @@ -64,7 +64,7 @@ contract C { // compileViaYul: true // ---- // test1() -// gas irOptimized: 123279 +// gas irOptimized: 123237 // test2() -// gas irOptimized: 123073 +// gas irOptimized: 123043 // test3() diff --git a/test/libsolidity/semanticTests/array/copying/nested_dynamic_array_element_calldata_to_storage.sol b/test/libsolidity/semanticTests/array/copying/nested_dynamic_array_element_calldata_to_storage.sol index c519d11ce933..5b7205553026 100644 --- a/test/libsolidity/semanticTests/array/copying/nested_dynamic_array_element_calldata_to_storage.sol +++ b/test/libsolidity/semanticTests/array/copying/nested_dynamic_array_element_calldata_to_storage.sol @@ -31,7 +31,7 @@ contract C { // compileViaYul: true // ---- // test(uint8[][][]): 0x20, 2, 0x40, 0x60, 0, 2, 0x40, 0x80, 1, 7, 2, 8, 9 -// gas irOptimized: 138083 +// gas irOptimized: 138054 // test2(uint8[][]): 0x20, 2, 0x40, 0x80, 1, 7, 2, 8, 9 -// gas irOptimized: 164290 +// gas irOptimized: 164232 // gas legacyOptimized: 120228 diff --git a/test/libsolidity/semanticTests/array/copying/storage_memory_nested.sol b/test/libsolidity/semanticTests/array/copying/storage_memory_nested.sol index ddcae981f22c..f7a863b46953 100644 --- a/test/libsolidity/semanticTests/array/copying/storage_memory_nested.sol +++ b/test/libsolidity/semanticTests/array/copying/storage_memory_nested.sol @@ -17,6 +17,6 @@ contract C { } // ---- // f() -> 1, 2, 3, 4, 5, 6, 7 -// gas irOptimized: 205985 -// gas legacy: 212313 -// gas legacyOptimized: 211462 +// gas irOptimized: 205974 +// gas legacy: 212237 +// gas legacyOptimized: 211425 diff --git a/test/libsolidity/semanticTests/array/copying/storage_memory_nested_bytes.sol b/test/libsolidity/semanticTests/array/copying/storage_memory_nested_bytes.sol index 550e74a6fad9..2a786301585f 100644 --- a/test/libsolidity/semanticTests/array/copying/storage_memory_nested_bytes.sol +++ b/test/libsolidity/semanticTests/array/copying/storage_memory_nested_bytes.sol @@ -11,6 +11,6 @@ contract C { } // ---- // f() -> 0x20, 0x02, 0x40, 0x80, 3, 0x6162630000000000000000000000000000000000000000000000000000000000, 0x99, 44048183304486788312148433451363384677562265908331949128489393215789685032262, 32241931068525137014058842823026578386641954854143559838526554899205067598957, 49951309422467613961193228765530489307475214998374779756599339590522149884499, 0x54555658595a6162636465666768696a6b6c6d6e6f707172737475767778797a, 0x4142434445464748494a4b4c4d4e4f5051525354555658595a00000000000000 -// gas irOptimized: 202808 -// gas legacy: 204860 -// gas legacyOptimized: 203385 +// gas irOptimized: 202805 +// gas legacy: 204798 +// gas legacyOptimized: 203368 diff --git a/test/libsolidity/semanticTests/array/copying/storage_memory_nested_from_pointer.sol b/test/libsolidity/semanticTests/array/copying/storage_memory_nested_from_pointer.sol index eabcb1666cf3..0f3f7783d478 100644 --- a/test/libsolidity/semanticTests/array/copying/storage_memory_nested_from_pointer.sol +++ b/test/libsolidity/semanticTests/array/copying/storage_memory_nested_from_pointer.sol @@ -18,6 +18,6 @@ contract C { } // ---- // f() -> 1, 2, 3, 4, 5, 6, 7 -// gas irOptimized: 205985 -// gas legacy: 212318 -// gas legacyOptimized: 211467 +// gas irOptimized: 205974 +// gas legacy: 212242 +// gas legacyOptimized: 211430 diff --git a/test/libsolidity/semanticTests/array/copying/storage_memory_nested_struct.sol b/test/libsolidity/semanticTests/array/copying/storage_memory_nested_struct.sol index 46eae913df2e..b40bfacedc7a 100644 --- a/test/libsolidity/semanticTests/array/copying/storage_memory_nested_struct.sol +++ b/test/libsolidity/semanticTests/array/copying/storage_memory_nested_struct.sol @@ -24,6 +24,6 @@ contract C { } // ---- // f() -> 11, 0x0c, 1, 0x15, 22, 4 -// gas irOptimized: 291168 -// gas legacy: 293516 -// gas legacyOptimized: 290263 +// gas irOptimized: 291155 +// gas legacy: 293407 +// gas legacyOptimized: 290218 diff --git a/test/libsolidity/semanticTests/array/copying/storage_memory_packed_dyn.sol b/test/libsolidity/semanticTests/array/copying/storage_memory_packed_dyn.sol index 8fed11241a67..341a4c9d9029 100644 --- a/test/libsolidity/semanticTests/array/copying/storage_memory_packed_dyn.sol +++ b/test/libsolidity/semanticTests/array/copying/storage_memory_packed_dyn.sol @@ -13,6 +13,6 @@ contract C { } // ---- // f() -> 2, 3, 4 -// gas irOptimized: 109838 -// gas legacy: 126350 -// gas legacyOptimized: 120704 +// gas irOptimized: 109804 +// gas legacy: 126129 +// gas legacyOptimized: 120622 diff --git a/test/libsolidity/semanticTests/array/create_memory_array.sol b/test/libsolidity/semanticTests/array/create_memory_array.sol index fbef4ccfaa2a..0d099815bf34 100644 --- a/test/libsolidity/semanticTests/array/create_memory_array.sol +++ b/test/libsolidity/semanticTests/array/create_memory_array.sol @@ -18,6 +18,6 @@ contract C { } // ---- // f() -> "A", 8, 4, "B" -// gas irOptimized: 125828 -// gas legacy: 121398 -// gas legacyOptimized: 115494 +// gas irOptimized: 125827 +// gas legacy: 121382 +// gas legacyOptimized: 115488 diff --git a/test/libsolidity/semanticTests/array/delete/bytes_delete_element.sol b/test/libsolidity/semanticTests/array/delete/bytes_delete_element.sol index 9aadf0db048b..a653db837f08 100644 --- a/test/libsolidity/semanticTests/array/delete/bytes_delete_element.sol +++ b/test/libsolidity/semanticTests/array/delete/bytes_delete_element.sol @@ -16,6 +16,6 @@ contract c { } // ---- // test1() -> true -// gas irOptimized: 206428 -// gas legacy: 254905 -// gas legacyOptimized: 247415 +// gas irOptimized: 206322 +// gas legacy: 254056 +// gas legacyOptimized: 246887 diff --git a/test/libsolidity/semanticTests/array/dynamic_array_cleanup.sol b/test/libsolidity/semanticTests/array/dynamic_array_cleanup.sol index 9d1b02b22d15..13d510f80b2a 100644 --- a/test/libsolidity/semanticTests/array/dynamic_array_cleanup.sol +++ b/test/libsolidity/semanticTests/array/dynamic_array_cleanup.sol @@ -14,9 +14,9 @@ contract c { // ---- // storageEmpty -> 1 // fill() -> -// gas irOptimized: 519361 -// gas legacy: 521584 -// gas legacyOptimized: 517027 +// gas irOptimized: 519276 +// gas legacy: 521414 +// gas legacyOptimized: 516983 // storageEmpty -> 0 // halfClear() -> // gas irOptimized: 113961 diff --git a/test/libsolidity/semanticTests/array/dynamic_arrays_in_storage.sol b/test/libsolidity/semanticTests/array/dynamic_arrays_in_storage.sol index 8ff67048c382..d6e7160be9fc 100644 --- a/test/libsolidity/semanticTests/array/dynamic_arrays_in_storage.sol +++ b/test/libsolidity/semanticTests/array/dynamic_arrays_in_storage.sol @@ -42,9 +42,9 @@ contract c { // ---- // getLengths() -> 0, 0 // setLengths(uint256,uint256): 48, 49 -> -// gas irOptimized: 111448 -// gas legacy: 108571 -// gas legacyOptimized: 100417 +// gas irOptimized: 111301 +// gas legacy: 108273 +// gas legacyOptimized: 100269 // getLengths() -> 48, 49 // setIDStatic(uint256): 11 -> // getID(uint256): 2 -> 11 diff --git a/test/libsolidity/semanticTests/array/dynamic_multi_array_cleanup.sol b/test/libsolidity/semanticTests/array/dynamic_multi_array_cleanup.sol index 90957b0ddc2d..4c5f646951b9 100644 --- a/test/libsolidity/semanticTests/array/dynamic_multi_array_cleanup.sol +++ b/test/libsolidity/semanticTests/array/dynamic_multi_array_cleanup.sol @@ -16,9 +16,9 @@ contract c { // ---- // storageEmpty -> 1 // fill() -> 8 -// gas irOptimized: 123012 -// gas legacy: 121756 -// gas legacyOptimized: 120687 +// gas irOptimized: 122916 +// gas legacy: 121602 +// gas legacyOptimized: 120589 // storageEmpty -> 0 // clear() -> // storageEmpty -> 1 diff --git a/test/libsolidity/semanticTests/array/fixed_array_cleanup.sol b/test/libsolidity/semanticTests/array/fixed_array_cleanup.sol index cb4a14c05171..51f93db7a29b 100644 --- a/test/libsolidity/semanticTests/array/fixed_array_cleanup.sol +++ b/test/libsolidity/semanticTests/array/fixed_array_cleanup.sol @@ -12,9 +12,9 @@ contract c { // ---- // storageEmpty -> 1 // fill() -> -// gas irOptimized: 465345 -// gas legacy: 471280 -// gas legacyOptimized: 467500 +// gas irOptimized: 465324 +// gas legacy: 471178 +// gas legacyOptimized: 467478 // storageEmpty -> 0 // clear() -> // gas irOptimized: 122148 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 4416635b62cb..08a89e00bb81 100644 --- a/test/libsolidity/semanticTests/array/fixed_arrays_as_return_type.sol +++ b/test/libsolidity/semanticTests/array/fixed_arrays_as_return_type.sol @@ -19,6 +19,6 @@ contract B { // ---- // f() -> 2, 3, 4, 5, 6, 1000, 1001, 1002, 1003, 1004 -// gas irOptimized: 116813 -// gas legacy: 234719 -// gas legacyOptimized: 132639 +// gas irOptimized: 115808 +// gas legacy: 229947 +// gas legacyOptimized: 130613 diff --git a/test/libsolidity/semanticTests/array/fixed_arrays_in_constructors.sol b/test/libsolidity/semanticTests/array/fixed_arrays_in_constructors.sol index 2749f0102590..71fec7bda0d1 100644 --- a/test/libsolidity/semanticTests/array/fixed_arrays_in_constructors.sol +++ b/test/libsolidity/semanticTests/array/fixed_arrays_in_constructors.sol @@ -9,8 +9,8 @@ contract Creator { } // ---- // constructor(): 1, 2, 3, 4 -> -// gas irOptimized: 128288 -// gas legacy: 176789 -// gas legacyOptimized: 129585 +// gas irOptimized: 127659 +// gas legacy: 174186 +// gas legacyOptimized: 128709 // r() -> 4 // ch() -> 3 diff --git a/test/libsolidity/semanticTests/array/function_array_cross_calls.sol b/test/libsolidity/semanticTests/array/function_array_cross_calls.sol index 71bd36b9003e..316bb39da8e3 100644 --- a/test/libsolidity/semanticTests/array/function_array_cross_calls.sol +++ b/test/libsolidity/semanticTests/array/function_array_cross_calls.sol @@ -43,6 +43,6 @@ contract C { // ---- // test() -> 5, 6, 7 -// gas irOptimized: 262057 -// gas legacy: 452136 -// gas legacyOptimized: 284945 +// gas irOptimized: 260837 +// gas legacy: 441446 +// gas legacyOptimized: 279259 diff --git a/test/libsolidity/semanticTests/array/invalid_encoding_for_storage_byte_array.sol b/test/libsolidity/semanticTests/array/invalid_encoding_for_storage_byte_array.sol index 0ff2ea5f8910..815c1768c2db 100644 --- a/test/libsolidity/semanticTests/array/invalid_encoding_for_storage_byte_array.sol +++ b/test/libsolidity/semanticTests/array/invalid_encoding_for_storage_byte_array.sol @@ -40,9 +40,9 @@ contract C { // copyFromStorageShort() // x() -> 0x20, 3, 0x6162630000000000000000000000000000000000000000000000000000000000 // copyFromStorageLong() -// gas irOptimized: 121130 -// gas legacy: 121930 -// gas legacyOptimized: 121408 +// gas irOptimized: 121123 +// gas legacy: 121904 +// gas legacyOptimized: 121400 // x() -> 0x20, 0x25, 0x3132333435363738393031323334353637383930313233343536373839303132, 0x3334353637000000000000000000000000000000000000000000000000000000 // copyToStorage() // x() -> 0x20, 0x25, 0x3132333435363738393031323334353637383930313233343536373839303132, 0x3334353637000000000000000000000000000000000000000000000000000000 diff --git a/test/libsolidity/semanticTests/array/pop/array_pop_array_transition.sol b/test/libsolidity/semanticTests/array/pop/array_pop_array_transition.sol index 5292182b9528..7f80f1bd0770 100644 --- a/test/libsolidity/semanticTests/array/pop/array_pop_array_transition.sol +++ b/test/libsolidity/semanticTests/array/pop/array_pop_array_transition.sol @@ -23,7 +23,7 @@ contract c { } // ---- // test() -> 1, 2, 3 -// gas irOptimized: 1828598 -// gas legacy: 1823228 -// gas legacyOptimized: 1813956 +// gas irOptimized: 1828169 +// gas legacy: 1822466 +// gas legacyOptimized: 1813404 // storageEmpty -> 1 diff --git a/test/libsolidity/semanticTests/array/pop/array_pop_uint16_transition.sol b/test/libsolidity/semanticTests/array/pop/array_pop_uint16_transition.sol index 2ef781a703d5..6a657032bb48 100644 --- a/test/libsolidity/semanticTests/array/pop/array_pop_uint16_transition.sol +++ b/test/libsolidity/semanticTests/array/pop/array_pop_uint16_transition.sol @@ -18,7 +18,7 @@ contract c { } // ---- // test() -> 38, 28, 18 -// gas irOptimized: 148520 -// gas legacy: 151594 -// gas legacyOptimized: 142655 +// gas irOptimized: 148168 +// gas legacy: 151184 +// gas legacyOptimized: 142418 // storageEmpty -> 1 diff --git a/test/libsolidity/semanticTests/array/pop/array_pop_uint24_transition.sol b/test/libsolidity/semanticTests/array/pop/array_pop_uint24_transition.sol index a56aef2cd602..1a74ea972295 100644 --- a/test/libsolidity/semanticTests/array/pop/array_pop_uint24_transition.sol +++ b/test/libsolidity/semanticTests/array/pop/array_pop_uint24_transition.sol @@ -18,7 +18,7 @@ contract c { } // ---- // test() -> 20, 10 -// gas irOptimized: 126056 -// gas legacy: 127424 -// gas legacyOptimized: 122350 +// gas irOptimized: 125933 +// gas legacy: 127216 +// gas legacyOptimized: 122224 // storageEmpty -> 1 diff --git a/test/libsolidity/semanticTests/array/pop/byte_array_pop_copy_long.sol b/test/libsolidity/semanticTests/array/pop/byte_array_pop_copy_long.sol index cb917cef0977..3528e4c8180a 100644 --- a/test/libsolidity/semanticTests/array/pop/byte_array_pop_copy_long.sol +++ b/test/libsolidity/semanticTests/array/pop/byte_array_pop_copy_long.sol @@ -11,5 +11,5 @@ contract c { // ---- // test() -> 0x20, 29, 0x0303030303030303030303030303030303030303030303030303030303000000 // gas irOptimized: 109310 -// gas legacy: 101362 +// gas legacy: 101220 // gas legacyOptimized: 123422 diff --git a/test/libsolidity/semanticTests/array/pop/byte_array_pop_long_storage_empty.sol b/test/libsolidity/semanticTests/array/pop/byte_array_pop_long_storage_empty.sol index 0c03436544a5..95a2b012c713 100644 --- a/test/libsolidity/semanticTests/array/pop/byte_array_pop_long_storage_empty.sol +++ b/test/libsolidity/semanticTests/array/pop/byte_array_pop_long_storage_empty.sol @@ -16,7 +16,7 @@ contract c { } // ---- // test() -> true -// gas irOptimized: 140496 -// gas legacy: 179275 -// gas legacyOptimized: 164122 +// gas irOptimized: 140325 +// gas legacy: 178397 +// gas legacyOptimized: 163832 // storageEmpty -> 1 diff --git a/test/libsolidity/semanticTests/array/pop/byte_array_pop_long_storage_empty_garbage_ref.sol b/test/libsolidity/semanticTests/array/pop/byte_array_pop_long_storage_empty_garbage_ref.sol index 7ce41ffffd9b..f6eb8e1270c2 100644 --- a/test/libsolidity/semanticTests/array/pop/byte_array_pop_long_storage_empty_garbage_ref.sol +++ b/test/libsolidity/semanticTests/array/pop/byte_array_pop_long_storage_empty_garbage_ref.sol @@ -15,7 +15,7 @@ contract c { } // ---- // test() -> -// gas irOptimized: 113892 -// gas legacy: 131544 -// gas legacyOptimized: 126811 +// gas irOptimized: 113826 +// gas legacy: 131245 +// gas legacyOptimized: 126668 // storageEmpty -> 1 diff --git a/test/libsolidity/semanticTests/array/pop/byte_array_pop_masking_long.sol b/test/libsolidity/semanticTests/array/pop/byte_array_pop_masking_long.sol index 095109a186cd..6416afb2da74 100644 --- a/test/libsolidity/semanticTests/array/pop/byte_array_pop_masking_long.sol +++ b/test/libsolidity/semanticTests/array/pop/byte_array_pop_masking_long.sol @@ -10,6 +10,6 @@ contract c { // ---- // test() -> 0x20, 33, 0x303030303030303030303030303030303030303030303030303030303030303, 0x0300000000000000000000000000000000000000000000000000000000000000 -// gas irOptimized: 108097 -// gas legacy: 125584 -// gas legacyOptimized: 122560 +// gas irOptimized: 108053 +// gas legacy: 125420 +// gas legacyOptimized: 122472 diff --git a/test/libsolidity/semanticTests/array/push/array_push.sol b/test/libsolidity/semanticTests/array/push/array_push.sol index 18f20c021afd..0dbd7c11bfaf 100644 --- a/test/libsolidity/semanticTests/array/push/array_push.sol +++ b/test/libsolidity/semanticTests/array/push/array_push.sol @@ -16,6 +16,6 @@ contract c { } // ---- // test() -> 5, 4, 3, 3 -// gas irOptimized: 111406 -// gas legacy: 111838 -// gas legacyOptimized: 111128 +// gas irOptimized: 111401 +// gas legacy: 111807 +// gas legacyOptimized: 111122 diff --git a/test/libsolidity/semanticTests/array/push/array_push_nested_from_calldata.sol b/test/libsolidity/semanticTests/array/push/array_push_nested_from_calldata.sol index 63f974498a9d..87616f1f5fc3 100644 --- a/test/libsolidity/semanticTests/array/push/array_push_nested_from_calldata.sol +++ b/test/libsolidity/semanticTests/array/push/array_push_nested_from_calldata.sol @@ -12,6 +12,6 @@ contract C { } // ---- // f(uint120[]): 0x20, 3, 1, 2, 3 -> 1 -// gas irOptimized: 112832 -// gas legacy: 113686 -// gas legacyOptimized: 113499 +// gas irOptimized: 112825 +// gas legacy: 113659 +// gas legacyOptimized: 113482 diff --git a/test/libsolidity/semanticTests/array/push/array_push_struct.sol b/test/libsolidity/semanticTests/array/push/array_push_struct.sol index 04f94b3dbb0d..f7918bbb488f 100644 --- a/test/libsolidity/semanticTests/array/push/array_push_struct.sol +++ b/test/libsolidity/semanticTests/array/push/array_push_struct.sol @@ -20,6 +20,6 @@ contract c { } // ---- // test() -> 2, 3, 4, 5 -// gas irOptimized: 135204 -// gas legacy: 147484 -// gas legacyOptimized: 146456 +// gas irOptimized: 135199 +// gas legacy: 147443 +// gas legacyOptimized: 146434 diff --git a/test/libsolidity/semanticTests/array/push/array_push_struct_from_calldata.sol b/test/libsolidity/semanticTests/array/push/array_push_struct_from_calldata.sol index 9718f303c3d7..91a6a0b372cc 100644 --- a/test/libsolidity/semanticTests/array/push/array_push_struct_from_calldata.sol +++ b/test/libsolidity/semanticTests/array/push/array_push_struct_from_calldata.sol @@ -16,6 +16,6 @@ contract c { } // ---- // test((uint16,uint16,uint16[3],uint16[])): 0x20, 2, 3, 0, 0, 4, 0xC0, 4, 0, 0, 5, 0, 0 -> 2, 3, 4, 5 -// gas irOptimized: 137092 -// gas legacy: 142537 -// gas legacyOptimized: 138023 +// gas irOptimized: 137087 +// gas legacy: 142423 +// gas legacyOptimized: 137993 diff --git a/test/libsolidity/semanticTests/array/push/byte_array_push_transition.sol b/test/libsolidity/semanticTests/array/push/byte_array_push_transition.sol index 119e4ca2890b..08cfe58a3f60 100644 --- a/test/libsolidity/semanticTests/array/push/byte_array_push_transition.sol +++ b/test/libsolidity/semanticTests/array/push/byte_array_push_transition.sol @@ -15,6 +15,6 @@ contract c { } // ---- // test() -> 0 -// gas irOptimized: 173456 -// gas legacy: 216790 -// gas legacyOptimized: 204003 +// gas irOptimized: 173252 +// gas legacy: 215891 +// gas legacyOptimized: 203615 diff --git a/test/libsolidity/semanticTests/array/push/nested_bytes_push.sol b/test/libsolidity/semanticTests/array/push/nested_bytes_push.sol index 71a21820d24a..b2fbbc977bfd 100644 --- a/test/libsolidity/semanticTests/array/push/nested_bytes_push.sol +++ b/test/libsolidity/semanticTests/array/push/nested_bytes_push.sol @@ -13,6 +13,6 @@ contract C { } // ---- // f() -> -// gas irOptimized: 179170 -// gas legacy: 181066 -// gas legacyOptimized: 180435 +// gas irOptimized: 179165 +// gas legacy: 181014 +// gas legacyOptimized: 180413 diff --git a/test/libsolidity/semanticTests/array/push/push_no_args_2d.sol b/test/libsolidity/semanticTests/array/push/push_no_args_2d.sol index 4938e6e45525..4b5a2b89d730 100644 --- a/test/libsolidity/semanticTests/array/push/push_no_args_2d.sol +++ b/test/libsolidity/semanticTests/array/push/push_no_args_2d.sol @@ -27,15 +27,15 @@ contract C { // ---- // l() -> 0 // f(uint256,uint256): 42, 64 -> -// gas irOptimized: 112470 -// gas legacy: 108105 -// gas legacyOptimized: 101987 +// gas irOptimized: 112290 +// gas legacy: 107920 +// gas legacyOptimized: 101897 // l() -> 1 // ll(uint256): 0 -> 43 // a(uint256,uint256): 0, 42 -> 64 // f(uint256,uint256): 84, 128 -> -// gas irOptimized: 119058 -// gas legacy: 110325 +// gas irOptimized: 118710 +// gas legacy: 109972 // gas legacyOptimized: 96331 // l() -> 2 // ll(uint256): 1 -> 85 diff --git a/test/libsolidity/semanticTests/array/push/push_no_args_bytes.sol b/test/libsolidity/semanticTests/array/push/push_no_args_bytes.sol index dae522e57953..8ba57af0208f 100644 --- a/test/libsolidity/semanticTests/array/push/push_no_args_bytes.sol +++ b/test/libsolidity/semanticTests/array/push/push_no_args_bytes.sol @@ -21,9 +21,9 @@ contract C { // ---- // l() -> 0 // g(uint256): 70 -> -// gas irOptimized: 182534 -// gas legacy: 183811 -// gas legacyOptimized: 179218 +// gas irOptimized: 182362 +// gas legacy: 183445 +// gas legacyOptimized: 178995 // l() -> 70 // a(uint256): 69 -> left(69) // f() -> diff --git a/test/libsolidity/semanticTests/array/reusing_memory.sol b/test/libsolidity/semanticTests/array/reusing_memory.sol index d4dafdb73b04..8ade9f2ec9af 100644 --- a/test/libsolidity/semanticTests/array/reusing_memory.sol +++ b/test/libsolidity/semanticTests/array/reusing_memory.sol @@ -24,6 +24,6 @@ contract Main { } // ---- // f(uint256): 0x34 -> 0x46bddb1178e94d7f2892ff5f366840eb658911794f2c3a44c450aa2c505186c1 -// gas irOptimized: 112757 -// gas legacy: 126596 -// gas legacyOptimized: 113823 +// gas irOptimized: 112147 +// gas legacy: 125140 +// gas legacyOptimized: 113000 diff --git a/test/libsolidity/semanticTests/byte_array_to_storage_cleanup.sol b/test/libsolidity/semanticTests/byte_array_to_storage_cleanup.sol index e2d0ba7ac8a2..d76260c9ab0b 100644 --- a/test/libsolidity/semanticTests/byte_array_to_storage_cleanup.sol +++ b/test/libsolidity/semanticTests/byte_array_to_storage_cleanup.sol @@ -28,9 +28,9 @@ contract C { // compileViaYul: also // ---- // constructor() -> -// gas irOptimized: 449704 -// gas legacy: 729908 -// gas legacyOptimized: 493347 +// gas irOptimized: 442746 +// gas legacy: 711299 +// gas legacyOptimized: 481080 // h() -> 0x20, 0x40, 0x00, 0 // ~ emit ev(uint256[],uint256): 0x40, 0x21, 0x02, 0x00, 0x00 // g() -> 0x20, 0x40, 0, 0x00 diff --git a/test/libsolidity/semanticTests/calldata/copy_from_calldata_removes_bytes_data.sol b/test/libsolidity/semanticTests/calldata/copy_from_calldata_removes_bytes_data.sol index 9fc432e8c3aa..8df274158469 100644 --- a/test/libsolidity/semanticTests/calldata/copy_from_calldata_removes_bytes_data.sol +++ b/test/libsolidity/semanticTests/calldata/copy_from_calldata_removes_bytes_data.sol @@ -10,9 +10,9 @@ contract c { // compileToEwasm: false // ---- // (): 1, 2, 3, 4, 5 -> -// gas irOptimized: 155158 -// gas legacy: 155483 -// gas legacyOptimized: 155303 +// gas irOptimized: 155155 +// gas legacy: 155473 +// gas legacyOptimized: 155299 // checkIfDataIsEmpty() -> false // sendMessage() -> true, 0x40, 0 // checkIfDataIsEmpty() -> true diff --git a/test/libsolidity/semanticTests/constructor/arrays_in_constructors.sol b/test/libsolidity/semanticTests/constructor/arrays_in_constructors.sol index 1d311be806ac..22287f40e361 100644 --- a/test/libsolidity/semanticTests/constructor/arrays_in_constructors.sol +++ b/test/libsolidity/semanticTests/constructor/arrays_in_constructors.sol @@ -24,6 +24,6 @@ contract Creator { } // ---- // f(uint256,address[]): 7, 0x40, 10, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 -> 7, 8 -// gas irOptimized: 429680 -// gas legacy: 590683 -// gas legacyOptimized: 448326 +// gas irOptimized: 429076 +// gas legacy: 581281 +// gas legacyOptimized: 444496 diff --git a/test/libsolidity/semanticTests/constructor/bytes_in_constructors_packer.sol b/test/libsolidity/semanticTests/constructor/bytes_in_constructors_packer.sol index 4e3f92c81c77..1c210290ad8b 100644 --- a/test/libsolidity/semanticTests/constructor/bytes_in_constructors_packer.sol +++ b/test/libsolidity/semanticTests/constructor/bytes_in_constructors_packer.sol @@ -24,6 +24,6 @@ contract Creator { } // ---- // f(uint256,bytes): 7, 0x40, 78, "abcdefghijklmnopqrstuvwxyzabcdef", "ghijklmnopqrstuvwxyzabcdefghijkl", "mnopqrstuvwxyz" -> 7, "h" -// gas irOptimized: 279069 -// gas legacy: 427192 -// gas legacyOptimized: 296504 +// gas irOptimized: 278448 +// gas legacy: 418282 +// gas legacyOptimized: 291665 diff --git a/test/libsolidity/semanticTests/constructor/bytes_in_constructors_unpacker.sol b/test/libsolidity/semanticTests/constructor/bytes_in_constructors_unpacker.sol index 905114aba7c6..99260d2efd81 100644 --- a/test/libsolidity/semanticTests/constructor/bytes_in_constructors_unpacker.sol +++ b/test/libsolidity/semanticTests/constructor/bytes_in_constructors_unpacker.sol @@ -8,8 +8,8 @@ contract Test { } // ---- // constructor(): 7, 0x40, 78, "abcdefghijklmnopqrstuvwxyzabcdef", "ghijklmnopqrstuvwxyzabcdefghijkl", "mnopqrstuvwxyz" -> -// gas irOptimized: 270118 -// gas legacy: 315616 -// gas legacyOptimized: 260686 +// gas irOptimized: 269441 +// gas legacy: 311324 +// gas legacyOptimized: 258351 // m_x() -> 7 // m_s() -> 0x20, 78, "abcdefghijklmnopqrstuvwxyzabcdef", "ghijklmnopqrstuvwxyzabcdefghijkl", "mnopqrstuvwxyz" diff --git a/test/libsolidity/semanticTests/constructor/constructor_arguments_external.sol b/test/libsolidity/semanticTests/constructor/constructor_arguments_external.sol index 3f12c4e27b24..4f8ebefeaa20 100644 --- a/test/libsolidity/semanticTests/constructor/constructor_arguments_external.sol +++ b/test/libsolidity/semanticTests/constructor/constructor_arguments_external.sol @@ -17,8 +17,8 @@ contract Main { } // ---- // constructor(): "abc", true -// gas irOptimized: 106546 -// gas legacy: 145838 -// gas legacyOptimized: 104017 +// gas irOptimized: 105906 +// gas legacy: 143300 +// gas legacyOptimized: 102961 // getFlag() -> true // getName() -> "abc" diff --git a/test/libsolidity/semanticTests/constructor/constructor_function_complex.sol b/test/libsolidity/semanticTests/constructor/constructor_function_complex.sol index 220db16d56fc..f9c4a45099ff 100644 --- a/test/libsolidity/semanticTests/constructor/constructor_function_complex.sol +++ b/test/libsolidity/semanticTests/constructor/constructor_function_complex.sol @@ -17,4 +17,4 @@ contract C { } // ---- // f() -> 16 -// gas legacy: 103488 +// gas legacy: 102040 diff --git a/test/libsolidity/semanticTests/constructor/constructor_static_array_argument.sol b/test/libsolidity/semanticTests/constructor/constructor_static_array_argument.sol index 7daf503d4c47..b6242379e75b 100644 --- a/test/libsolidity/semanticTests/constructor/constructor_static_array_argument.sol +++ b/test/libsolidity/semanticTests/constructor/constructor_static_array_argument.sol @@ -10,9 +10,9 @@ contract C { // ---- // constructor(): 1, 2, 3, 4 -> -// gas irOptimized: 172948 -// gas legacy: 221377 -// gas legacyOptimized: 177671 +// gas irOptimized: 172314 +// gas legacy: 218378 +// gas legacyOptimized: 176195 // a() -> 1 // b(uint256): 0 -> 2 // b(uint256): 1 -> 3 diff --git a/test/libsolidity/semanticTests/constructor/no_callvalue_check.sol b/test/libsolidity/semanticTests/constructor/no_callvalue_check.sol index bad890226723..c38404df5c3d 100644 --- a/test/libsolidity/semanticTests/constructor/no_callvalue_check.sol +++ b/test/libsolidity/semanticTests/constructor/no_callvalue_check.sol @@ -17,6 +17,6 @@ contract C { } // ---- // f(), 2000 ether -> true -// gas irOptimized: 120052 -// gas legacy: 123226 -// gas legacyOptimized: 123092 +// gas irOptimized: 119451 +// gas legacy: 122615 +// gas legacyOptimized: 122484 diff --git a/test/libsolidity/semanticTests/constructor_inheritance_init_order.sol b/test/libsolidity/semanticTests/constructor_inheritance_init_order.sol index 4f9984503b2e..6b1b6704afa3 100644 --- a/test/libsolidity/semanticTests/constructor_inheritance_init_order.sol +++ b/test/libsolidity/semanticTests/constructor_inheritance_init_order.sol @@ -15,5 +15,5 @@ contract B is A { // compileViaYul: true // ---- // constructor() -> -// gas irOptimized: 121557 +// gas irOptimized: 120936 // y() -> 42 diff --git a/test/libsolidity/semanticTests/constructor_inheritance_init_order_2.sol b/test/libsolidity/semanticTests/constructor_inheritance_init_order_2.sol index 1f10b6277825..b60564665ded 100644 --- a/test/libsolidity/semanticTests/constructor_inheritance_init_order_2.sol +++ b/test/libsolidity/semanticTests/constructor_inheritance_init_order_2.sol @@ -11,7 +11,7 @@ contract B is A { // compileToEwasm: also // ---- // constructor() -> -// gas irOptimized: 121557 -// gas legacy: 135046 -// gas legacyOptimized: 116176 +// gas irOptimized: 120936 +// gas legacy: 133594 +// gas legacyOptimized: 115341 // y() -> 42 diff --git a/test/libsolidity/semanticTests/constructor_with_params.sol b/test/libsolidity/semanticTests/constructor_with_params.sol index 5304a9b1bd9d..13bdb625bf56 100644 --- a/test/libsolidity/semanticTests/constructor_with_params.sol +++ b/test/libsolidity/semanticTests/constructor_with_params.sol @@ -9,7 +9,7 @@ contract C { } // ---- // constructor(): 2, 0 -> -// gas irOptimized: 103531 -// gas legacy: 117158 +// gas irOptimized: 102902 +// gas legacy: 115678 // i() -> 2 // k() -> 0 diff --git a/test/libsolidity/semanticTests/constructor_with_params_diamond_inheritance.sol b/test/libsolidity/semanticTests/constructor_with_params_diamond_inheritance.sol index 8580d2150624..fc2dd8f7153c 100644 --- a/test/libsolidity/semanticTests/constructor_with_params_diamond_inheritance.sol +++ b/test/libsolidity/semanticTests/constructor_with_params_diamond_inheritance.sol @@ -21,9 +21,9 @@ contract D is B, C { } // ---- // constructor(): 2, 0 -> -// gas irOptimized: 154331 -// gas legacy: 170115 -// gas legacyOptimized: 145429 +// gas irOptimized: 153694 +// gas legacy: 168623 +// gas legacyOptimized: 144577 // i() -> 2 // j() -> 2 // k() -> 1 diff --git a/test/libsolidity/semanticTests/constructor_with_params_inheritance.sol b/test/libsolidity/semanticTests/constructor_with_params_inheritance.sol index d34fb896c644..a0b4c772d66e 100644 --- a/test/libsolidity/semanticTests/constructor_with_params_inheritance.sol +++ b/test/libsolidity/semanticTests/constructor_with_params_inheritance.sol @@ -12,8 +12,8 @@ contract D is C { } // ---- // constructor(): 2, 0 -> -// gas irOptimized: 123966 -// gas legacy: 138700 -// gas legacyOptimized: 119400 +// gas irOptimized: 123317 +// gas legacy: 137193 +// gas legacyOptimized: 118548 // i() -> 2 // k() -> 1 diff --git a/test/libsolidity/semanticTests/events/event_dynamic_array_storage.sol b/test/libsolidity/semanticTests/events/event_dynamic_array_storage.sol index f9f06134feed..057496c6dd00 100644 --- a/test/libsolidity/semanticTests/events/event_dynamic_array_storage.sol +++ b/test/libsolidity/semanticTests/events/event_dynamic_array_storage.sol @@ -13,6 +13,6 @@ contract C { // ---- // createEvent(uint256): 42 -> // ~ emit E(uint256[]): 0x20, 0x03, 0x2a, 0x2b, 0x2c -// gas irOptimized: 113511 -// gas legacy: 116381 -// gas legacyOptimized: 114425 +// gas irOptimized: 113510 +// gas legacy: 116314 +// gas legacyOptimized: 114407 diff --git a/test/libsolidity/semanticTests/events/event_dynamic_array_storage_v2.sol b/test/libsolidity/semanticTests/events/event_dynamic_array_storage_v2.sol index a2862d6897c9..5c5138742a6d 100644 --- a/test/libsolidity/semanticTests/events/event_dynamic_array_storage_v2.sol +++ b/test/libsolidity/semanticTests/events/event_dynamic_array_storage_v2.sol @@ -14,6 +14,6 @@ contract C { // ---- // createEvent(uint256): 42 -> // ~ emit E(uint256[]): 0x20, 0x03, 0x2a, 0x2b, 0x2c -// gas irOptimized: 113511 -// gas legacy: 116381 -// gas legacyOptimized: 114425 +// gas irOptimized: 113510 +// gas legacy: 116314 +// gas legacyOptimized: 114407 diff --git a/test/libsolidity/semanticTests/events/event_dynamic_nested_array_storage_v2.sol b/test/libsolidity/semanticTests/events/event_dynamic_nested_array_storage_v2.sol index 442a5299ad9e..7b9a9400be40 100644 --- a/test/libsolidity/semanticTests/events/event_dynamic_nested_array_storage_v2.sol +++ b/test/libsolidity/semanticTests/events/event_dynamic_nested_array_storage_v2.sol @@ -15,6 +15,6 @@ contract C { // ---- // createEvent(uint256): 42 -> // ~ emit E(uint256[][]): 0x20, 0x02, 0x40, 0xa0, 0x02, 0x2a, 0x2b, 0x02, 0x2c, 0x2d -// gas irOptimized: 185118 -// gas legacy: 187603 -// gas legacyOptimized: 184566 +// gas irOptimized: 185095 +// gas legacy: 187495 +// gas legacyOptimized: 184534 diff --git a/test/libsolidity/semanticTests/events/event_emit_from_other_contract.sol b/test/libsolidity/semanticTests/events/event_emit_from_other_contract.sol index aa5074fa2aa2..8659129a8cfc 100644 --- a/test/libsolidity/semanticTests/events/event_emit_from_other_contract.sol +++ b/test/libsolidity/semanticTests/events/event_emit_from_other_contract.sol @@ -15,8 +15,8 @@ contract C { } // ---- // constructor() -> -// gas irOptimized: 166854 -// gas legacy: 250376 -// gas legacyOptimized: 174522 +// gas irOptimized: 165390 +// gas legacy: 244780 +// gas legacyOptimized: 171605 // deposit(bytes32), 18 wei: 0x1234 -> // ~ emit Deposit(address,bytes32,uint256) from 0x137aa4dfc0911524504fcd4d98501f179bc13b4a: #0xc06afe3a8444fc0004668591e8306bfb9968e79e, #0x1234, 0x00 diff --git a/test/libsolidity/semanticTests/events/event_indexed_string.sol b/test/libsolidity/semanticTests/events/event_indexed_string.sol index aeaf20c75b2f..a6283f274ea1 100644 --- a/test/libsolidity/semanticTests/events/event_indexed_string.sol +++ b/test/libsolidity/semanticTests/events/event_indexed_string.sol @@ -17,6 +17,6 @@ contract C { // ---- // deposit() -> // ~ emit E(string,uint256[4]): #0xa7fb06bb999a5eb9aff9e0779953f4e1e4ce58044936c2f51c7fb879b85c08bd, #0xe755d8cc1a8cde16a2a31160dcd8017ac32d7e2f13215b29a23cdae40a78aa81 -// gas irOptimized: 332396 -// gas legacy: 388679 -// gas legacyOptimized: 374441 +// gas irOptimized: 332157 +// gas legacy: 387608 +// gas legacyOptimized: 373772 diff --git a/test/libsolidity/semanticTests/externalContracts/FixedFeeRegistrar.sol b/test/libsolidity/semanticTests/externalContracts/FixedFeeRegistrar.sol index d281d6f273ac..f2ee4894f167 100644 --- a/test/libsolidity/semanticTests/externalContracts/FixedFeeRegistrar.sol +++ b/test/libsolidity/semanticTests/externalContracts/FixedFeeRegistrar.sol @@ -74,9 +74,9 @@ contract FixedFeeRegistrar is Registrar { } // ---- // constructor() -// gas irOptimized: 415761 -// gas legacy: 933867 -// gas legacyOptimized: 487352 +// gas irOptimized: 413501 +// gas legacy: 913421 +// gas legacyOptimized: 476928 // reserve(string), 69 ether: 0x20, 3, "abc" -> // ~ emit Changed(string): #0x4e03657aea45a94fc7d47ba826c8d667c0d1e6e33a64a036ec44f58fa12d6c45 // gas irOptimized: 45967 diff --git a/test/libsolidity/semanticTests/externalContracts/base64.sol b/test/libsolidity/semanticTests/externalContracts/base64.sol index 37be5e14d022..328b55ec9961 100644 --- a/test/libsolidity/semanticTests/externalContracts/base64.sol +++ b/test/libsolidity/semanticTests/externalContracts/base64.sol @@ -33,9 +33,9 @@ contract test { // EVMVersion: >=constantinople // ---- // constructor() -// gas irOptimized: 414909 -// gas legacy: 750723 -// gas legacyOptimized: 536620 +// gas irOptimized: 409367 +// gas legacy: 737652 +// gas legacyOptimized: 526820 // 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=" @@ -51,10 +51,10 @@ contract test { // encode_no_asm(bytes): 0x20, 5, "fooba" -> 0x20, 8, "Zm9vYmE=" // encode_no_asm(bytes): 0x20, 6, "foobar" -> 0x20, 8, "Zm9vYmFy" // encode_inline_asm_large() -// gas irOptimized: 1374039 -// gas legacy: 1688033 -// gas legacyOptimized: 1205033 +// gas irOptimized: 1373038 +// gas legacy: 1672031 +// gas legacyOptimized: 1199031 // encode_no_asm_large() -// gas irOptimized: 3291100 -// gas legacy: 4765077 -// gas legacyOptimized: 2908077 +// gas irOptimized: 3276098 +// gas legacy: 4705075 +// gas legacyOptimized: 2890075 diff --git a/test/libsolidity/semanticTests/externalContracts/deposit_contract.sol b/test/libsolidity/semanticTests/externalContracts/deposit_contract.sol index 48f7247a66fe..38bb477593fe 100644 --- a/test/libsolidity/semanticTests/externalContracts/deposit_contract.sol +++ b/test/libsolidity/semanticTests/externalContracts/deposit_contract.sol @@ -176,35 +176,35 @@ contract DepositContract is IDepositContract, ERC165 { } // ---- // constructor() -// gas irOptimized: 1419712 -// gas legacy: 2427905 -// gas legacyOptimized: 1773081 +// gas irOptimized: 1415659 +// gas legacy: 2391952 +// gas legacyOptimized: 1752320 // supportsInterface(bytes4): 0x0 -> 0 // supportsInterface(bytes4): 0xffffffff00000000000000000000000000000000000000000000000000000000 -> false # defined to be false by ERC-165 # // supportsInterface(bytes4): 0x01ffc9a700000000000000000000000000000000000000000000000000000000 -> true # ERC-165 id # // supportsInterface(bytes4): 0x8564090700000000000000000000000000000000000000000000000000000000 -> true # the deposit interface id # // get_deposit_root() -> 0xd70a234731285c6804c2a4f56711ddb8c82c99740f207854891028af34e27e5e -// gas irOptimized: 117398 -// gas legacy: 152660 -// gas legacyOptimized: 124659 +// gas irOptimized: 117264 +// gas legacy: 151981 +// gas legacyOptimized: 124447 // get_deposit_count() -> 0x20, 8, 0 # TODO: check balance and logs after each deposit # // deposit(bytes,bytes,bytes,bytes32), 32 ether: 0 -> FAILURE # Empty input # // get_deposit_root() -> 0xd70a234731285c6804c2a4f56711ddb8c82c99740f207854891028af34e27e5e -// gas irOptimized: 117398 -// gas legacy: 152660 -// gas legacyOptimized: 124659 +// gas irOptimized: 117264 +// gas legacy: 151981 +// gas legacyOptimized: 124447 // get_deposit_count() -> 0x20, 8, 0 // deposit(bytes,bytes,bytes,bytes32), 1 ether: 0x80, 0xe0, 0x120, 0xaa4a8d0b7d9077248630f1a4701ae9764e42271d7f22b7838778411857fd349e, 0x30, 0x933ad9491b62059dd065b560d256d8957a8c402cc6e8d8ee7290ae11e8f73292, 0x67a8811c397529dac52ae1342ba58c9500000000000000000000000000000000, 0x20, 0x00f50428677c60f997aadeab24aabf7fceaef491c96a52b463ae91f95611cf71, 0x60, 0xa29d01cc8c6296a8150e515b5995390ef841dc18948aa3e79be6d7c1851b4cbb, 0x5d6ff49fa70b9c782399506a22a85193151b9b691245cebafd2063012443c132, 0x4b6c36debaedefb7b2d71b0503ffdc00150aaffd42e63358238ec888901738b8 -> # txhash: 0x7085c586686d666e8bb6e9477a0f0b09565b2060a11f1c4209d3a52295033832 # // ~ emit DepositEvent(bytes,bytes,bytes,bytes,bytes): 0xa0, 0x0100, 0x0140, 0x0180, 0x0200, 0x30, 0x933ad9491b62059dd065b560d256d8957a8c402cc6e8d8ee7290ae11e8f73292, 0x67a8811c397529dac52ae1342ba58c9500000000000000000000000000000000, 0x20, 0xf50428677c60f997aadeab24aabf7fceaef491c96a52b463ae91f95611cf71, 0x08, 0xca9a3b00000000000000000000000000000000000000000000000000000000, 0x60, 0xa29d01cc8c6296a8150e515b5995390ef841dc18948aa3e79be6d7c1851b4cbb, 0x5d6ff49fa70b9c782399506a22a85193151b9b691245cebafd2063012443c132, 0x4b6c36debaedefb7b2d71b0503ffdc00150aaffd42e63358238ec888901738b8, 0x08, 0x00 // get_deposit_root() -> 0x2089653123d9c721215120b6db6738ba273bbc5228ac093b1f983badcdc8a438 -// gas irOptimized: 117383 -// gas legacy: 152670 -// gas legacyOptimized: 124672 +// gas irOptimized: 117249 +// gas legacy: 151990 +// gas legacyOptimized: 124459 // get_deposit_count() -> 0x20, 8, 0x0100000000000000000000000000000000000000000000000000000000000000 // deposit(bytes,bytes,bytes,bytes32), 32 ether: 0x80, 0xe0, 0x120, 0xdbd986dc85ceb382708cf90a3500f500f0a393c5ece76963ac3ed72eccd2c301, 0x30, 0xb2ce0f79f90e7b3a113ca5783c65756f96c4b4673c2b5c1eb4efc22280259441, 0x06d601211e8866dc5b50dc48a244dd7c00000000000000000000000000000000, 0x20, 0x00344b6c73f71b11c56aba0d01b7d8ad83559f209d0a4101a515f6ad54c89771, 0x60, 0x945caaf82d18e78c033927d51f452ebcd76524497b91d7a11219cb3db6a1d369, 0x7595fc095ce489e46b2ef129591f2f6d079be4faaf345a02c5eb133c072e7c56, 0x0c6c3617eee66b4b878165c502357d49485326bc6b31bc96873f308c8f19c09d -> # txhash: 0x404d8e109822ce448e68f45216c12cb051b784d068fbe98317ab8e50c58304ac # // ~ emit DepositEvent(bytes,bytes,bytes,bytes,bytes): 0xa0, 0x0100, 0x0140, 0x0180, 0x0200, 0x30, 0xb2ce0f79f90e7b3a113ca5783c65756f96c4b4673c2b5c1eb4efc22280259441, 0x06d601211e8866dc5b50dc48a244dd7c00000000000000000000000000000000, 0x20, 0x344b6c73f71b11c56aba0d01b7d8ad83559f209d0a4101a515f6ad54c89771, 0x08, 0x40597307000000000000000000000000000000000000000000000000000000, 0x60, 0x945caaf82d18e78c033927d51f452ebcd76524497b91d7a11219cb3db6a1d369, 0x7595fc095ce489e46b2ef129591f2f6d079be4faaf345a02c5eb133c072e7c56, 0x0c6c3617eee66b4b878165c502357d49485326bc6b31bc96873f308c8f19c09d, 0x08, 0x0100000000000000000000000000000000000000000000000000000000000000 // get_deposit_root() -> 0x40255975859377d912c53aa853245ebd939bdd2b33a28e084babdcc1ed8238ee -// gas irOptimized: 117383 -// gas legacy: 152670 -// gas legacyOptimized: 124672 +// gas irOptimized: 117249 +// gas legacy: 151990 +// gas legacyOptimized: 124459 // get_deposit_count() -> 0x20, 8, 0x0200000000000000000000000000000000000000000000000000000000000000 diff --git a/test/libsolidity/semanticTests/externalContracts/prbmath_signed.sol b/test/libsolidity/semanticTests/externalContracts/prbmath_signed.sol index bf257815affd..7860560f6256 100644 --- a/test/libsolidity/semanticTests/externalContracts/prbmath_signed.sol +++ b/test/libsolidity/semanticTests/externalContracts/prbmath_signed.sol @@ -48,9 +48,9 @@ contract test { } // ---- // constructor() -// gas irOptimized: 1876171 -// gas legacy: 2471603 -// gas legacyOptimized: 1876669 +// gas irOptimized: 1870040 +// gas legacy: 2430726 +// gas legacyOptimized: 1854979 // div(int256,int256): 3141592653589793238, 88714123 -> 35412542528203691288251815328 // gas irOptimized: 22137 // gas legacy: 22767 diff --git a/test/libsolidity/semanticTests/externalContracts/prbmath_unsigned.sol b/test/libsolidity/semanticTests/externalContracts/prbmath_unsigned.sol index 5cea75abec2d..6cda4f1e9831 100644 --- a/test/libsolidity/semanticTests/externalContracts/prbmath_unsigned.sol +++ b/test/libsolidity/semanticTests/externalContracts/prbmath_unsigned.sol @@ -48,9 +48,9 @@ contract test { } // ---- // constructor() -// gas irOptimized: 1735588 -// gas legacy: 2241243 -// gas legacyOptimized: 1748028 +// gas irOptimized: 1731900 +// gas legacy: 2210160 +// gas legacyOptimized: 1734152 // div(uint256,uint256): 3141592653589793238, 88714123 -> 35412542528203691288251815328 // gas irOptimized: 22004 // gas legacy: 22497 diff --git a/test/libsolidity/semanticTests/externalContracts/ramanujan_pi.sol b/test/libsolidity/semanticTests/externalContracts/ramanujan_pi.sol index b4b7054a4fe2..b3ba4496446f 100644 --- a/test/libsolidity/semanticTests/externalContracts/ramanujan_pi.sol +++ b/test/libsolidity/semanticTests/externalContracts/ramanujan_pi.sol @@ -33,10 +33,10 @@ contract test { } // ---- // constructor() -// gas irOptimized: 430305 -// gas legacy: 649335 -// gas legacyOptimized: 473132 +// gas irOptimized: 424583 +// gas legacy: 631753 +// gas legacyOptimized: 459425 // prb_pi() -> 3141592656369545286 // gas irOptimized: 57478 -// gas legacy: 103112 +// gas legacy: 101655 // gas legacyOptimized: 75735 diff --git a/test/libsolidity/semanticTests/externalContracts/snark.sol b/test/libsolidity/semanticTests/externalContracts/snark.sol index bb76542111e6..254befe0142a 100644 --- a/test/libsolidity/semanticTests/externalContracts/snark.sol +++ b/test/libsolidity/semanticTests/externalContracts/snark.sol @@ -294,11 +294,11 @@ contract Test { // f() -> true // g() -> true // pair() -> true -// gas irOptimized: 269938 -// gas legacy: 275952 -// gas legacyOptimized: 267239 +// gas irOptimized: 269918 +// gas legacy: 275678 +// gas legacyOptimized: 267193 // verifyTx() -> true // ~ emit Verified(string): 0x20, 0x16, "Successfully verified." -// gas irOptimized: 783501 -// gas legacy: 805423 -// gas legacyOptimized: 772571 +// gas irOptimized: 783371 +// gas legacy: 804346 +// gas legacyOptimized: 772349 diff --git a/test/libsolidity/semanticTests/externalContracts/strings.sol b/test/libsolidity/semanticTests/externalContracts/strings.sol index a134fe86ab9b..c2ad61557d52 100644 --- a/test/libsolidity/semanticTests/externalContracts/strings.sol +++ b/test/libsolidity/semanticTests/externalContracts/strings.sol @@ -49,9 +49,9 @@ contract test { } // ---- // constructor() -// gas irOptimized: 642624 -// gas legacy: 1096108 -// gas legacyOptimized: 741962 +// gas irOptimized: 636074 +// gas legacy: 1065857 +// gas legacyOptimized: 725207 // toSlice(string): 0x20, 11, "hello world" -> 11, 0xa0 // gas irOptimized: 22660 // gas legacy: 23190 @@ -69,6 +69,6 @@ contract test { // gas legacy: 31621 // gas legacyOptimized: 27914 // benchmark(string,bytes32): 0x40, 0x0842021, 8, "solidity" -> 0x2020 -// gas irOptimized: 1989966 -// gas legacy: 4294552 -// gas legacyOptimized: 2327981 +// gas irOptimized: 1981693 +// gas legacy: 4235651 +// gas legacyOptimized: 2319622 diff --git a/test/libsolidity/semanticTests/freeFunctions/new_operator.sol b/test/libsolidity/semanticTests/freeFunctions/new_operator.sol index 6daaa5407ed6..c98c4e312da0 100644 --- a/test/libsolidity/semanticTests/freeFunctions/new_operator.sol +++ b/test/libsolidity/semanticTests/freeFunctions/new_operator.sol @@ -13,4 +13,4 @@ contract D { } // ---- // f() -> 2 -// gas legacy: 101626 +// gas legacy: 100201 diff --git a/test/libsolidity/semanticTests/functionCall/creation_function_call_no_args.sol b/test/libsolidity/semanticTests/functionCall/creation_function_call_no_args.sol index b6c33fd07dd8..6ae5af9ff0dc 100644 --- a/test/libsolidity/semanticTests/functionCall/creation_function_call_no_args.sol +++ b/test/libsolidity/semanticTests/functionCall/creation_function_call_no_args.sol @@ -11,4 +11,4 @@ contract D { } // ---- // f() -> 2 -// gas legacy: 101599 +// gas legacy: 100175 diff --git a/test/libsolidity/semanticTests/functionCall/creation_function_call_with_args.sol b/test/libsolidity/semanticTests/functionCall/creation_function_call_with_args.sol index c6a556a19f0c..9c9d52fd29fb 100644 --- a/test/libsolidity/semanticTests/functionCall/creation_function_call_with_args.sol +++ b/test/libsolidity/semanticTests/functionCall/creation_function_call_with_args.sol @@ -15,7 +15,7 @@ contract D { } // ---- // constructor(): 2 -> -// gas irOptimized: 195258 -// gas legacy: 245842 -// gas legacyOptimized: 195676 +// gas irOptimized: 193985 +// gas legacy: 241212 +// gas legacyOptimized: 192949 // f() -> 2 diff --git a/test/libsolidity/semanticTests/functionCall/creation_function_call_with_salt.sol b/test/libsolidity/semanticTests/functionCall/creation_function_call_with_salt.sol index 0c81a0bae80b..0255dd9bf9e2 100644 --- a/test/libsolidity/semanticTests/functionCall/creation_function_call_with_salt.sol +++ b/test/libsolidity/semanticTests/functionCall/creation_function_call_with_salt.sol @@ -17,7 +17,7 @@ contract D { // EVMVersion: >=constantinople // ---- // constructor(): 2 -> -// gas irOptimized: 195421 -// gas legacy: 246202 -// gas legacyOptimized: 195914 +// gas irOptimized: 194148 +// gas legacy: 241584 +// gas legacyOptimized: 193181 // f() -> 2 diff --git a/test/libsolidity/semanticTests/functionCall/external_call_to_nonexisting.sol b/test/libsolidity/semanticTests/functionCall/external_call_to_nonexisting.sol index d0c3c4d80575..e8efe09fad0d 100644 --- a/test/libsolidity/semanticTests/functionCall/external_call_to_nonexisting.sol +++ b/test/libsolidity/semanticTests/functionCall/external_call_to_nonexisting.sol @@ -23,9 +23,9 @@ contract C { // ---- // constructor(), 1 ether -> -// gas irOptimized: 266135 -// gas legacy: 454729 -// gas legacyOptimized: 301679 +// gas irOptimized: 265110 +// gas legacy: 441442 +// gas legacyOptimized: 292862 // f(uint256): 0 -> FAILURE // f(uint256): 1 -> FAILURE // f(uint256): 2 -> FAILURE diff --git a/test/libsolidity/semanticTests/functionCall/external_call_to_nonexisting_debugstrings.sol b/test/libsolidity/semanticTests/functionCall/external_call_to_nonexisting_debugstrings.sol index f004d94723af..8fe807e638fe 100644 --- a/test/libsolidity/semanticTests/functionCall/external_call_to_nonexisting_debugstrings.sol +++ b/test/libsolidity/semanticTests/functionCall/external_call_to_nonexisting_debugstrings.sol @@ -26,9 +26,9 @@ contract C { // revertStrings: debug // ---- // constructor(), 1 ether -> -// gas irOptimized: 391081 -// gas legacy: 823681 -// gas legacyOptimized: 505900 +// gas irOptimized: 390464 +// gas legacy: 809985 +// gas legacyOptimized: 498331 // f(uint256): 0 -> FAILURE, hex"08c379a0", 0x20, 37, "Target contract does not contain", " code" // f(uint256): 1 -> FAILURE, hex"08c379a0", 0x20, 37, "Target contract does not contain", " code" // f(uint256): 2 -> FAILURE, hex"08c379a0", 0x20, 37, "Target contract does not contain", " code" diff --git a/test/libsolidity/semanticTests/functionCall/failed_create.sol b/test/libsolidity/semanticTests/functionCall/failed_create.sol index aacaa0e0aa78..ffe7a7f3777b 100644 --- a/test/libsolidity/semanticTests/functionCall/failed_create.sol +++ b/test/libsolidity/semanticTests/functionCall/failed_create.sol @@ -17,17 +17,17 @@ contract C { // EVMVersion: >=byzantium // ---- // constructor(), 20 wei -// gas irOptimized: 179697 -// gas legacy: 294335 -// gas legacyOptimized: 173427 +// gas irOptimized: 177446 +// gas legacy: 285547 +// gas legacyOptimized: 168515 // f(uint256): 20 -> 0x137aa4dfc0911524504fcd4d98501f179bc13b4a // x() -> 1 // f(uint256): 20 -> FAILURE // x() -> 1 // stack(uint256): 1023 -> FAILURE -// gas irOptimized: 260987 -// gas legacy: 483942 -// gas legacyOptimized: 302349 +// gas irOptimized: 259624 +// gas legacy: 477722 +// gas legacyOptimized: 299567 // x() -> 1 // stack(uint256): 10 -> 0x87948bd7ebbe13a00bfd930c93e4828ab18e3908 // x() -> 2 diff --git a/test/libsolidity/semanticTests/functionCall/gas_and_value_basic.sol b/test/libsolidity/semanticTests/functionCall/gas_and_value_basic.sol index 977f1a56a4a6..646536de67eb 100644 --- a/test/libsolidity/semanticTests/functionCall/gas_and_value_basic.sol +++ b/test/libsolidity/semanticTests/functionCall/gas_and_value_basic.sol @@ -39,9 +39,9 @@ contract test { // ---- // constructor(), 20 wei -> -// gas irOptimized: 261698 -// gas legacy: 402654 -// gas legacyOptimized: 274470 +// gas irOptimized: 260040 +// gas legacy: 391566 +// gas legacyOptimized: 268079 // sendAmount(uint256): 5 -> 5 // outOfGas() -> FAILURE # call to helper should not succeed but amount should be transferred anyway # // checkState() -> false, 15 diff --git a/test/libsolidity/semanticTests/functionCall/gas_and_value_brace_syntax.sol b/test/libsolidity/semanticTests/functionCall/gas_and_value_brace_syntax.sol index 48365a61aca2..c4ff3c58cbe5 100644 --- a/test/libsolidity/semanticTests/functionCall/gas_and_value_brace_syntax.sol +++ b/test/libsolidity/semanticTests/functionCall/gas_and_value_brace_syntax.sol @@ -38,9 +38,9 @@ contract test { // ---- // constructor(), 20 wei -> -// gas irOptimized: 261698 -// gas legacy: 402654 -// gas legacyOptimized: 274470 +// gas irOptimized: 260040 +// gas legacy: 391566 +// gas legacyOptimized: 268079 // sendAmount(uint256): 5 -> 5 // outOfGas() -> FAILURE # call to helper should not succeed but amount should be transferred anyway # // checkState() -> false, 15 diff --git a/test/libsolidity/semanticTests/functionCall/mapping_array_internal_argument.sol b/test/libsolidity/semanticTests/functionCall/mapping_array_internal_argument.sol index 99ca5e3f7e6c..bb2221f2c3a1 100644 --- a/test/libsolidity/semanticTests/functionCall/mapping_array_internal_argument.sol +++ b/test/libsolidity/semanticTests/functionCall/mapping_array_internal_argument.sol @@ -18,9 +18,9 @@ contract test { } // ---- // set(uint8,uint8,uint8,uint8,uint8): 1, 21, 22, 42, 43 -> 0, 0, 0, 0 -// gas irOptimized: 111669 -// gas legacy: 113806 -// gas legacyOptimized: 111781 +// gas irOptimized: 111668 +// gas legacy: 113748 +// gas legacyOptimized: 111772 // get(uint8): 1 -> 21, 22, 42, 43 // set(uint8,uint8,uint8,uint8,uint8): 1, 10, 30, 11, 31 -> 21, 22, 42, 43 // get(uint8): 1 -> 10, 30, 11, 31 diff --git a/test/libsolidity/semanticTests/functionCall/send_zero_ether.sol b/test/libsolidity/semanticTests/functionCall/send_zero_ether.sol index 1a120bebadf3..b78951c41abe 100644 --- a/test/libsolidity/semanticTests/functionCall/send_zero_ether.sol +++ b/test/libsolidity/semanticTests/functionCall/send_zero_ether.sol @@ -19,6 +19,6 @@ contract Main { // ---- // constructor(), 20 wei -> // gas irOptimized: 100264 -// gas legacy: 116691 +// gas legacy: 113411 // gas legacyOptimized: 100361 // s() -> true diff --git a/test/libsolidity/semanticTests/functionTypes/store_function.sol b/test/libsolidity/semanticTests/functionTypes/store_function.sol index ba8b65bbc726..43b49c422242 100644 --- a/test/libsolidity/semanticTests/functionTypes/store_function.sol +++ b/test/libsolidity/semanticTests/functionTypes/store_function.sol @@ -27,5 +27,5 @@ contract C { // ---- // t() -> 9 // gas irOptimized: 99064 -// gas legacy: 152137 -// gas legacyOptimized: 107793 +// gas legacy: 149071 +// gas legacyOptimized: 106176 diff --git a/test/libsolidity/semanticTests/immutable/multi_creation.sol b/test/libsolidity/semanticTests/immutable/multi_creation.sol index 88f3ed5eb74b..89dcd75050fc 100644 --- a/test/libsolidity/semanticTests/immutable/multi_creation.sol +++ b/test/libsolidity/semanticTests/immutable/multi_creation.sol @@ -27,8 +27,8 @@ contract C { } // ---- // f() -> 3, 7, 5 -// gas irOptimized: 126044 -// gas legacy: 151334 -// gas legacyOptimized: 125166 +// gas irOptimized: 124829 +// gas legacy: 148500 +// gas legacyOptimized: 123951 // x() -> 7 // y() -> 5 diff --git a/test/libsolidity/semanticTests/immutable/use_scratch.sol b/test/libsolidity/semanticTests/immutable/use_scratch.sol index 364ac525e347..ff10c13aa2b5 100644 --- a/test/libsolidity/semanticTests/immutable/use_scratch.sol +++ b/test/libsolidity/semanticTests/immutable/use_scratch.sol @@ -15,8 +15,8 @@ contract C { } // ---- // constructor(): 3 -> -// gas irOptimized: 125477 -// gas legacy: 202011 -// gas legacyOptimized: 139552 +// gas irOptimized: 124838 +// gas legacy: 197645 +// gas legacyOptimized: 137678 // f() -> 84, 23 // m(uint256): 3 -> 7 diff --git a/test/libsolidity/semanticTests/inheritance/address_overload_resolution.sol b/test/libsolidity/semanticTests/inheritance/address_overload_resolution.sol index fac3a61ad2c6..157b7e10f600 100644 --- a/test/libsolidity/semanticTests/inheritance/address_overload_resolution.sol +++ b/test/libsolidity/semanticTests/inheritance/address_overload_resolution.sol @@ -22,7 +22,7 @@ contract D { // ---- // f() -> 1 // gas irOptimized: 77051 -// gas legacy: 114884 +// gas legacy: 112260 // g() -> 5 // gas irOptimized: 77106 -// gas legacy: 115430 +// gas legacy: 112796 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 cfa124c25773..fbe519849cb8 100644 --- a/test/libsolidity/semanticTests/inheritance/inherited_function_calldata_calldata_interface.sol +++ b/test/libsolidity/semanticTests/inheritance/inherited_function_calldata_calldata_interface.sol @@ -24,4 +24,4 @@ contract B { // ---- // g() -> 42 // gas irOptimized: 80813 -// gas legacy: 125481 +// gas legacy: 122447 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 388a4de42e5b..426cf7b19679 100644 --- a/test/libsolidity/semanticTests/inheritance/inherited_function_calldata_memory_interface.sol +++ b/test/libsolidity/semanticTests/inheritance/inherited_function_calldata_memory_interface.sol @@ -23,6 +23,6 @@ contract B { // ---- // g() -> 42 -// gas irOptimized: 100874 -// gas legacy: 185053 -// gas legacyOptimized: 114598 +// gas irOptimized: 100266 +// gas legacy: 180398 +// gas legacyOptimized: 112576 diff --git a/test/libsolidity/semanticTests/inheritance/member_notation_ctor.sol b/test/libsolidity/semanticTests/inheritance/member_notation_ctor.sol index 44cbb1e141c3..c057164d0d11 100644 --- a/test/libsolidity/semanticTests/inheritance/member_notation_ctor.sol +++ b/test/libsolidity/semanticTests/inheritance/member_notation_ctor.sol @@ -20,6 +20,6 @@ contract A { // ---- // g(int256): -1 -> -1 -// gas legacy: 103494 +// gas legacy: 102064 // g(int256): 10 -> 10 -// gas legacy: 103122 +// gas legacy: 101692 diff --git a/test/libsolidity/semanticTests/inheritance/value_for_constructor.sol b/test/libsolidity/semanticTests/inheritance/value_for_constructor.sol index 8917ad68e044..f905856c5021 100644 --- a/test/libsolidity/semanticTests/inheritance/value_for_constructor.sol +++ b/test/libsolidity/semanticTests/inheritance/value_for_constructor.sol @@ -40,9 +40,9 @@ contract Main { // ---- // constructor(), 22 wei -> -// gas irOptimized: 268544 -// gas legacy: 402045 -// gas legacyOptimized: 266772 +// gas irOptimized: 266864 +// gas legacy: 392744 +// gas legacyOptimized: 261611 // getFlag() -> true // getName() -> "abc" // getBalances() -> 12, 10 diff --git a/test/libsolidity/semanticTests/isoltestTesting/balance_other_contract.sol b/test/libsolidity/semanticTests/isoltestTesting/balance_other_contract.sol index 5013ef4ced0e..1746fd0db6d2 100644 --- a/test/libsolidity/semanticTests/isoltestTesting/balance_other_contract.sol +++ b/test/libsolidity/semanticTests/isoltestTesting/balance_other_contract.sol @@ -16,9 +16,9 @@ contract ClientReceipt { } // ---- // constructor(), 2000 wei -> -// gas irOptimized: 173106 -// gas legacy: 235195 -// gas legacyOptimized: 176766 +// gas irOptimized: 171859 +// gas legacy: 230026 +// gas legacyOptimized: 173877 // balance -> 1500 // gas irOptimized: 191881 // gas legacy: 235167 diff --git a/test/libsolidity/semanticTests/libraries/internal_types_in_library.sol b/test/libsolidity/semanticTests/libraries/internal_types_in_library.sol index 9caaa89b985e..7b4e05b72e02 100644 --- a/test/libsolidity/semanticTests/libraries/internal_types_in_library.sol +++ b/test/libsolidity/semanticTests/libraries/internal_types_in_library.sol @@ -24,6 +24,6 @@ contract Test { // ---- // library: Lib // f() -> 4, 0x11 -// gas irOptimized: 112281 -// gas legacy: 135820 -// gas legacyOptimized: 119448 +// gas irOptimized: 112209 +// gas legacy: 135413 +// gas legacyOptimized: 119325 diff --git a/test/libsolidity/semanticTests/libraries/using_library_mappings_public.sol b/test/libsolidity/semanticTests/libraries/using_library_mappings_public.sol index f4f9405b6cb5..41c700976c7c 100644 --- a/test/libsolidity/semanticTests/libraries/using_library_mappings_public.sol +++ b/test/libsolidity/semanticTests/libraries/using_library_mappings_public.sol @@ -21,6 +21,6 @@ contract Test { // ---- // library: Lib // f() -> 1, 0, 0x2a, 0x17, 0, 0x63 -// gas irOptimized: 119659 -// gas legacy: 124793 -// gas legacyOptimized: 119694 +// gas irOptimized: 119654 +// gas legacy: 124674 +// gas legacyOptimized: 119669 diff --git a/test/libsolidity/semanticTests/libraries/using_library_mappings_return.sol b/test/libsolidity/semanticTests/libraries/using_library_mappings_return.sol index 80e831a4cb19..3ac843eedaae 100644 --- a/test/libsolidity/semanticTests/libraries/using_library_mappings_return.sol +++ b/test/libsolidity/semanticTests/libraries/using_library_mappings_return.sol @@ -19,6 +19,6 @@ contract Test { // ---- // library: Lib // f() -> 1, 0, 0x2a, 0x17, 0, 0x63 -// gas irOptimized: 120270 -// gas legacy: 125245 -// gas legacyOptimized: 120153 +// gas irOptimized: 120265 +// gas legacy: 125109 +// gas legacyOptimized: 120128 diff --git a/test/libsolidity/semanticTests/libraries/using_library_structs.sol b/test/libsolidity/semanticTests/libraries/using_library_structs.sol index 888c9c0486b6..465dcebb1757 100644 --- a/test/libsolidity/semanticTests/libraries/using_library_structs.sol +++ b/test/libsolidity/semanticTests/libraries/using_library_structs.sol @@ -23,4 +23,4 @@ contract Test { // library: Lib // f() -> 7, 8 // gas irOptimized: 101818 -// gas legacy: 101504 +// gas legacy: 101429 diff --git a/test/libsolidity/semanticTests/operators/userDefined/operator_making_pure_external_call.sol b/test/libsolidity/semanticTests/operators/userDefined/operator_making_pure_external_call.sol index 0f95d2cda70c..85de20f70e35 100644 --- a/test/libsolidity/semanticTests/operators/userDefined/operator_making_pure_external_call.sol +++ b/test/libsolidity/semanticTests/operators/userDefined/operator_making_pure_external_call.sol @@ -52,10 +52,10 @@ contract C { } // ---- // testMul(int32,int32): 42, 10 -> 420 -// gas irOptimized: 103347 -// gas legacy: 188203 -// gas legacyOptimized: 126164 +// gas irOptimized: 102545 +// gas legacy: 183939 +// gas legacyOptimized: 123539 // testInc(int32): 42 -> 43 -// gas irOptimized: 103173 -// gas legacy: 187452 -// gas legacyOptimized: 125851 +// gas irOptimized: 102368 +// gas legacy: 183197 +// gas legacyOptimized: 123227 diff --git a/test/libsolidity/semanticTests/operators/userDefined/operator_making_view_external_call.sol b/test/libsolidity/semanticTests/operators/userDefined/operator_making_view_external_call.sol index 1d51576e81fa..904a1cdf8e04 100644 --- a/test/libsolidity/semanticTests/operators/userDefined/operator_making_view_external_call.sol +++ b/test/libsolidity/semanticTests/operators/userDefined/operator_making_view_external_call.sol @@ -58,10 +58,10 @@ contract C { } // ---- // testMul(int32,int32): 42, 10 -> 420 -// gas irOptimized: 103347 -// gas legacy: 188203 -// gas legacyOptimized: 126164 +// gas irOptimized: 102545 +// gas legacy: 183939 +// gas legacyOptimized: 123539 // testInc(int32): 42 -> 43 -// gas irOptimized: 103173 -// gas legacy: 187452 -// gas legacyOptimized: 125851 +// gas irOptimized: 102368 +// gas legacy: 183197 +// gas legacyOptimized: 123227 diff --git a/test/libsolidity/semanticTests/salted_create/prediction_example.sol b/test/libsolidity/semanticTests/salted_create/prediction_example.sol index 1b138bdbb359..7116407b647a 100644 --- a/test/libsolidity/semanticTests/salted_create/prediction_example.sol +++ b/test/libsolidity/semanticTests/salted_create/prediction_example.sol @@ -26,4 +26,4 @@ contract C { // compileViaYul: also // ---- // createDSalted(bytes32,uint256): 42, 64 -> -// gas legacy: 104365 +// gas legacy: 102921 diff --git a/test/libsolidity/semanticTests/salted_create/salted_create.sol b/test/libsolidity/semanticTests/salted_create/salted_create.sol index 80869b5aace2..f241cc2da825 100644 --- a/test/libsolidity/semanticTests/salted_create/salted_create.sol +++ b/test/libsolidity/semanticTests/salted_create/salted_create.sol @@ -21,6 +21,6 @@ contract A { // ---- // different_salt() -> true // same_salt() -> true -// gas irOptimized: 98438900 -// gas legacy: 98439116 -// gas legacyOptimized: 98438970 +// gas irOptimized: 98438897 +// gas legacy: 98439109 +// gas legacyOptimized: 98438966 diff --git a/test/libsolidity/semanticTests/salted_create/salted_create_with_value.sol b/test/libsolidity/semanticTests/salted_create/salted_create_with_value.sol index d51b99b59a73..514b424f6cae 100644 --- a/test/libsolidity/semanticTests/salted_create/salted_create_with_value.sol +++ b/test/libsolidity/semanticTests/salted_create/salted_create_with_value.sol @@ -21,6 +21,6 @@ contract A { // EVMVersion: >=constantinople // ---- // f(), 10 ether -> 3007, 3008, 3009 -// gas irOptimized: 255997 -// gas legacy: 387712 -// gas legacyOptimized: 283266 +// gas irOptimized: 254190 +// gas legacy: 380967 +// gas legacyOptimized: 279640 diff --git a/test/libsolidity/semanticTests/smoke/alignment.sol b/test/libsolidity/semanticTests/smoke/alignment.sol index bdf2ed446fb0..0b603d97e624 100644 --- a/test/libsolidity/semanticTests/smoke/alignment.sol +++ b/test/libsolidity/semanticTests/smoke/alignment.sol @@ -25,5 +25,5 @@ contract D { // stateDecimal() -> right(42) // stateBytes() -> left(0x4200ef) // internalStateDecimal() -> 0x20 -// gas legacy: 101679 +// gas legacy: 100255 // update(bool,uint256,bytes32): false, -23, left(0x2300ef) -> false, -23, left(0x2300ef) diff --git a/test/libsolidity/semanticTests/smoke/constructor.sol b/test/libsolidity/semanticTests/smoke/constructor.sol index b834f8018a30..eb1d73a448ed 100644 --- a/test/libsolidity/semanticTests/smoke/constructor.sol +++ b/test/libsolidity/semanticTests/smoke/constructor.sol @@ -12,9 +12,9 @@ contract C { } // ---- // constructor(), 2 wei: 3 -> -// gas irOptimized: 107003 -// gas legacy: 151416 -// gas legacyOptimized: 108388 +// gas irOptimized: 106374 +// gas legacy: 148308 +// gas legacyOptimized: 106727 // state() -> 3 // balance() -> 2 // balance -> 2 diff --git a/test/libsolidity/semanticTests/state/blockhash_basic.sol b/test/libsolidity/semanticTests/state/blockhash_basic.sol index f6830a202f56..62138a9b2863 100644 --- a/test/libsolidity/semanticTests/state/blockhash_basic.sol +++ b/test/libsolidity/semanticTests/state/blockhash_basic.sol @@ -12,9 +12,9 @@ contract C { } // ---- // constructor() -// gas irOptimized: 110504 -// gas legacy: 155081 -// gas legacyOptimized: 107997 +// gas irOptimized: 109878 +// gas legacy: 152179 +// gas legacyOptimized: 106750 // genesisHash() -> 0x3737373737373737373737373737373737373737373737373737373737373737 // currentHash() -> 0 // f(uint256): 0 -> 0x3737373737373737373737373737373737373737373737373737373737373737 diff --git a/test/libsolidity/semanticTests/storage/empty_nonempty_empty.sol b/test/libsolidity/semanticTests/storage/empty_nonempty_empty.sol index 7341b85c6b0c..20755a0694c7 100644 --- a/test/libsolidity/semanticTests/storage/empty_nonempty_empty.sol +++ b/test/libsolidity/semanticTests/storage/empty_nonempty_empty.sol @@ -22,9 +22,9 @@ contract Test { // set(bytes): 0x20, 0 // storageEmpty -> 1 // set(bytes): 0x20, 66, "12345678901234567890123456789012", "12345678901234567890123456789012", "12" -// gas irOptimized: 111897 -// gas legacy: 112756 -// gas legacyOptimized: 112116 +// gas irOptimized: 111895 +// gas legacy: 112734 +// gas legacyOptimized: 112110 // storageEmpty -> 0 // set(bytes): 0x20, 3, "abc" // storageEmpty -> 0 diff --git a/test/libsolidity/semanticTests/storage/packed_storage_structs_bytes.sol b/test/libsolidity/semanticTests/storage/packed_storage_structs_bytes.sol index a2f7ba1d8d8e..a3131d564f2a 100644 --- a/test/libsolidity/semanticTests/storage/packed_storage_structs_bytes.sol +++ b/test/libsolidity/semanticTests/storage/packed_storage_structs_bytes.sol @@ -45,6 +45,6 @@ contract C { // compileToEwasm: also // ---- // test() -> true -// gas irOptimized: 132506 -// gas legacy: 136036 -// gas legacyOptimized: 133480 +// gas irOptimized: 132505 +// gas legacy: 136009 +// gas legacyOptimized: 133478 diff --git a/test/libsolidity/semanticTests/structs/calldata/calldata_struct_with_nested_array_to_storage.sol b/test/libsolidity/semanticTests/structs/calldata/calldata_struct_with_nested_array_to_storage.sol index 1f698719926f..0bcc74b6ba54 100644 --- a/test/libsolidity/semanticTests/structs/calldata/calldata_struct_with_nested_array_to_storage.sol +++ b/test/libsolidity/semanticTests/structs/calldata/calldata_struct_with_nested_array_to_storage.sol @@ -16,6 +16,6 @@ contract C { } // ---- // f(uint32,(uint128,uint256[][2],uint32)): 55, 0x40, 77, 0x60, 88, 0x40, 0x40, 2, 1, 2 -> 55, 77, 1, 2, 88 -// gas irOptimized: 202838 -// gas legacy: 207487 -// gas legacyOptimized: 203611 +// gas irOptimized: 202829 +// gas legacy: 207384 +// gas legacyOptimized: 203584 diff --git a/test/libsolidity/semanticTests/structs/conversion/recursive_storage_memory.sol b/test/libsolidity/semanticTests/structs/conversion/recursive_storage_memory.sol index 3d062fc95aae..52ad00649bec 100644 --- a/test/libsolidity/semanticTests/structs/conversion/recursive_storage_memory.sol +++ b/test/libsolidity/semanticTests/structs/conversion/recursive_storage_memory.sol @@ -23,6 +23,6 @@ contract CopyTest { } // ---- // run() -> 2, 23, 42 -// gas irOptimized: 193756 -// gas legacy: 186016 -// gas legacyOptimized: 184668 +// gas irOptimized: 193687 +// gas legacy: 185731 +// gas legacyOptimized: 184458 diff --git a/test/libsolidity/semanticTests/structs/copy_from_mapping.sol b/test/libsolidity/semanticTests/structs/copy_from_mapping.sol index 5057b0efab73..9aa41a34255b 100644 --- a/test/libsolidity/semanticTests/structs/copy_from_mapping.sol +++ b/test/libsolidity/semanticTests/structs/copy_from_mapping.sol @@ -37,8 +37,8 @@ contract C { // ---- // to_state() -> 0x20, 0x60, 0xa0, 7, 3, 0x666F6F0000000000000000000000000000000000000000000000000000000000, 2, 13, 14 -// gas irOptimized: 121513 -// gas legacy: 123120 -// gas legacyOptimized: 121776 +// gas irOptimized: 121497 +// gas legacy: 123069 +// gas legacyOptimized: 121758 // to_storage() -> 0x20, 0x60, 0xa0, 7, 3, 0x666F6F0000000000000000000000000000000000000000000000000000000000, 2, 13, 14 // to_memory() -> 0x20, 0x60, 0xa0, 7, 3, 0x666F6F0000000000000000000000000000000000000000000000000000000000, 2, 13, 14 diff --git a/test/libsolidity/semanticTests/structs/copy_struct_array_from_storage.sol b/test/libsolidity/semanticTests/structs/copy_struct_array_from_storage.sol index ba890a4ae09b..aed54f98b6ac 100644 --- a/test/libsolidity/semanticTests/structs/copy_struct_array_from_storage.sol +++ b/test/libsolidity/semanticTests/structs/copy_struct_array_from_storage.sol @@ -87,9 +87,9 @@ contract Test { // EVMVersion: >homestead // ---- // test1() -> true -// gas irOptimized: 152963 -// gas legacy: 153066 -// gas legacyOptimized: 152675 +// gas irOptimized: 152954 +// gas legacy: 153012 +// gas legacyOptimized: 152637 // test2() -> true // test3() -> true // test4() -> true diff --git a/test/libsolidity/semanticTests/structs/copy_substructures_from_mapping.sol b/test/libsolidity/semanticTests/structs/copy_substructures_from_mapping.sol index e91fa839e772..29618bb044b6 100644 --- a/test/libsolidity/semanticTests/structs/copy_substructures_from_mapping.sol +++ b/test/libsolidity/semanticTests/structs/copy_substructures_from_mapping.sol @@ -45,8 +45,8 @@ contract C { // ---- // to_state() -> 0x20, 0x60, 0xa0, 7, 3, 0x666F6F0000000000000000000000000000000000000000000000000000000000, 2, 13, 14 -// gas irOptimized: 121616 -// gas legacy: 123263 -// gas legacyOptimized: 121785 +// gas irOptimized: 121598 +// gas legacy: 123208 +// gas legacyOptimized: 121765 // to_storage() -> 0x20, 0x60, 0xa0, 7, 3, 0x666F6F0000000000000000000000000000000000000000000000000000000000, 2, 13, 14 // to_memory() -> 0x20, 0x60, 0xa0, 7, 3, 0x666F6F0000000000000000000000000000000000000000000000000000000000, 2, 13, 14 diff --git a/test/libsolidity/semanticTests/structs/copy_substructures_to_mapping.sol b/test/libsolidity/semanticTests/structs/copy_substructures_to_mapping.sol index aecde10dce6e..ec989b508ef6 100644 --- a/test/libsolidity/semanticTests/structs/copy_substructures_to_mapping.sol +++ b/test/libsolidity/semanticTests/structs/copy_substructures_to_mapping.sol @@ -53,14 +53,14 @@ contract C { // ---- // from_memory() -> 0x20, 0x60, 0xa0, 0x15, 3, 0x666F6F0000000000000000000000000000000000000000000000000000000000, 2, 13, 14 -// gas irOptimized: 123041 -// gas legacy: 130289 -// gas legacyOptimized: 128785 +// gas irOptimized: 123029 +// gas legacy: 130227 +// gas legacyOptimized: 128762 // from_state() -> 0x20, 0x60, 0xa0, 21, 3, 0x666F6F0000000000000000000000000000000000000000000000000000000000, 2, 13, 14 -// gas irOptimized: 121737 -// gas legacy: 123341 -// gas legacyOptimized: 121892 +// gas irOptimized: 121721 +// gas legacy: 123282 +// gas legacyOptimized: 121870 // from_calldata((bytes,uint16[],uint16)): 0x20, 0x60, 0xa0, 21, 3, 0x666F6F0000000000000000000000000000000000000000000000000000000000, 2, 13, 14 -> 0x20, 0x60, 0xa0, 0x15, 3, 0x666F6F0000000000000000000000000000000000000000000000000000000000, 2, 13, 14 -// gas irOptimized: 115127 -// gas legacy: 122579 -// gas legacyOptimized: 120829 +// gas irOptimized: 115116 +// gas legacy: 122516 +// gas legacyOptimized: 120806 diff --git a/test/libsolidity/semanticTests/structs/copy_to_mapping.sol b/test/libsolidity/semanticTests/structs/copy_to_mapping.sol index e575fb8f13f8..e5c02001fe13 100644 --- a/test/libsolidity/semanticTests/structs/copy_to_mapping.sol +++ b/test/libsolidity/semanticTests/structs/copy_to_mapping.sol @@ -46,18 +46,18 @@ contract C { // ---- // from_state() -> 0x20, 0x60, 0xa0, 21, 3, 0x666F6F0000000000000000000000000000000000000000000000000000000000, 2, 13, 14 -// gas irOptimized: 121709 -// gas legacy: 123198 -// gas legacyOptimized: 121830 +// gas irOptimized: 121693 +// gas legacy: 123144 +// gas legacyOptimized: 121811 // from_storage() -> 0x20, 0x60, 0xa0, 21, 3, 0x666F6F0000000000000000000000000000000000000000000000000000000000, 2, 13, 14 -// gas irOptimized: 121753 -// gas legacy: 123247 -// gas legacyOptimized: 121882 +// gas irOptimized: 121737 +// gas legacy: 123193 +// gas legacyOptimized: 121863 // from_memory() -> 0x20, 0x60, 0xa0, 21, 3, 0x666F6F0000000000000000000000000000000000000000000000000000000000, 2, 13, 14 -// gas irOptimized: 122954 -// gas legacy: 130146 -// gas legacyOptimized: 128779 +// gas irOptimized: 122942 +// gas legacy: 130088 +// gas legacyOptimized: 128757 // from_calldata((bytes,uint16[],uint16)): 0x20, 0x60, 0xa0, 21, 3, 0x666F6F0000000000000000000000000000000000000000000000000000000000, 2, 13, 14 -> 0x20, 0x60, 0xa0, 21, 3, 0x666f6f0000000000000000000000000000000000000000000000000000000000, 2, 13, 14 -// gas irOptimized: 115067 -// gas legacy: 118383 -// gas legacyOptimized: 115458 +// gas irOptimized: 115056 +// gas legacy: 118301 +// gas legacyOptimized: 115435 diff --git a/test/libsolidity/semanticTests/structs/memory_structs_nested_load.sol b/test/libsolidity/semanticTests/structs/memory_structs_nested_load.sol index 9d157d70eb24..12b514a23c6a 100644 --- a/test/libsolidity/semanticTests/structs/memory_structs_nested_load.sol +++ b/test/libsolidity/semanticTests/structs/memory_structs_nested_load.sol @@ -68,7 +68,7 @@ contract Test { // compileToEwasm: also // ---- // load() -> 0x01, 0x02, 0x03, 0x04, 0x05, 0x06 -// gas irOptimized: 110327 -// gas legacy: 112999 -// gas legacyOptimized: 110881 +// gas irOptimized: 110326 +// gas legacy: 112964 +// gas legacyOptimized: 110876 // store() -> 0x01, 0x02, 0x03, 0x04, 0x05, 0x06 diff --git a/test/libsolidity/semanticTests/structs/struct_containing_bytes_copy_and_delete.sol b/test/libsolidity/semanticTests/structs/struct_containing_bytes_copy_and_delete.sol index 48a4f08e0167..4a64f08136b6 100644 --- a/test/libsolidity/semanticTests/structs/struct_containing_bytes_copy_and_delete.sol +++ b/test/libsolidity/semanticTests/structs/struct_containing_bytes_copy_and_delete.sol @@ -23,17 +23,17 @@ contract c { // ---- // storageEmpty -> 1 // set(uint256,bytes,uint256): 12, 0x60, 13, 33, "12345678901234567890123456789012", "3" -> true -// gas irOptimized: 133599 -// gas legacy: 134654 -// gas legacyOptimized: 133882 +// gas irOptimized: 133596 +// gas legacy: 134628 +// gas legacyOptimized: 133875 // test(uint256): 32 -> "3" // storageEmpty -> 0 // copy() -> true // storageEmpty -> 1 // set(uint256,bytes,uint256): 12, 0x60, 13, 33, "12345678901234567890123456789012", "3" -> true -// gas irOptimized: 133599 -// gas legacy: 134654 -// gas legacyOptimized: 133882 +// gas irOptimized: 133596 +// gas legacy: 134628 +// gas legacyOptimized: 133875 // storageEmpty -> 0 // del() -> true // storageEmpty -> 1 diff --git a/test/libsolidity/semanticTests/structs/struct_copy.sol b/test/libsolidity/semanticTests/structs/struct_copy.sol index e5960ce1ed02..956416a967e6 100644 --- a/test/libsolidity/semanticTests/structs/struct_copy.sol +++ b/test/libsolidity/semanticTests/structs/struct_copy.sol @@ -36,14 +36,14 @@ contract c { // ---- // set(uint256): 7 -> true -// gas irOptimized: 109897 -// gas legacy: 110616 -// gas legacyOptimized: 110006 +// gas irOptimized: 109896 +// gas legacy: 110597 +// gas legacyOptimized: 110003 // retrieve(uint256): 7 -> 1, 3, 4, 2 // copy(uint256,uint256): 7, 8 -> true -// gas irOptimized: 118594 -// gas legacy: 119166 -// gas legacyOptimized: 118622 +// gas irOptimized: 118593 +// gas legacy: 119147 +// gas legacyOptimized: 118619 // retrieve(uint256): 7 -> 1, 3, 4, 2 // retrieve(uint256): 8 -> 1, 3, 4, 2 // copy(uint256,uint256): 0, 7 -> true diff --git a/test/libsolidity/semanticTests/structs/struct_copy_via_local.sol b/test/libsolidity/semanticTests/structs/struct_copy_via_local.sol index d33b8fd02f8d..53d1ca93a9d7 100644 --- a/test/libsolidity/semanticTests/structs/struct_copy_via_local.sol +++ b/test/libsolidity/semanticTests/structs/struct_copy_via_local.sol @@ -20,6 +20,6 @@ contract c { // compileToEwasm: also // ---- // test() -> true -// gas irOptimized: 109714 -// gas legacy: 110627 -// gas legacyOptimized: 109706 +// gas irOptimized: 109713 +// gas legacy: 110615 +// gas legacyOptimized: 109705 diff --git a/test/libsolidity/semanticTests/structs/struct_delete_storage_with_array.sol b/test/libsolidity/semanticTests/structs/struct_delete_storage_with_array.sol index d2300d4937bf..7ec85c929d65 100644 --- a/test/libsolidity/semanticTests/structs/struct_delete_storage_with_array.sol +++ b/test/libsolidity/semanticTests/structs/struct_delete_storage_with_array.sol @@ -42,10 +42,10 @@ contract C { } // ---- // f() -> -// gas irOptimized: 113246 -// gas legacy: 113626 -// gas legacyOptimized: 113120 +// gas irOptimized: 113232 +// gas legacy: 113591 +// gas legacyOptimized: 113103 // g() -> -// gas irOptimized: 118618 -// gas legacy: 118806 -// gas legacyOptimized: 118192 +// gas irOptimized: 118604 +// gas legacy: 118764 +// gas legacyOptimized: 118172 diff --git a/test/libsolidity/semanticTests/structs/struct_memory_to_storage_function_ptr.sol b/test/libsolidity/semanticTests/structs/struct_memory_to_storage_function_ptr.sol index e2821a5a6b03..46094d3766d6 100644 --- a/test/libsolidity/semanticTests/structs/struct_memory_to_storage_function_ptr.sol +++ b/test/libsolidity/semanticTests/structs/struct_memory_to_storage_function_ptr.sol @@ -31,6 +31,6 @@ contract C { // compileToEwasm: also // ---- // f() -> 42, 23, 34, 42, 42 -// gas irOptimized: 110389 -// gas legacy: 112021 -// gas legacyOptimized: 110548 +// gas irOptimized: 110388 +// gas legacy: 111993 +// gas legacyOptimized: 110546 diff --git a/test/libsolidity/semanticTests/structs/structs.sol b/test/libsolidity/semanticTests/structs/structs.sol index ada5534ca5af..61456cd7e30a 100644 --- a/test/libsolidity/semanticTests/structs/structs.sol +++ b/test/libsolidity/semanticTests/structs/structs.sol @@ -30,7 +30,7 @@ contract test { // ---- // check() -> false // set() -> -// gas irOptimized: 134436 -// gas legacy: 135277 -// gas legacyOptimized: 134064 +// gas irOptimized: 134435 +// gas legacy: 135246 +// gas legacyOptimized: 134062 // check() -> true diff --git a/test/libsolidity/semanticTests/types/mapping/copy_from_mapping_to_mapping.sol b/test/libsolidity/semanticTests/types/mapping/copy_from_mapping_to_mapping.sol index 4315095ac835..daf5d000c864 100644 --- a/test/libsolidity/semanticTests/types/mapping/copy_from_mapping_to_mapping.sol +++ b/test/libsolidity/semanticTests/types/mapping/copy_from_mapping_to_mapping.sol @@ -30,6 +30,6 @@ contract C { // ---- // f() -> 0x20, 7, 8, 9, 0xa0, 13, 2, 0x40, 0xa0, 2, 3, 4, 2, 3, 4 -// gas irOptimized: 197113 -// gas legacy: 199986 -// gas legacyOptimized: 196847 +// gas irOptimized: 197082 +// gas legacy: 199891 +// gas legacyOptimized: 196817 diff --git a/test/libsolidity/semanticTests/userDefinedValueType/calldata.sol b/test/libsolidity/semanticTests/userDefinedValueType/calldata.sol index b2acbb01f647..1e58c9b037cf 100644 --- a/test/libsolidity/semanticTests/userDefinedValueType/calldata.sol +++ b/test/libsolidity/semanticTests/userDefinedValueType/calldata.sol @@ -49,13 +49,13 @@ contract C { } // ---- // test_f() -> true -// gas irOptimized: 122510 -// gas legacy: 126150 -// gas legacyOptimized: 123163 +// gas irOptimized: 122489 +// gas legacy: 126030 +// gas legacyOptimized: 123120 // test_g() -> true -// gas irOptimized: 106903 -// gas legacy: 112481 -// gas legacyOptimized: 107706 +// gas irOptimized: 106871 +// gas legacy: 112300 +// gas legacyOptimized: 107649 // addresses(uint256): 0 -> 0x18 // addresses(uint256): 1 -> 0x19 // addresses(uint256): 3 -> 0x1b diff --git a/test/libsolidity/semanticTests/userDefinedValueType/erc20.sol b/test/libsolidity/semanticTests/userDefinedValueType/erc20.sol index 64724983a1fa..31e754a9b7b1 100644 --- a/test/libsolidity/semanticTests/userDefinedValueType/erc20.sol +++ b/test/libsolidity/semanticTests/userDefinedValueType/erc20.sol @@ -113,9 +113,9 @@ contract ERC20 { // ---- // constructor() // ~ emit Transfer(address,address,uint256): #0x00, #0x1212121212121212121212121212120000000012, 0x14 -// gas irOptimized: 362054 -// gas legacy: 852825 -// gas legacyOptimized: 418837 +// gas irOptimized: 360201 +// gas legacy: 834932 +// gas legacyOptimized: 412648 // totalSupply() -> 20 // gas irOptimized: 23415 // gas legacy: 23653 diff --git a/test/libsolidity/semanticTests/using/using_global_invisible.sol b/test/libsolidity/semanticTests/using/using_global_invisible.sol index 8db7a9a05d00..296370a7f4a1 100644 --- a/test/libsolidity/semanticTests/using/using_global_invisible.sol +++ b/test/libsolidity/semanticTests/using/using_global_invisible.sol @@ -40,4 +40,4 @@ contract D { // ---- // library: "A":L // test() -> 3 -// gas legacy: 123521 +// gas legacy: 120859 diff --git a/test/libsolidity/semanticTests/various/address_code.sol b/test/libsolidity/semanticTests/various/address_code.sol index 8dcdd13e7c13..b944100b96f1 100644 --- a/test/libsolidity/semanticTests/various/address_code.sol +++ b/test/libsolidity/semanticTests/various/address_code.sol @@ -16,9 +16,9 @@ contract C { // compileToEwasm: also // ---- // constructor() -> -// gas irOptimized: 175791 -// gas legacy: 247263 -// gas legacyOptimized: 155977 +// gas irOptimized: 175145 +// gas legacy: 241796 +// gas legacyOptimized: 153411 // initCode() -> 0x20, 0 // f() -> true // g() -> 0 diff --git a/test/libsolidity/semanticTests/various/code_access_content.sol b/test/libsolidity/semanticTests/various/code_access_content.sol index 5ed7db5a376f..9ce796ad00a6 100644 --- a/test/libsolidity/semanticTests/various/code_access_content.sol +++ b/test/libsolidity/semanticTests/various/code_access_content.sol @@ -38,6 +38,6 @@ contract C { } // ---- // testRuntime() -> true -// gas legacy: 101579 +// gas legacy: 100165 // testCreation() -> true -// gas legacy: 102009 +// gas legacy: 100588 diff --git a/test/libsolidity/semanticTests/various/code_access_create.sol b/test/libsolidity/semanticTests/various/code_access_create.sol index ae3825651983..d6c4f9802b75 100644 --- a/test/libsolidity/semanticTests/various/code_access_create.sol +++ b/test/libsolidity/semanticTests/various/code_access_create.sol @@ -24,4 +24,4 @@ contract C { // ---- // test() -> 7 -// gas legacy: 102264 +// gas legacy: 100839 diff --git a/test/libsolidity/semanticTests/various/code_access_runtime.sol b/test/libsolidity/semanticTests/various/code_access_runtime.sol index 588ed3ac520c..701218ae6e05 100644 --- a/test/libsolidity/semanticTests/various/code_access_runtime.sol +++ b/test/libsolidity/semanticTests/various/code_access_runtime.sol @@ -24,4 +24,4 @@ contract C { // EVMVersion: >=constantinople // ---- // test() -> 42 -// gas legacy: 101638 +// gas legacy: 100225 diff --git a/test/libsolidity/semanticTests/various/code_length.sol b/test/libsolidity/semanticTests/various/code_length.sol index 0e17ae2a29b4..84fd393bd721 100644 --- a/test/libsolidity/semanticTests/various/code_length.sol +++ b/test/libsolidity/semanticTests/various/code_length.sol @@ -61,5 +61,5 @@ contract C { // compileToEwasm: also // ---- // constructor() -// gas legacy: 126455 +// gas legacy: 124168 // f(): true, true -> true, true diff --git a/test/libsolidity/semanticTests/various/create_calldata.sol b/test/libsolidity/semanticTests/various/create_calldata.sol index c67e8434a3d9..fc4e885ff12a 100644 --- a/test/libsolidity/semanticTests/various/create_calldata.sol +++ b/test/libsolidity/semanticTests/various/create_calldata.sol @@ -8,7 +8,7 @@ contract C { } // ---- // constructor(): 42 -> -// gas irOptimized: 147541 -// gas legacy: 177488 -// gas legacyOptimized: 140089 +// gas irOptimized: 146699 +// gas legacy: 173845 +// gas legacyOptimized: 137736 // s() -> 0x20, 0 diff --git a/test/libsolidity/semanticTests/various/destructuring_assignment.sol b/test/libsolidity/semanticTests/various/destructuring_assignment.sol index 59b468fce2b1..e2c8c52638b7 100644 --- a/test/libsolidity/semanticTests/various/destructuring_assignment.sol +++ b/test/libsolidity/semanticTests/various/destructuring_assignment.sol @@ -34,6 +34,6 @@ contract C { // ---- // f(bytes): 0x20, 0x5, "abcde" -> 0 -// gas irOptimized: 241872 -// gas legacy: 243341 -// gas legacyOptimized: 242454 +// gas irOptimized: 241853 +// gas legacy: 243284 +// gas legacyOptimized: 242421 diff --git a/test/libsolidity/semanticTests/various/erc20.sol b/test/libsolidity/semanticTests/various/erc20.sol index 236ebbce5663..47f4005e3880 100644 --- a/test/libsolidity/semanticTests/various/erc20.sol +++ b/test/libsolidity/semanticTests/various/erc20.sol @@ -96,9 +96,9 @@ contract ERC20 { // ---- // constructor() // ~ emit Transfer(address,address,uint256): #0x00, #0x1212121212121212121212121212120000000012, 0x14 -// gas irOptimized: 357746 -// gas legacy: 824737 -// gas legacyOptimized: 414462 +// gas irOptimized: 355485 +// gas legacy: 807683 +// gas legacyOptimized: 408718 // totalSupply() -> 20 // gas irOptimized: 23415 // gas legacy: 23524 diff --git a/test/libsolidity/semanticTests/various/external_types_in_calls.sol b/test/libsolidity/semanticTests/various/external_types_in_calls.sol index 55c201513c56..8b88d03bc13b 100644 --- a/test/libsolidity/semanticTests/various/external_types_in_calls.sol +++ b/test/libsolidity/semanticTests/various/external_types_in_calls.sol @@ -25,5 +25,5 @@ contract C { // ---- // test() -> 9, 7 -// gas legacy: 129760 +// gas legacy: 127478 // t2() -> 9 diff --git a/test/libsolidity/semanticTests/various/negative_stack_height.sol b/test/libsolidity/semanticTests/various/negative_stack_height.sol index 52fce16f5170..92b6b5650cbb 100644 --- a/test/libsolidity/semanticTests/various/negative_stack_height.sol +++ b/test/libsolidity/semanticTests/various/negative_stack_height.sol @@ -65,5 +65,5 @@ contract C { // compileViaYul: false // ---- // constructor() -> -// gas legacy: 588138 -// gas legacyOptimized: 349636 +// gas legacy: 575272 +// gas legacyOptimized: 346970 diff --git a/test/libsolidity/semanticTests/various/selfdestruct.sol b/test/libsolidity/semanticTests/various/selfdestruct.sol index b823bd14db13..081f3ef3353c 100644 --- a/test/libsolidity/semanticTests/various/selfdestruct.sol +++ b/test/libsolidity/semanticTests/various/selfdestruct.sol @@ -30,9 +30,9 @@ contract D { } // ---- // constructor(), 1 ether -> -// gas irOptimized: 188203 -// gas legacy: 261114 -// gas legacyOptimized: 181602 +// gas irOptimized: 186962 +// gas legacy: 255963 +// gas legacyOptimized: 178911 // c() -> 0x137aa4dfc0911524504fcd4d98501f179bc13b4a // balance: 0x137aa4dfc0911524504fcd4d98501f179bc13b4a -> 1000000000000000000 // balance -> 0 diff --git a/test/libsolidity/semanticTests/various/senders_balance.sol b/test/libsolidity/semanticTests/various/senders_balance.sol index 8241ec554d55..892149b3b3fa 100644 --- a/test/libsolidity/semanticTests/various/senders_balance.sol +++ b/test/libsolidity/semanticTests/various/senders_balance.sol @@ -17,7 +17,7 @@ contract D { // ---- // constructor(), 27 wei -> -// gas irOptimized: 170627 -// gas legacy: 222977 -// gas legacyOptimized: 169779 +// gas irOptimized: 169371 +// gas legacy: 218447 +// gas legacyOptimized: 167286 // f() -> 27 diff --git a/test/libsolidity/semanticTests/various/skip_dynamic_types_for_structs.sol b/test/libsolidity/semanticTests/various/skip_dynamic_types_for_structs.sol index cd34a419ddcc..ec94f73a1f18 100644 --- a/test/libsolidity/semanticTests/various/skip_dynamic_types_for_structs.sol +++ b/test/libsolidity/semanticTests/various/skip_dynamic_types_for_structs.sol @@ -20,6 +20,6 @@ contract C { // ---- // g() -> 2, 6 -// gas irOptimized: 178549 -// gas legacy: 180893 -// gas legacyOptimized: 179394 +// gas irOptimized: 178542 +// gas legacy: 180839 +// gas legacyOptimized: 179375 diff --git a/test/libsolidity/semanticTests/various/staticcall_for_view_and_pure.sol b/test/libsolidity/semanticTests/various/staticcall_for_view_and_pure.sol index 413e129ef77c..e84dac23f17a 100644 --- a/test/libsolidity/semanticTests/various/staticcall_for_view_and_pure.sol +++ b/test/libsolidity/semanticTests/various/staticcall_for_view_and_pure.sol @@ -35,12 +35,12 @@ contract D { // EVMVersion: >=byzantium // ---- // f() -> 0x1 # This should work, next should throw # -// gas legacy: 103716 +// gas legacy: 102085 // fview() -> FAILURE -// gas irOptimized: 98438605 -// gas legacy: 98438801 -// gas legacyOptimized: 98438594 +// gas irOptimized: 98438596 +// gas legacy: 98438774 +// gas legacyOptimized: 98438580 // fpure() -> FAILURE -// gas irOptimized: 98438605 -// gas legacy: 98438801 -// gas legacyOptimized: 98438595 +// gas irOptimized: 98438596 +// gas legacy: 98438774 +// gas legacyOptimized: 98438580 diff --git a/test/libsolidity/semanticTests/various/swap_in_storage_overwrite.sol b/test/libsolidity/semanticTests/various/swap_in_storage_overwrite.sol index 129a78931fd1..a21065bf7219 100644 --- a/test/libsolidity/semanticTests/various/swap_in_storage_overwrite.sol +++ b/test/libsolidity/semanticTests/various/swap_in_storage_overwrite.sol @@ -29,9 +29,9 @@ contract c { // x() -> 0, 0 // y() -> 0, 0 // set() -> -// gas irOptimized: 109691 -// gas legacy: 109732 -// gas legacyOptimized: 109682 +// gas irOptimized: 109690 +// gas legacy: 109728 +// gas legacyOptimized: 109680 // x() -> 1, 2 // y() -> 3, 4 // swap() -> diff --git a/test/libsolidity/semanticTests/various/value_complex.sol b/test/libsolidity/semanticTests/various/value_complex.sol index 6f57e9e322c5..cd7243a13cd4 100644 --- a/test/libsolidity/semanticTests/various/value_complex.sol +++ b/test/libsolidity/semanticTests/various/value_complex.sol @@ -20,7 +20,7 @@ contract test { // ---- // constructor(), 20 wei -> -// gas irOptimized: 176003 -// gas legacy: 257656 -// gas legacyOptimized: 183070 +// gas irOptimized: 174345 +// gas legacy: 252286 +// gas legacyOptimized: 180346 // sendAmount(uint256): 5 -> 8 diff --git a/test/libsolidity/semanticTests/various/value_insane.sol b/test/libsolidity/semanticTests/various/value_insane.sol index 8aba90d96497..7fb6d5021089 100644 --- a/test/libsolidity/semanticTests/various/value_insane.sol +++ b/test/libsolidity/semanticTests/various/value_insane.sol @@ -19,7 +19,7 @@ contract test { // ---- // constructor(), 20 wei -> -// gas irOptimized: 176867 -// gas legacy: 259378 -// gas legacyOptimized: 183682 +// gas irOptimized: 175209 +// gas legacy: 253810 +// gas legacyOptimized: 180778 // sendAmount(uint256): 5 -> 8 diff --git a/test/libsolidity/semanticTests/viaYul/copy_struct_invalid_ir_bug.sol b/test/libsolidity/semanticTests/viaYul/copy_struct_invalid_ir_bug.sol index 502e4bde17bf..4b8f599a8f98 100644 --- a/test/libsolidity/semanticTests/viaYul/copy_struct_invalid_ir_bug.sol +++ b/test/libsolidity/semanticTests/viaYul/copy_struct_invalid_ir_bug.sol @@ -21,6 +21,6 @@ contract C { } // ---- // f() -> -// gas irOptimized: 113019 -// gas legacy: 112931 -// gas legacyOptimized: 112602 +// gas irOptimized: 113010 +// gas legacy: 112890 +// gas legacyOptimized: 112580 diff --git a/test/libyul/EVMCodeTransformTest.cpp b/test/libyul/EVMCodeTransformTest.cpp index 73042b18b68a..257893ad5f70 100644 --- a/test/libyul/EVMCodeTransformTest.cpp +++ b/test/libyul/EVMCodeTransformTest.cpp @@ -41,7 +41,7 @@ using namespace solidity::frontend::test; using namespace std; EVMCodeTransformTest::EVMCodeTransformTest(string const& _filename): - TestCase(_filename) + EVMVersionRestrictedTestCase(_filename) { m_source = m_reader.source(); m_stackOpt = m_reader.boolSetting("stackOptimization", false); diff --git a/test/libyul/EVMCodeTransformTest.h b/test/libyul/EVMCodeTransformTest.h index f1ae73f7426b..9926d43a9023 100644 --- a/test/libyul/EVMCodeTransformTest.h +++ b/test/libyul/EVMCodeTransformTest.h @@ -23,7 +23,7 @@ namespace solidity::yul::test { -class EVMCodeTransformTest: public solidity::frontend::test::TestCase +class EVMCodeTransformTest: public solidity::frontend::test::EVMVersionRestrictedTestCase { public: static std::unique_ptr create(Config const& _config) diff --git a/test/libyul/evmCodeTransform/stackReuse/function_argument_reuse_without_retparams.yul b/test/libyul/evmCodeTransform/stackReuse/function_argument_reuse_without_retparams.yul index 385c253df5f1..b5cc611879ec 100644 --- a/test/libyul/evmCodeTransform/stackReuse/function_argument_reuse_without_retparams.yul +++ b/test/libyul/evmCodeTransform/stackReuse/function_argument_reuse_without_retparams.yul @@ -6,6 +6,7 @@ } // ==== // stackOptimization: true +// EVMVersion: >=shanghai // ---- // /* "":0:88 */ // stop @@ -33,5 +34,5 @@ // dup1 // sstore // /* "":66:82 */ -// codesize +// 0x00 // jump(tag_3) diff --git a/test/libyul/objectCompiler/datacopy.yul b/test/libyul/objectCompiler/datacopy.yul index b6ec642f0622..a5fbfb7b0bcb 100644 --- a/test/libyul/objectCompiler/datacopy.yul +++ b/test/libyul/objectCompiler/datacopy.yul @@ -45,6 +45,6 @@ object "a" { // stop // data_acaf3289d7b601cbd114fb36c4d29c85bbfd5e133f14cb355c3fd8d99367964f 48656c6c6f2c20576f726c6421 // } -// Bytecode: 600a600d600039600a6000f3fe60008055600d600052fe -// Opcodes: PUSH1 0xA PUSH1 0xD PUSH1 0x0 CODECOPY PUSH1 0xA PUSH1 0x0 RETURN INVALID PUSH1 0x0 DUP1 SSTORE PUSH1 0xD PUSH1 0x0 MSTORE INVALID +// Bytecode: 6008600b5f3960085ff3fe5f8055600d5f52fe +// Opcodes: PUSH1 0x8 PUSH1 0xB PUSH0 CODECOPY PUSH1 0x8 PUSH0 RETURN INVALID PUSH0 DUP1 SSTORE PUSH1 0xD PUSH0 MSTORE INVALID // SourceMappings: 57:15:0:-:0;38:17;35:1;26:47;88:15;85:1;78:26 diff --git a/test/libyul/objectCompiler/dataoffset_code.yul b/test/libyul/objectCompiler/dataoffset_code.yul index 00184feab8d6..e363ec7c6129 100644 --- a/test/libyul/objectCompiler/dataoffset_code.yul +++ b/test/libyul/objectCompiler/dataoffset_code.yul @@ -25,6 +25,6 @@ object "a" { // stop // data_acaf3289d7b601cbd114fb36c4d29c85bbfd5e133f14cb355c3fd8d99367964f 48656c6c6f2c20576f726c6421 // } -// Bytecode: 6006600055fe6008600055fe -// Opcodes: PUSH1 0x6 PUSH1 0x0 SSTORE INVALID PUSH1 0x8 PUSH1 0x0 SSTORE INVALID +// Bytecode: 60055f55fe60085f55fe +// Opcodes: PUSH1 0x5 PUSH0 SSTORE INVALID PUSH1 0x8 PUSH0 SSTORE INVALID // SourceMappings: 32:17:0:-:0;29:1;22:28 diff --git a/test/libyul/objectCompiler/dataoffset_data.yul b/test/libyul/objectCompiler/dataoffset_data.yul index bc066c802c75..2bb68e8a8a90 100644 --- a/test/libyul/objectCompiler/dataoffset_data.yul +++ b/test/libyul/objectCompiler/dataoffset_data.yul @@ -12,6 +12,6 @@ object "a" { // sstore // stop // data_acaf3289d7b601cbd114fb36c4d29c85bbfd5e133f14cb355c3fd8d99367964f 48656c6c6f2c20576f726c6421 -// Bytecode: 6006600055fe48656c6c6f2c20576f726c6421 -// Opcodes: PUSH1 0x6 PUSH1 0x0 SSTORE INVALID BASEFEE PUSH6 0x6C6C6F2C2057 PUSH16 0x726C6421000000000000000000000000 +// Bytecode: 60055f55fe48656c6c6f2c20576f726c6421 +// Opcodes: PUSH1 0x5 PUSH0 SSTORE INVALID BASEFEE PUSH6 0x6C6C6F2C2057 PUSH16 0x726C6421000000000000000000000000 // SourceMappings: 32:19:0:-:0;29:1;22:30 diff --git a/test/libyul/objectCompiler/dataoffset_self.yul b/test/libyul/objectCompiler/dataoffset_self.yul index 163cd75742db..e56097ab573c 100644 --- a/test/libyul/objectCompiler/dataoffset_self.yul +++ b/test/libyul/objectCompiler/dataoffset_self.yul @@ -12,6 +12,6 @@ object "a" { // sstore // stop // data_acaf3289d7b601cbd114fb36c4d29c85bbfd5e133f14cb355c3fd8d99367964f 48656c6c6f2c20576f726c6421 -// Bytecode: 60008055fe -// Opcodes: PUSH1 0x0 DUP1 SSTORE INVALID +// Bytecode: 5f8055fe +// Opcodes: PUSH0 DUP1 SSTORE INVALID // SourceMappings: 32:15:0:-:0;29:1;22:26 diff --git a/test/libyul/objectCompiler/datasize_code.yul b/test/libyul/objectCompiler/datasize_code.yul index fc26e4eb99cc..0a379cb33aa8 100644 --- a/test/libyul/objectCompiler/datasize_code.yul +++ b/test/libyul/objectCompiler/datasize_code.yul @@ -25,6 +25,6 @@ object "a" { // stop // data_acaf3289d7b601cbd114fb36c4d29c85bbfd5e133f14cb355c3fd8d99367964f 48656c6c6f2c20576f726c6421 // } -// Bytecode: 6006600055fe -// Opcodes: PUSH1 0x6 PUSH1 0x0 SSTORE INVALID +// Bytecode: 60055f55fe +// Opcodes: PUSH1 0x5 PUSH0 SSTORE INVALID // SourceMappings: 32:15:0:-:0;29:1;22:26 diff --git a/test/libyul/objectCompiler/datasize_data.yul b/test/libyul/objectCompiler/datasize_data.yul index a9ba7b0271f8..815e78fe4fa4 100644 --- a/test/libyul/objectCompiler/datasize_data.yul +++ b/test/libyul/objectCompiler/datasize_data.yul @@ -12,6 +12,6 @@ object "a" { // sstore // stop // data_acaf3289d7b601cbd114fb36c4d29c85bbfd5e133f14cb355c3fd8d99367964f 48656c6c6f2c20576f726c6421 -// Bytecode: 600d600055fe -// Opcodes: PUSH1 0xD PUSH1 0x0 SSTORE INVALID +// Bytecode: 600d5f55fe +// Opcodes: PUSH1 0xD PUSH0 SSTORE INVALID // SourceMappings: 32:17:0:-:0;29:1;22:28 diff --git a/test/libyul/objectCompiler/datasize_self.yul b/test/libyul/objectCompiler/datasize_self.yul index d4a3c8d06116..178e3a948246 100644 --- a/test/libyul/objectCompiler/datasize_self.yul +++ b/test/libyul/objectCompiler/datasize_self.yul @@ -12,6 +12,6 @@ object "a" { // sstore // stop // data_acaf3289d7b601cbd114fb36c4d29c85bbfd5e133f14cb355c3fd8d99367964f 48656c6c6f2c20576f726c6421 -// Bytecode: 6006600055fe -// Opcodes: PUSH1 0x6 PUSH1 0x0 SSTORE INVALID +// Bytecode: 60055f55fe +// Opcodes: PUSH1 0x5 PUSH0 SSTORE INVALID // SourceMappings: 32:13:0:-:0;29:1;22:24 diff --git a/test/libyul/objectCompiler/function_series.yul b/test/libyul/objectCompiler/function_series.yul index f905c04b5831..10a018160a81 100644 --- a/test/libyul/objectCompiler/function_series.yul +++ b/test/libyul/objectCompiler/function_series.yul @@ -26,6 +26,6 @@ object "Contract" { // 0x00 // /* "source":73:85 */ // sstore -// Bytecode: 6009565b5b565b5b565b6001600055 -// Opcodes: PUSH1 0x9 JUMP JUMPDEST JUMPDEST JUMP JUMPDEST JUMPDEST JUMP JUMPDEST PUSH1 0x1 PUSH1 0x0 SSTORE +// Bytecode: 6009565b5b565b5b565b60015f55 +// Opcodes: PUSH1 0x9 JUMP JUMPDEST JUMPDEST JUMP JUMPDEST JUMPDEST JUMP JUMPDEST PUSH1 0x1 PUSH0 SSTORE // SourceMappings: 33:15:0:-:0;;;;:::o;53:::-;;:::o;:::-;83:1;80;73:12 diff --git a/test/libyul/objectCompiler/immutable_long_name_does_not_end_up_in_bytecode.yul b/test/libyul/objectCompiler/immutable_long_name_does_not_end_up_in_bytecode.yul index dcc41e7a0c23..e991dc6b7bd1 100644 --- a/test/libyul/objectCompiler/immutable_long_name_does_not_end_up_in_bytecode.yul +++ b/test/libyul/objectCompiler/immutable_long_name_does_not_end_up_in_bytecode.yul @@ -15,6 +15,6 @@ object "a" { // 0x00 // /* "source":32:219 */ // assignImmutable("0x85a5b1db611c82c46f5fa18e39ae218397536256c451e5de155a86de843a9ad6") -// Bytecode: 73123456789012345678901234567890123456789060005050 -// Opcodes: PUSH20 0x1234567890123456789012345678901234567890 PUSH1 0x0 POP POP +// Bytecode: 7312345678901234567890123456789012345678905f5050 +// Opcodes: PUSH20 0x1234567890123456789012345678901234567890 PUSH0 POP POP // SourceMappings: 167:42:0:-:0;58:1;32:187; diff --git a/test/libyul/objectCompiler/linkersymbol.yul b/test/libyul/objectCompiler/linkersymbol.yul index 9dac37448718..a28ee23e23e0 100644 --- a/test/libyul/objectCompiler/linkersymbol.yul +++ b/test/libyul/objectCompiler/linkersymbol.yul @@ -38,6 +38,6 @@ object "a" { // /* "source":22:187 */ // pop // pop -// Bytecode: 7300000000000000000000000000000000000000006318530aaf60e31b60805260006080600460806000855af15050 -// Opcodes: PUSH20 0x0 PUSH4 0x18530AAF PUSH1 0xE3 SHL PUSH1 0x80 MSTORE PUSH1 0x0 PUSH1 0x80 PUSH1 0x4 PUSH1 0x80 PUSH1 0x0 DUP6 GAS CALL POP POP +// Bytecode: 7300000000000000000000000000000000000000006318530aaf60e31b6080525f6080600460805f855af15050 +// Opcodes: PUSH20 0x0 PUSH4 0x18530AAF PUSH1 0xE3 SHL PUSH1 0x80 MSTORE PUSH0 PUSH1 0x80 PUSH1 0x4 PUSH1 0x80 PUSH0 DUP6 GAS CALL POP POP // SourceMappings: 44:35:0:-:0;109:10;104:3;100:20;95:3;88:33;179:1;174:3;171:1;166:3;163:1;157:4;150:5;145:36;22:165; diff --git a/test/libyul/objectCompiler/long_object_name.yul b/test/libyul/objectCompiler/long_object_name.yul index 67ef5e4072eb..aa2dd1ac2eee 100644 --- a/test/libyul/objectCompiler/long_object_name.yul +++ b/test/libyul/objectCompiler/long_object_name.yul @@ -24,6 +24,6 @@ object "t" { // /* "source":272:274 */ // stop // } -// Bytecode: 600160005500fe -// Opcodes: PUSH1 0x1 PUSH1 0x0 SSTORE STOP INVALID +// Bytecode: 60015f5500fe +// Opcodes: PUSH1 0x1 PUSH0 SSTORE STOP INVALID // SourceMappings: 33:113:0:-:0;30:1;23:124;19:131 diff --git a/test/libyul/objectCompiler/metadata.yul b/test/libyul/objectCompiler/metadata.yul index ac66e4bdaaaa..5a75507ba129 100644 --- a/test/libyul/objectCompiler/metadata.yul +++ b/test/libyul/objectCompiler/metadata.yul @@ -62,6 +62,6 @@ object "A" { // } // // auxdata: 0x4d32 -// Bytecode: 600e600381600055806020555050fe4d32 -// Opcodes: PUSH1 0xE PUSH1 0x3 DUP2 PUSH1 0x0 SSTORE DUP1 PUSH1 0x20 SSTORE POP POP INVALID 0x4D ORIGIN +// Bytecode: 600e6003815f55806020555050fe4d32 +// Opcodes: PUSH1 0xE PUSH1 0x3 DUP2 PUSH0 SSTORE DUP1 PUSH1 0x20 SSTORE POP POP INVALID 0x4D ORIGIN // SourceMappings: 35:13:0:-:0;62;90:1;87;80:12;108:1;104:2;97:13;20:94; diff --git a/test/libyul/objectCompiler/namedObjectCode.yul b/test/libyul/objectCompiler/namedObjectCode.yul index b13bdae5e0fd..f9e97bec4af3 100644 --- a/test/libyul/objectCompiler/namedObjectCode.yul +++ b/test/libyul/objectCompiler/namedObjectCode.yul @@ -9,6 +9,6 @@ object "a" { // 0x00 // /* "source":22:34 */ // sstore -// Bytecode: 6001600055 -// Opcodes: PUSH1 0x1 PUSH1 0x0 SSTORE +// Bytecode: 60015f55 +// Opcodes: PUSH1 0x1 PUSH0 SSTORE // SourceMappings: 32:1:0:-:0;29;22:12 diff --git a/test/libyul/objectCompiler/nested_optimizer.yul b/test/libyul/objectCompiler/nested_optimizer.yul index 7b972286f42b..cde1210ff885 100644 --- a/test/libyul/objectCompiler/nested_optimizer.yul +++ b/test/libyul/objectCompiler/nested_optimizer.yul @@ -40,6 +40,6 @@ object "a" { // /* "source":158:279 */ // stop // } -// Bytecode: 600080355500fe -// Opcodes: PUSH1 0x0 DUP1 CALLDATALOAD SSTORE STOP INVALID +// Bytecode: 5f80355500fe +// Opcodes: PUSH0 DUP1 CALLDATALOAD SSTORE STOP INVALID // SourceMappings: 48:1:0:-:0;35:15;;107:20;20:111 diff --git a/test/libyul/objectCompiler/simple.yul b/test/libyul/objectCompiler/simple.yul index 3e7d1859f337..d94b53de9020 100644 --- a/test/libyul/objectCompiler/simple.yul +++ b/test/libyul/objectCompiler/simple.yul @@ -9,6 +9,6 @@ // 0x00 // /* "source":4:16 */ // sstore -// Bytecode: 6001600055 -// Opcodes: PUSH1 0x1 PUSH1 0x0 SSTORE +// Bytecode: 60015f55 +// Opcodes: PUSH1 0x1 PUSH0 SSTORE // SourceMappings: 14:1:0:-:0;11;4:12 diff --git a/test/libyul/objectCompiler/simple_optimizer.yul b/test/libyul/objectCompiler/simple_optimizer.yul index 47fa6553ab3f..3ce4b7a4bb41 100644 --- a/test/libyul/objectCompiler/simple_optimizer.yul +++ b/test/libyul/objectCompiler/simple_optimizer.yul @@ -17,6 +17,6 @@ // sstore // /* "source":0:101 */ // stop -// Bytecode: 600080355500 -// Opcodes: PUSH1 0x0 DUP1 CALLDATALOAD SSTORE STOP +// Bytecode: 5f80355500 +// Opcodes: PUSH0 DUP1 CALLDATALOAD SSTORE STOP // SourceMappings: 26:1:0:-:0;13:15;;79:20;0:101 diff --git a/test/libyul/objectCompiler/sourceLocations.yul b/test/libyul/objectCompiler/sourceLocations.yul index 4e75d05e7dc3..849d275fec2e 100644 --- a/test/libyul/objectCompiler/sourceLocations.yul +++ b/test/libyul/objectCompiler/sourceLocations.yul @@ -49,6 +49,6 @@ object "a" { // stop // data_acaf3289d7b601cbd114fb36c4d29c85bbfd5e133f14cb355c3fd8d99367964f 48656c6c6f2c20576f726c6421 // } -// Bytecode: 600a600d600039600a6000f3fe60008055600d600052fe -// Opcodes: PUSH1 0xA PUSH1 0xD PUSH1 0x0 CODECOPY PUSH1 0xA PUSH1 0x0 RETURN INVALID PUSH1 0x0 DUP1 SSTORE PUSH1 0xD PUSH1 0x0 MSTORE INVALID +// Bytecode: 6008600b5f3960085ff3fe5f8055600d5f52fe +// Opcodes: PUSH1 0x8 PUSH1 0xB PUSH0 CODECOPY PUSH1 0x8 PUSH0 RETURN INVALID PUSH0 DUP1 SSTORE PUSH1 0xD PUSH0 MSTORE INVALID // SourceMappings: 0:2::-:0;;;;5:1;0:2; diff --git a/test/libyul/objectCompiler/subObjectAccess.yul b/test/libyul/objectCompiler/subObjectAccess.yul index 1899551fd12e..e8bf0bcafc2c 100644 --- a/test/libyul/objectCompiler/subObjectAccess.yul +++ b/test/libyul/objectCompiler/subObjectAccess.yul @@ -249,6 +249,6 @@ object "A" { // invalid // } // } -// Bytecode: 600060976045603e60846013608360016083600189600055886020558760405586606055856080558460a0558360c0558260e055816101005580610120556101406000f3fe602a6013603d6001603d600185600055846020558360405582606055816080558060a05560c06000f3fe60126001816000558060205560406000f3fefefefe60126001816000558060205560406000f3fefe -// Opcodes: PUSH1 0x0 PUSH1 0x97 PUSH1 0x45 PUSH1 0x3E PUSH1 0x84 PUSH1 0x13 PUSH1 0x83 PUSH1 0x1 PUSH1 0x83 PUSH1 0x1 DUP10 PUSH1 0x0 SSTORE DUP9 PUSH1 0x20 SSTORE DUP8 PUSH1 0x40 SSTORE DUP7 PUSH1 0x60 SSTORE DUP6 PUSH1 0x80 SSTORE DUP5 PUSH1 0xA0 SSTORE DUP4 PUSH1 0xC0 SSTORE DUP3 PUSH1 0xE0 SSTORE DUP2 PUSH2 0x100 SSTORE DUP1 PUSH2 0x120 SSTORE PUSH2 0x140 PUSH1 0x0 RETURN INVALID PUSH1 0x2A PUSH1 0x13 PUSH1 0x3D PUSH1 0x1 PUSH1 0x3D PUSH1 0x1 DUP6 PUSH1 0x0 SSTORE DUP5 PUSH1 0x20 SSTORE DUP4 PUSH1 0x40 SSTORE DUP3 PUSH1 0x60 SSTORE DUP2 PUSH1 0x80 SSTORE DUP1 PUSH1 0xA0 SSTORE PUSH1 0xC0 PUSH1 0x0 RETURN INVALID PUSH1 0x12 PUSH1 0x1 DUP2 PUSH1 0x0 SSTORE DUP1 PUSH1 0x20 SSTORE PUSH1 0x40 PUSH1 0x0 RETURN INVALID INVALID INVALID INVALID PUSH1 0x12 PUSH1 0x1 DUP2 PUSH1 0x0 SSTORE DUP1 PUSH1 0x20 SSTORE PUSH1 0x40 PUSH1 0x0 RETURN INVALID INVALID +// Bytecode: 5f608e6042603a607d6011607c6001607c6001895f55886020558760405586606055856080558460a0558360c0558260e055816101005580610120556101405ff3fe602860116039600160396001855f55846020558360405582606055816080558060a05560c05ff3fe60106001815f558060205560405ff3fefefefe60106001815f558060205560405ff3fefe +// Opcodes: PUSH0 PUSH1 0x8E PUSH1 0x42 PUSH1 0x3A PUSH1 0x7D PUSH1 0x11 PUSH1 0x7C PUSH1 0x1 PUSH1 0x7C PUSH1 0x1 DUP10 PUSH0 SSTORE DUP9 PUSH1 0x20 SSTORE DUP8 PUSH1 0x40 SSTORE DUP7 PUSH1 0x60 SSTORE DUP6 PUSH1 0x80 SSTORE DUP5 PUSH1 0xA0 SSTORE DUP4 PUSH1 0xC0 SSTORE DUP3 PUSH1 0xE0 SSTORE DUP2 PUSH2 0x100 SSTORE DUP1 PUSH2 0x120 SSTORE PUSH2 0x140 PUSH0 RETURN INVALID PUSH1 0x28 PUSH1 0x11 PUSH1 0x39 PUSH1 0x1 PUSH1 0x39 PUSH1 0x1 DUP6 PUSH0 SSTORE DUP5 PUSH1 0x20 SSTORE DUP4 PUSH1 0x40 SSTORE DUP3 PUSH1 0x60 SSTORE DUP2 PUSH1 0x80 SSTORE DUP1 PUSH1 0xA0 SSTORE PUSH1 0xC0 PUSH0 RETURN INVALID PUSH1 0x10 PUSH1 0x1 DUP2 PUSH0 SSTORE DUP1 PUSH1 0x20 SSTORE PUSH1 0x40 PUSH0 RETURN INVALID INVALID INVALID INVALID PUSH1 0x10 PUSH1 0x1 DUP2 PUSH0 SSTORE DUP1 PUSH1 0x20 SSTORE PUSH1 0x40 PUSH0 RETURN INVALID INVALID // SourceMappings: 37:15:0:-:0;68:13;97:15;128:13;158:17;192:15;224:17;258:15;291:19;328:17;361:3;358:1;351:14;381:3;377:2;370:15;401:3;397:2;390:15;421:3;417:2;410:15;442:4;437:3;430:17;464:4;459:3;452:17;486:4;481:3;474:17;508:4;503:3;496:17;530:5;525:3;518:18;553:5;548:3;541:18;574:3;571:1;564:14