From 44da8507b1fc32083a62662dfbc130f22fc06306 Mon Sep 17 00:00:00 2001 From: Daniel Kirchner Date: Wed, 26 Apr 2023 13:03:17 +0200 Subject: [PATCH] Change default EVM version to Shanghai. Co-authored-by: Rodrigo Q. Saramago --- .circleci/config.yml | 24 +++++---- .circleci/soltest_all.sh | 2 +- Changelog.md | 1 + docs/using-the-compiler.rst | 6 +-- libevmasm/GasMeter.cpp | 6 +++ liblangutil/EVMVersion.h | 2 +- scripts/externalTests/common.sh | 2 +- scripts/tests.sh | 2 +- test/cmdlineTests/function_debug_info/output | 10 ++-- .../output | 54 +++++++++---------- .../output.json | 4 +- .../linking_strict_assembly/output | 2 +- .../output | 2 +- .../output | 2 +- .../output | 2 +- .../output | 2 +- .../output | 2 +- .../output | 2 +- .../output | 2 +- test/cmdlineTests/no_cbor_metadata/output | 2 +- test/cmdlineTests/object_compiler/output | 2 +- .../standard_function_debug_info/output.json | 44 +++++++-------- .../strict_asm_optimizer_steps/output | 2 +- .../output | 2 +- .../yul_function_name_clashes/output | 2 +- .../output | 2 +- test/cmdlineTests/yul_optimize_runs/output | 2 +- test/cmdlineTests/yul_verbatim_msize/output | 2 +- test/externalTests/uniswap.sh | 2 - test/externalTests/yield-liquidator.sh | 7 +-- test/libsolidity/GasCosts.cpp | 4 +- test/libsolidity/StandardCompiler.cpp | 10 ++-- test/libsolidity/gasTests/abiv2.sol | 8 +-- test/libsolidity/gasTests/abiv2_optimised.sol | 12 ++--- test/libsolidity/gasTests/data_storage.sol | 8 +-- test/libsolidity/gasTests/dispatch_large.sol | 8 +-- .../gasTests/dispatch_large_optimised.sol | 50 ++++++++--------- test/libsolidity/gasTests/dispatch_medium.sol | 8 +-- .../gasTests/dispatch_medium_optimised.sol | 24 ++++----- test/libsolidity/gasTests/dispatch_small.sol | 10 ++-- .../gasTests/dispatch_small_optimised.sol | 14 ++--- test/libsolidity/gasTests/exp.sol | 8 +-- test/libsolidity/gasTests/exp_optimized.sol | 14 ++--- test/libsolidity/gasTests/storage_costs.sol | 12 ++--- .../abiEncoderV1/abi_decode_v2_storage.sol | 6 +-- .../abi_encode_calldata_slice.sol | 12 ++--- .../struct/struct_storage_ptr.sol | 6 +-- .../abi_encode_calldata_slice.sol | 12 ++--- .../abiEncoderV2/abi_encode_v2.sol | 6 +-- ...2_in_function_inherited_in_v1_contract.sol | 6 +-- ...ode_v2_in_modifier_used_in_v1_contract.sol | 2 +- .../abiEncoderV2/calldata_array.sol | 6 +-- .../calldata_overlapped_dynamic_arrays.sol | 6 +-- .../abiEncoderV2/storage_array_encoding.sol | 12 ++--- .../abi_decode_simple_storage.sol | 6 +-- .../arithmetics/check_var_init.sol | 2 +- .../array/array_memory_index_access.sol | 6 +-- .../array/array_storage_index_access.sol | 54 +++++++++---------- .../array_storage_index_boundary_test.sol | 12 ++--- .../array/array_storage_index_zeroed_test.sol | 24 ++++----- .../array/array_storage_length_access.sol | 10 ++-- .../array/array_storage_push_empty.sol | 12 ++--- ...rray_storage_push_empty_length_address.sol | 12 ++--- .../array/array_storage_push_pop.sol | 12 ++--- .../arrays_complex_from_and_to_storage.sol | 6 +-- .../array/byte_array_storage_layout.sol | 4 +- .../array/byte_array_transitional_2.sol | 6 +-- .../array/bytes_length_member.sol | 6 +-- .../array/constant_var_as_array_length.sol | 6 +-- .../copying/array_copy_calldata_storage.sol | 6 +-- .../copying/array_copy_cleanup_uint40.sol | 6 +-- .../copying/array_copy_clear_storage.sol | 6 +-- .../copying/array_copy_different_packing.sol | 6 +-- .../copying/array_copy_including_array.sol | 12 ++--- .../array/copying/array_copy_nested_array.sol | 6 +-- ...ay_copy_storage_storage_different_base.sol | 6 +-- ..._storage_storage_different_base_nested.sol | 6 +-- .../array_copy_storage_storage_dyn_dyn.sol | 6 +-- ...y_copy_storage_storage_dynamic_dynamic.sol | 6 +-- ...ay_copy_storage_storage_static_dynamic.sol | 6 +-- ...ray_copy_storage_storage_static_static.sol | 6 +-- .../array_copy_storage_storage_struct.sol | 6 +-- .../array_copy_storage_to_memory_nested.sol | 6 +-- .../copying/array_copy_target_leftover.sol | 6 +-- .../copying/array_copy_target_simple.sol | 6 +-- .../copying/array_copy_target_simple_2.sol | 6 +-- .../copying/array_elements_to_mapping.sol | 6 +-- .../array_nested_calldata_to_storage.sol | 8 +-- .../array_nested_memory_to_storage.sol | 12 ++--- ...on_external_storage_to_storage_dynamic.sol | 6 +-- ...o_storage_dynamic_different_mutability.sol | 6 +-- .../array_of_struct_calldata_to_storage.sol | 2 +- .../array_of_struct_memory_to_storage.sol | 2 +- ..._containing_arrays_calldata_to_storage.sol | 2 +- ...ts_containing_arrays_memory_to_storage.sol | 2 +- .../array_storage_multi_items_per_slot.sol | 6 +-- .../array/copying/array_to_mapping.sol | 6 +-- .../copying/arrays_from_and_to_storage.sol | 4 +- .../array/copying/bytes_inside_mappings.sol | 12 ++--- .../copying/bytes_storage_to_storage.sol | 30 +++++------ .../calldata_array_dynamic_to_storage.sol | 6 +-- .../copying/calldata_array_to_mapping.sol | 2 +- ...nup_during_multi_element_per_slot_copy.sol | 6 +-- .../copy_byte_array_in_struct_to_storage.sol | 12 ++--- .../copying/copy_byte_array_to_storage.sol | 6 +-- .../copy_function_internal_storage_array.sol | 6 +-- ...opy_internal_function_array_to_storage.sol | 4 +- .../array/copying/copy_removes_bytes_data.sol | 6 +-- .../copying/copying_bytes_multiassign.sol | 6 +-- ...d_array_of_structs_calldata_to_storage.sol | 6 +-- ...ted_array_of_structs_memory_to_storage.sol | 6 +-- .../function_type_array_to_storage.sol | 12 ++--- .../memory_dyn_2d_bytes_to_storage.sol | 6 +-- ...ested_array_element_storage_to_storage.sol | 18 +++---- ...d_array_of_structs_calldata_to_storage.sol | 6 +-- ...ted_array_of_structs_memory_to_storage.sol | 6 +-- ...ed_array_of_structs_storage_to_storage.sol | 4 +- ...amic_array_element_calldata_to_storage.sol | 4 +- .../array/copying/storage_memory_nested.sol | 6 +-- .../copying/storage_memory_nested_bytes.sol | 6 +-- .../storage_memory_nested_from_pointer.sol | 6 +-- .../copying/storage_memory_nested_struct.sol | 6 +-- .../copying/storage_memory_packed_dyn.sol | 6 +-- .../array/create_memory_array.sol | 6 +-- .../array/delete/bytes_delete_element.sol | 6 +-- .../array/dynamic_array_cleanup.sol | 6 +-- .../array/dynamic_arrays_in_storage.sol | 6 +-- .../array/dynamic_multi_array_cleanup.sol | 6 +-- .../array/fixed_array_cleanup.sol | 6 +-- .../array/fixed_arrays_as_return_type.sol | 6 +-- .../array/fixed_arrays_in_constructors.sol | 6 +-- .../array/function_array_cross_calls.sol | 6 +-- ...nvalid_encoding_for_storage_byte_array.sol | 6 +-- .../array/pop/array_pop_array_transition.sol | 6 +-- .../array/pop/array_pop_uint16_transition.sol | 6 +-- .../array/pop/array_pop_uint24_transition.sol | 6 +-- .../array/pop/byte_array_pop_copy_long.sol | 2 +- .../pop/byte_array_pop_long_storage_empty.sol | 6 +-- ...ray_pop_long_storage_empty_garbage_ref.sol | 6 +-- .../array/pop/byte_array_pop_masking_long.sol | 6 +-- .../semanticTests/array/push/array_push.sol | 6 +-- .../push/array_push_nested_from_calldata.sol | 6 +-- .../array/push/array_push_struct.sol | 6 +-- .../push/array_push_struct_from_calldata.sol | 6 +-- .../array/push/byte_array_push_transition.sol | 6 +-- .../array/push/nested_bytes_push.sol | 6 +-- .../array/push/push_no_args_2d.sol | 10 ++-- .../array/push/push_no_args_bytes.sol | 6 +-- .../semanticTests/array/reusing_memory.sol | 6 +-- .../byte_array_to_storage_cleanup.sol | 6 +-- .../copy_from_calldata_removes_bytes_data.sol | 6 +-- .../constructor/arrays_in_constructors.sol | 6 +-- .../bytes_in_constructors_packer.sol | 6 +-- .../bytes_in_constructors_unpacker.sol | 6 +-- .../constructor_arguments_external.sol | 6 +-- .../constructor_function_complex.sol | 2 +- .../constructor_static_array_argument.sol | 6 +-- .../constructor/no_callvalue_check.sol | 6 +-- .../constructor_inheritance_init_order.sol | 2 +- .../constructor_inheritance_init_order_2.sol | 6 +-- .../semanticTests/constructor_with_params.sol | 4 +- ...ructor_with_params_diamond_inheritance.sol | 6 +-- .../constructor_with_params_inheritance.sol | 6 +-- .../events/event_dynamic_array_storage.sol | 6 +-- .../events/event_dynamic_array_storage_v2.sol | 6 +-- .../event_dynamic_nested_array_storage_v2.sol | 6 +-- .../events/event_emit_from_other_contract.sol | 6 +-- .../events/event_indexed_string.sol | 6 +-- .../externalContracts/FixedFeeRegistrar.sol | 6 +-- .../externalContracts/base64.sol | 18 +++---- .../externalContracts/deposit_contract.sol | 30 +++++------ .../externalContracts/prbmath_signed.sol | 6 +-- .../externalContracts/prbmath_unsigned.sol | 6 +-- .../externalContracts/ramanujan_pi.sol | 8 +-- .../semanticTests/externalContracts/snark.sol | 12 ++--- .../externalContracts/strings.sol | 12 ++--- .../freeFunctions/new_operator.sol | 2 +- .../creation_function_call_no_args.sol | 2 +- .../creation_function_call_with_args.sol | 6 +-- .../creation_function_call_with_salt.sol | 6 +-- .../external_call_to_nonexisting.sol | 6 +-- ...ernal_call_to_nonexisting_debugstrings.sol | 6 +-- .../functionCall/failed_create.sol | 12 ++--- .../functionCall/gas_and_value_basic.sol | 6 +-- .../gas_and_value_brace_syntax.sol | 6 +-- .../mapping_array_internal_argument.sol | 6 +-- .../functionCall/send_zero_ether.sol | 2 +- .../functionTypes/store_function.sol | 4 +- .../immutable/multi_creation.sol | 6 +-- .../semanticTests/immutable/use_scratch.sol | 6 +-- .../address_overload_resolution.sol | 4 +- ...d_function_calldata_calldata_interface.sol | 2 +- ...ted_function_calldata_memory_interface.sol | 6 +-- .../inheritance/member_notation_ctor.sol | 4 +- .../inheritance/value_for_constructor.sol | 6 +-- .../balance_other_contract.sol | 6 +-- .../libraries/internal_types_in_library.sol | 6 +-- .../using_library_mappings_public.sol | 6 +-- .../using_library_mappings_return.sol | 6 +-- .../libraries/using_library_structs.sol | 2 +- .../operator_making_pure_external_call.sol | 12 ++--- .../operator_making_view_external_call.sol | 12 ++--- .../salted_create/prediction_example.sol | 2 +- .../salted_create/salted_create.sol | 6 +-- .../salted_create_with_value.sol | 6 +-- .../semanticTests/smoke/alignment.sol | 2 +- .../semanticTests/smoke/constructor.sol | 6 +-- .../semanticTests/state/blockhash_basic.sol | 6 +-- .../storage/empty_nonempty_empty.sol | 6 +-- .../storage/packed_storage_structs_bytes.sol | 6 +-- ...ta_struct_with_nested_array_to_storage.sol | 6 +-- .../conversion/recursive_storage_memory.sol | 6 +-- .../structs/copy_from_mapping.sol | 6 +-- .../copy_struct_array_from_storage.sol | 6 +-- .../copy_substructures_from_mapping.sol | 6 +-- .../structs/copy_substructures_to_mapping.sol | 18 +++---- .../semanticTests/structs/copy_to_mapping.sol | 24 ++++----- .../structs/memory_structs_nested_load.sol | 6 +-- ...truct_containing_bytes_copy_and_delete.sol | 12 ++--- .../semanticTests/structs/struct_copy.sol | 12 ++--- .../structs/struct_copy_via_local.sol | 6 +-- .../struct_delete_storage_with_array.sol | 12 ++--- .../struct_memory_to_storage_function_ptr.sol | 6 +-- .../semanticTests/structs/structs.sol | 6 +-- .../mapping/copy_from_mapping_to_mapping.sol | 6 +-- .../userDefinedValueType/calldata.sol | 12 ++--- .../userDefinedValueType/erc20.sol | 6 +-- .../using/using_global_invisible.sol | 2 +- .../semanticTests/various/address_code.sol | 6 +-- .../various/code_access_content.sol | 4 +- .../various/code_access_create.sol | 2 +- .../various/code_access_runtime.sol | 2 +- .../semanticTests/various/code_length.sol | 2 +- .../semanticTests/various/create_calldata.sol | 6 +-- .../various/destructuring_assignment.sol | 6 +-- .../semanticTests/various/erc20.sol | 6 +-- .../various/external_types_in_calls.sol | 2 +- .../various/negative_stack_height.sol | 4 +- .../semanticTests/various/selfdestruct.sol | 6 +-- .../semanticTests/various/senders_balance.sol | 6 +-- .../skip_dynamic_types_for_structs.sol | 6 +-- .../various/staticcall_for_view_and_pure.sol | 14 ++--- .../various/swap_in_storage_overwrite.sol | 6 +-- .../semanticTests/various/value_complex.sol | 6 +-- .../semanticTests/various/value_insane.sol | 6 +-- .../viaYul/copy_struct_invalid_ir_bug.sol | 6 +-- test/libyul/EVMCodeTransformTest.cpp | 2 +- test/libyul/EVMCodeTransformTest.h | 2 +- ...ction_argument_reuse_without_retparams.yul | 3 +- test/libyul/objectCompiler/datacopy.yul | 4 +- .../libyul/objectCompiler/dataoffset_code.yul | 4 +- .../libyul/objectCompiler/dataoffset_data.yul | 4 +- .../libyul/objectCompiler/dataoffset_self.yul | 4 +- test/libyul/objectCompiler/datasize_code.yul | 4 +- test/libyul/objectCompiler/datasize_data.yul | 4 +- test/libyul/objectCompiler/datasize_self.yul | 4 +- .../libyul/objectCompiler/function_series.yul | 4 +- ..._long_name_does_not_end_up_in_bytecode.yul | 4 +- test/libyul/objectCompiler/linkersymbol.yul | 4 +- .../objectCompiler/long_object_name.yul | 4 +- test/libyul/objectCompiler/metadata.yul | 4 +- .../libyul/objectCompiler/namedObjectCode.yul | 4 +- .../objectCompiler/nested_optimizer.yul | 4 +- test/libyul/objectCompiler/simple.yul | 4 +- .../objectCompiler/simple_optimizer.yul | 4 +- .../libyul/objectCompiler/sourceLocations.yul | 4 +- .../libyul/objectCompiler/subObjectAccess.yul | 4 +- 267 files changed, 949 insertions(+), 934 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 7bb4c51f4..d893a3b66 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 2e45f9892..4be427f19 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 0165de0f6..25244e13c 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 2ff0883ed..3931728da 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 258f68b31..6a0c597db 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 7932ecdad..9f0239624 100644 --- a/liblangutil/EVMVersion.h +++ b/liblangutil/EVMVersion.h @@ -113,7 +113,7 @@ private: 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 97d0a337e..3bca968a5 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 100bae912..cb1766d9a 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 071e0076e..b9ca3f3c4 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 ef16b1990..889514d96 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 d9684242a..169e99961 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 cb5e7bf96..520b3cf7b 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 261856e96..a919ba72e 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 84204264d..660876888 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 521d26bfd..5babd2279 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 b161a93f8..0eba8cf84 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 e7dc14542..71d19f7ae 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 103b67e2e..6f3ee5eb7 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 59acd6ae2..bc2e167b3 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 16025d061..0328ece3f 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 93d7b7795..5dd572272 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 d4f665186..bbbb6b96f 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 0f7a59b97..8fb291b86 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 3ffa826b8..86d249576 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 8a7bec790..cfbb96bfa 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 f3dc84340..cd0dce30c 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 6f4ba8390..b7fcabaac 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 991fcbdb0..22259fff7 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 d9a25138f..37fed8644 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 8b256d797..3c7137f73 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 e819395a4..0f280c9a0 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 086cde8ef..8bc0be7a2 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 da433a9e5..aacb333bf 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 26e2104f2..2d4100df4 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 fa0db135d..0d24ef505 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 21369e6f7..e1cce4acd 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 ae38258f0..83e55c1a9 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 c76fc852e..6bf8f8939 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 fca8d2695..e921fcf12 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 bf66fe182..d2c391582 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 28ddf2af0..e20e1d982 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 8dc59b094..6ad4dd3be 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 c934c710e..982fcd28f 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 1e4995833..afb442ed7 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 fd7bc2083..61360868b 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 328de20a5..e043853e0 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 fa62b4f77..575b75907 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 2eef62d17..8d98179d9 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 58b38a9c3..a0b732cae 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 e0ab2c97f..e3075052c 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 a45d8d599..d6c38e3a0 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 689bb9810..915514754 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 1ec1ca4c5..1b1f360f4 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 16f365bd4..c72ac0075 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 15ba6f7de..93fe74c99 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 29fa81ffe..c4d754843 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 d8cad3e8d..116582415 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 676e3759e..1b6e461a3 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 daa78f0b4..ffe98ee43 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 1d9d427ae..6b3f4643c 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 c8083b6c3..6a611cc17 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 6772deab0..b59afd039 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 e1de31f42..9c3a426fe 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 97f7a1269..91948540f 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 ed54d0279..05a663c0b 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 bb1e904f0..e5fd0a2d7 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 2165483ec..554f4361a 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 387ef0930..04dcf2d34 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 fc51f4e30..ffd4b5403 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 6afd8f88f..3be5ba29f 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 88506585e..d88aaebcd 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 27f687360..ebc6dadbe 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 86da315c3..55e20f917 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 1599f0d35..80364f025 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 a85765cd9..03f58e119 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 ed8e2746e..d17e45a2f 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 960343916..113269ea2 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 5e12fa657..29c845f13 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 749b70417..1582b7118 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 99e6b06f0..8b750efa7 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 3f74616c2..f7f056065 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 c42b67998..4339c89b5 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 27f1a6aa0..c9c6e3228 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 fa73987bf..a3f800b08 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 fb0e49b47..160697c6b 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 c4ffe543f..c2ab09c64 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 4ee91191c..e139e200f 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 02872f8dd..8cc849ecd 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 d86eb748d..08e427eea 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 3b150f4f7..9a2ab14cb 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 6576149eb..dc30e44b6 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 a7487a64f..ec193d693 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 09653d536..3024f44ad 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 49d307fe2..b60a7c3c2 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 031461056..e175dd87c 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 fbb7244c5..cbb87a278 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 bd9444638..5c36ed3f3 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 d13381d80..0deb396d3 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 99ee19d7a..523a0ebeb 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 f0f0b3fbd..9448970b7 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 0905266d8..3f629686f 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 0573760eb..90b5b85d6 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 c2dda730d..9a111e2bc 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 ef7ff3232..edb657ad9 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 a4c556622..61d5ccf86 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 e938b03d6..d4d535950 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 b13d15e17..20b894082 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 1c7266611..58fc1c13d 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 cc61509d4..ca6362b5c 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 fe87b79ee..f435d9136 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 8bd1eb18a..3a52e0a58 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 409bb2983..68db47519 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 16d10a36d..074ca934f 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 0da09064c..c402c14b2 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 1f9011abd..60d65cb59 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 218e8f1c7..13b350262 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 b4ab1cc61..64c7f06a5 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 c519d11ce..5b7205553 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 ddcae981f..f7a863b46 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 550e74a6f..2a7863015 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 eabcb1666..0f3f7783d 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 46eae913d..b40bfaced 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 8fed11241..341a4c9d9 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 fbef4ccfa..0d099815b 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 9aadf0db0..a653db837 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 9d1b02b22..13d510f80 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 8ff67048c..d6e7160be 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 90957b0dd..4c5f64695 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 cb4a14c05..51f93db7a 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 4416635b6..08a89e00b 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 2749f0102..71fec7bda 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 71bd36b90..316bb39da 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 0ff2ea5f8..815c1768c 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 5292182b9..7f80f1bd0 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 2ef781a70..6a657032b 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 a56aef2cd..1a74ea972 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 cb917cef0..3528e4c81 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 0c0343654..95a2b012c 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 7ce41ffff..f6eb8e127 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 095109a18..6416afb2d 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 18f20c021..0dbd7c11b 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 63f974498..87616f1f5 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 04f94b3db..f7918bbb4 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 9718f303c..91a6a0b37 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 119e4ca28..08cfe58a3 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 71a21820d..b2fbbc977 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 4938e6e45..4b5a2b89d 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 dae522e57..8ba57af02 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 d4dafdb73..8ade9f2ec 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 e2d0ba7ac..d76260c9a 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 9fc432e8c..8df274158 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 1d311be80..22287f40e 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 4e3f92c81..1c210290a 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 905114aba..99260d2ef 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 3f12c4e27..4f8ebefea 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 220db16d5..f9c4a4509 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 7daf503d4..b6242379e 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 bad890226..c38404df5 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 4f9984503..6b1b6704a 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 1f10b6277..b60564665 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 5304a9b1b..13bdb625b 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 8580d2150..fc2dd8f71 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 d34fb896c..a0b4c772d 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 f9f06134f..057496c6d 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 a2862d689..5c5138742 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 442a5299a..7b9a9400b 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 aa5074fa2..8659129a8 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 aeaf20c75..a6283f274 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 d281d6f27..f2ee4894f 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 37be5e14d..328b55ec9 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 48f7247a6..38bb47759 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 bf257815a..7860560f6 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 5cea75abe..6cda4f1e9 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 b4b7054a4..b3ba44964 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 bb7654211..254befe01 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 a134fe86a..c2ad61557 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 6daaa5407..c98c4e312 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 b6c33fd07..6ae5af9ff 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 c6a556a19..9c9d52fd2 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 0c81a0bae..0255dd9bf 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 d0c3c4d80..e8efe09fa 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 f004d9472..8fe807e63 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 aacaa0e0a..ffe7a7f37 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 977f1a56a..646536de6 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 48365a61a..c4ff3c58c 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 99ca5e3f7..bb2221f2c 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 1a120beba..b78951c41 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 ba8b65bbc..43b49c422 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 88f3ed5eb..89dcd7505 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 364ac525e..ff10c13aa 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 fac3a61ad..157b7e10f 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 cfa124c25..fbe519849 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 388a4de42..426cf7b19 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 44cbb1e14..c057164d0 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 8917ad68e..f905856c5 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 5013ef4ce..1746fd0db 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 9caaa89b9..7b4e05b72 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 f4f9405b6..41c700976 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 80e831a4c..3ac843eed 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 888c9c048..465dcebb1 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 0f95d2cda..85de20f70 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 1d51576e8..904a1cdf8 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 1b138bdbb..7116407b6 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 80869b5aa..f241cc2da 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 d51b99b59..514b424f6 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 bdf2ed446..0b603d97e 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 b834f8018..eb1d73a44 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 f6830a202..62138a9b2 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 7341b85c6..20755a069 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 a2f7ba1d8..a3131d564 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 1f6987199..0bcc74b6b 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 3d062fc95..52ad00649 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 5057b0efa..9aa41a342 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 ba890a4ae..aed54f98b 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 e91fa839e..29618bb04 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 aecde10dc..ec989b508 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 e575fb8f1..e5c02001f 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 9d157d70e..12b514a23 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 48a4f08e0..4a64f0813 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 e5960ce1e..956416a96 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 d33b8fd02..53d1ca93a 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 d2300d493..7ec85c929 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 e2821a5a6..46094d376 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 ada5534ca..61456cd7e 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 4315095ac..daf5d000c 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 b2acbb01f..1e58c9b03 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 64724983a..31e754a9b 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 8db7a9a05..296370a7f 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 8dcdd13e7..b944100b9 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 5ed7db5a3..9ce796ad0 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 ae3825651..d6c4f9802 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 588ed3ac5..701218ae6 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 0e17ae2a2..84fd393bd 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 c67e8434a..fc4e885ff 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 59b468fce..e2c8c5263 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 236ebbce5..47f4005e3 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 55c201513..8b88d03bc 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 52fce16f5..92b6b5650 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 b823bd14d..081f3ef33 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 8241ec554..892149b3b 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 cd34a419d..ec94f73a1 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 413e129ef..e84dac23f 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 129a78931..a21065bf7 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 6f57e9e32..cd7243a13 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 8aba90d96..7fb6d5021 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 502e4bde1..4b8f599a8 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 73042b18b..257893ad5 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 f1ae73f74..9926d43a9 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 385c253df..b5cc61187 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 b6ec642f0..a5fbfb7b0 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 00184feab..e363ec7c6 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 bc066c802..2bb68e8a8 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 163cd7574..e56097ab5 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 fc26e4eb9..0a379cb33 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 a9ba7b027..815e78fe4 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 d4a3c8d06..178e3a948 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 f905c04b5..10a018160 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 dcc41e7a0..e991dc6b7 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 9dac37448..a28ee23e2 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 67ef5e407..aa2dd1ac2 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 ac66e4bda..5a75507ba 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 b13bdae5e..f9e97bec4 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 7b972286f..cde1210ff 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 3e7d1859f..d94b53de9 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 47fa6553a..3ce4b7a4b 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 4e75d05e7..849d275fe 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 1899551fd..e8bf0bcaf 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