diff --git a/test/cmdlineTests/optimizer_array_sload/output b/test/cmdlineTests/optimizer_array_sload/output index 2698a60cf..b32d421d0 100644 --- a/test/cmdlineTests/optimizer_array_sload/output +++ b/test/cmdlineTests/optimizer_array_sload/output @@ -34,15 +34,8 @@ object "Arraysum_34" { /** @src 0:380:397 "i < values.length" */ lt(var_i, _2) /// @src 0:368:378 "uint i = 0" { - /// @src 0:80:429 "contract Arraysum {..." - if eq(var_i, not(0)) - { - mstore(0, shl(224, 0x4e487b71)) - mstore(_1, 0x11) - revert(0, 0x24) - } /// @src 0:399:402 "i++" - var_i := /** @src 0:80:429 "contract Arraysum {..." */ add(var_i, 1) + var_i := /** @src 0:80:429 "contract Arraysum {..." */ add(/** @src 0:399:402 "i++" */ var_i, /** @src 0:80:429 "contract Arraysum {..." */ 1) } /// @src 0:399:402 "i++" { diff --git a/test/libsolidity/ASTJSON/documentation_local_variable.json b/test/libsolidity/ASTJSON/documentation_local_variable.json index edaa89c18..62d76e782 100644 --- a/test/libsolidity/ASTJSON/documentation_local_variable.json +++ b/test/libsolidity/ASTJSON/documentation_local_variable.json @@ -283,6 +283,7 @@ "nodeType": "VariableDeclarationStatement", "src": "212:10:1" }, + "isSimpleCounterLoop": true, "loopExpression": { "expression": diff --git a/test/libsolidity/ASTJSON/documentation_local_variable.sol b/test/libsolidity/ASTJSON/documentation_local_variable.sol index a593e0194..b21602d92 100644 --- a/test/libsolidity/ASTJSON/documentation_local_variable.sol +++ b/test/libsolidity/ASTJSON/documentation_local_variable.sol @@ -21,4 +21,5 @@ contract C { uint param3 ) public {} } + // ---- diff --git a/test/libsolidity/ASTJSON/documentation_on_statements.json b/test/libsolidity/ASTJSON/documentation_on_statements.json index f7b424ea6..cc4a1ef3c 100644 --- a/test/libsolidity/ASTJSON/documentation_on_statements.json +++ b/test/libsolidity/ASTJSON/documentation_on_statements.json @@ -244,6 +244,7 @@ "nodeType": "VariableDeclarationStatement", "src": "131:10:1" }, + "isSimpleCounterLoop": true, "loopExpression": { "expression": diff --git a/test/libsolidity/ASTJSON/documentation_on_statements.sol b/test/libsolidity/ASTJSON/documentation_on_statements.sol index 9506bb05c..235fa3d20 100644 --- a/test/libsolidity/ASTJSON/documentation_on_statements.sol +++ b/test/libsolidity/ASTJSON/documentation_on_statements.sol @@ -12,4 +12,5 @@ contract C { return x; } } + // ---- diff --git a/test/libsolidity/ASTJSON/documentation_triple.json b/test/libsolidity/ASTJSON/documentation_triple.json index bd6f483b5..cd44bd4eb 100644 --- a/test/libsolidity/ASTJSON/documentation_triple.json +++ b/test/libsolidity/ASTJSON/documentation_triple.json @@ -253,6 +253,7 @@ "nodeType": "VariableDeclarationStatement", "src": "117:10:1" }, + "isSimpleCounterLoop": true, "loopExpression": { "expression": diff --git a/test/libsolidity/ASTJSON/documentation_triple.sol b/test/libsolidity/ASTJSON/documentation_triple.sol index 5b14e58f6..578933d9c 100644 --- a/test/libsolidity/ASTJSON/documentation_triple.sol +++ b/test/libsolidity/ASTJSON/documentation_triple.sol @@ -12,4 +12,5 @@ contract C { return x; } } + // ---- diff --git a/test/libsolidity/semanticTests/abiEncoderV1/abi_encode_calldata_slice.sol b/test/libsolidity/semanticTests/abiEncoderV1/abi_encode_calldata_slice.sol index 53bc3faba..491a64c28 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: 360863 -// gas legacy: 411269 -// gas legacyOptimized: 317754 +// gas irOptimized: 321332 +// gas legacy: 319111 +// gas legacyOptimized: 269317 // test_uint256() -> -// gas irOptimized: 509677 -// gas legacy: 577469 -// gas legacyOptimized: 441003 +// gas irOptimized: 447844 +// gas legacy: 433627 +// gas legacyOptimized: 365410 diff --git a/test/libsolidity/semanticTests/abiEncoderV2/abi_encode_calldata_slice.sol b/test/libsolidity/semanticTests/abiEncoderV2/abi_encode_calldata_slice.sol index 975e9f477..7d5d25a44 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: 360863 -// gas legacy: 411269 -// gas legacyOptimized: 317754 +// gas irOptimized: 321332 +// gas legacy: 319111 +// gas legacyOptimized: 269317 // test_uint256() -> -// gas irOptimized: 509677 -// gas legacy: 577469 -// gas legacyOptimized: 441003 +// gas irOptimized: 447844 +// gas legacy: 433627 +// gas legacyOptimized: 365410 diff --git a/test/libsolidity/semanticTests/abiEncoderV2/calldata_array.sol b/test/libsolidity/semanticTests/abiEncoderV2/calldata_array.sol index 12920a70a..22aad6749 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: 126851 -// gas legacy: 139800 +// gas irOptimized: 120043 +// gas legacy: 101568 // gas legacyOptimized: 119092 diff --git a/test/libsolidity/semanticTests/array/array_memory_index_access.sol b/test/libsolidity/semanticTests/array/array_memory_index_access.sol index e8b6cd48f..d313e7acb 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: 135066 -// gas legacy: 241703 -// gas legacyOptimized: 151613 +// gas irOptimized: 108291 +// gas legacy: 181523 +// gas legacyOptimized: 117443 // 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 1ea50824f..2589e4709 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: 3016570 -// gas legacy: 3069098 -// gas legacyOptimized: 3013250 +// gas irOptimized: 3003025 +// gas legacy: 3038654 +// gas legacyOptimized: 2995964 // test_indices(uint256): 5 -> -// gas irOptimized: 576716 -// gas legacy: 574754 -// gas legacyOptimized: 572383 +// gas irOptimized: 576296 +// gas legacy: 573810 +// gas legacyOptimized: 571847 // test_indices(uint256): 10 -> -// gas irOptimized: 158059 -// gas legacy: 162468 -// gas legacyOptimized: 158336 +// gas irOptimized: 157009 +// gas legacy: 160108 +// gas legacyOptimized: 156996 // test_indices(uint256): 15 -> -// gas irOptimized: 172984 -// gas legacy: 179513 -// gas legacyOptimized: 173606 +// gas irOptimized: 171409 +// gas legacy: 175973 +// gas legacyOptimized: 171596 // test_indices(uint256): 0xFF -> -// gas irOptimized: 5672104 -// gas legacy: 5775928 -// gas legacyOptimized: 5666726 +// gas irOptimized: 5645329 +// gas legacy: 5715748 +// gas legacyOptimized: 5632556 // test_indices(uint256): 1000 -> -// gas irOptimized: 18173701 -// gas legacy: 18583810 -// gas legacyOptimized: 18171248 +// gas irOptimized: 18068701 +// gas legacy: 18347810 +// gas legacyOptimized: 18037248 // test_indices(uint256): 129 -> -// gas irOptimized: 4147676 -// gas legacy: 4164468 -// gas legacyOptimized: 4122100 +// gas irOptimized: 4136840 +// gas legacy: 4140113 +// gas legacyOptimized: 4108272 // test_indices(uint256): 128 -> -// gas irOptimized: 409209 -// gas legacy: 463706 -// gas legacyOptimized: 418061 +// gas irOptimized: 395769 +// gas legacy: 433498 +// gas legacyOptimized: 400909 // test_indices(uint256): 1 -> -// gas irOptimized: 580316 -// gas legacy: 576904 -// gas legacyOptimized: 575649 +// gas irOptimized: 580232 +// gas legacy: 576715 +// gas legacyOptimized: 575542 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 8a8c9a7c2..593358659 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: 131809 -// gas legacy: 132804 -// gas legacyOptimized: 130649 +// gas irOptimized: 131315 +// gas legacy: 131671 +// gas legacyOptimized: 129994 // test_zeroed_indicies(uint256): 10 -> -// gas irOptimized: 225696 -// gas legacy: 227786 -// gas legacyOptimized: 223830 +// gas irOptimized: 224578 +// gas legacy: 225237 +// gas legacyOptimized: 222359 // test_zeroed_indicies(uint256): 15 -> -// gas irOptimized: 323704 -// gas legacy: 326902 -// gas legacyOptimized: 321206 +// gas irOptimized: 321962 +// gas legacy: 322937 +// gas legacyOptimized: 318919 // test_zeroed_indicies(uint256): 0xFF -> -// gas irOptimized: 5112500 -// gas legacy: 5165874 -// gas legacyOptimized: 5062182 +// gas irOptimized: 5080806 +// gas legacy: 5093941 +// gas legacyOptimized: 5020727 diff --git a/test/libsolidity/semanticTests/array/array_storage_push_empty.sol b/test/libsolidity/semanticTests/array/array_storage_push_empty.sol index 9949b59ea..80376b423 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: 404095 -// gas legacy: 415744 -// gas legacyOptimized: 397380 +// gas irOptimized: 401024 +// gas legacy: 400640 +// gas legacyOptimized: 388804 // pushEmpty(uint256): 256 -// gas irOptimized: 689843 -// gas legacy: 715316 -// gas legacyOptimized: 688632 +// gas irOptimized: 683700 +// gas legacy: 685108 +// gas legacyOptimized: 671480 // pushEmpty(uint256): 38869 -> FAILURE # out-of-gas # // gas irOptimized: 100000000 // gas legacy: 100000000 diff --git a/test/libsolidity/semanticTests/array/byte_array_storage_layout.sol b/test/libsolidity/semanticTests/array/byte_array_storage_layout.sol index e5fd0a2d7..942c7337a 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: 105693 -// gas legacyOptimized: 103216 +// gas legacy: 101601 +// gas legacyOptimized: 100477 // 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 ae3d23a63..3e0f02225 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: 125058 -// gas legacy: 150372 -// gas legacyOptimized: 146391 +// gas irOptimized: 123560 +// gas legacy: 147098 +// gas legacyOptimized: 144200 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 2d6198006..6e81269d8 100644 --- a/test/libsolidity/semanticTests/array/copying/array_copy_different_packing.sol +++ b/test/libsolidity/semanticTests/array/copying/array_copy_different_packing.sol @@ -18,6 +18,6 @@ contract c { } // ---- // test() -> 0x01000000000000000000000000000000000000000000000000, 0x02000000000000000000000000000000000000000000000000, 0x03000000000000000000000000000000000000000000000000, 0x04000000000000000000000000000000000000000000000000, 0x05000000000000000000000000000000000000000000000000 -// gas irOptimized: 208074 -// gas legacy: 221769 -// gas legacyOptimized: 220611 +// gas irOptimized: 207889 +// gas legacy: 220707 +// gas legacyOptimized: 220098 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 d28090277..385f2ecfb 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: 4548150 -// gas legacy: 4476222 -// gas legacyOptimized: 4448113 +// gas irOptimized: 4547793 +// gas legacy: 4475396 +// gas legacyOptimized: 4447665 // storageEmpty -> 1 // clear() -> 0, 0 -// gas irOptimized: 4475134 -// gas legacy: 4408014 -// gas legacyOptimized: 4381784 +// gas irOptimized: 4474777 +// gas legacy: 4407188 +// gas legacyOptimized: 4381336 // storageEmpty -> 1 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 b2af9191d..10a48a18c 100644 --- a/test/libsolidity/semanticTests/array/copying/array_copy_target_leftover.sol +++ b/test/libsolidity/semanticTests/array/copying/array_copy_target_leftover.sol @@ -17,6 +17,6 @@ contract c { } // ---- // test() -> 0xffffffff, 0x0000000000000000000000000a00090008000700060005000400030002000100, 0x0000000000000000000000000000000000000000000000000000000000000000 -// gas irOptimized: 104526 -// gas legacy: 166874 -// gas legacyOptimized: 145474 +// gas irOptimized: 100980 +// gas legacy: 158142 +// gas legacyOptimized: 141096 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 db66a5508..a839e3bb4 100644 --- a/test/libsolidity/semanticTests/array/copying/array_copy_target_simple.sol +++ b/test/libsolidity/semanticTests/array/copying/array_copy_target_simple.sol @@ -18,6 +18,6 @@ contract c { } // ---- // test() -> 0x01000000000000000000000000000000000000000000000000, 0x02000000000000000000000000000000000000000000000000, 0x03000000000000000000000000000000000000000000000000, 0x04000000000000000000000000000000000000000000000000, 0x0 -// gas irOptimized: 273563 -// gas legacy: 283666 -// gas legacyOptimized: 282023 +// gas irOptimized: 273372 +// gas legacy: 282604 +// gas legacyOptimized: 281510 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 bf1e1bc1b..f9e1cbd27 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 @@ -18,6 +18,6 @@ contract c { } // ---- // test() -> 0x01000000000000000000000000000000000000000000000000, 0x02000000000000000000000000000000000000000000000000, 0x03000000000000000000000000000000000000000000000000, 0x04000000000000000000000000000000000000000000000000, 0x00 -// gas irOptimized: 233255 -// gas legacy: 236523 -// gas legacyOptimized: 235592 +// gas irOptimized: 233118 +// gas legacy: 235697 +// gas legacyOptimized: 235193 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 e3998e955..c6e6c5876 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: 327383 +// gas irOptimized: 326771 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 968f637a4..38dbe52bc 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: 109219 -// gas legacy: 123948 -// gas legacyOptimized: 118948 +// gas irOptimized: 104476 +// gas legacy: 112974 +// gas legacyOptimized: 112717 // f(uint256): 32 -> 0x20, 0x20, 1780731860627700044960722568376592200742329637303199754547598369979440671 -// gas irOptimized: 123858 -// gas legacy: 140362 -// gas legacyOptimized: 135384 +// gas irOptimized: 118962 +// gas legacy: 129034 +// gas legacyOptimized: 128952 // f(uint256): 33 -> 0x20, 33, 1780731860627700044960722568376592200742329637303199754547598369979440671, 0x2000000000000000000000000000000000000000000000000000000000000000 -// gas irOptimized: 130468 -// gas legacy: 147916 -// gas legacyOptimized: 142276 +// gas irOptimized: 125419 +// gas legacy: 136234 +// gas legacyOptimized: 135643 // f(uint256): 63 -> 0x20, 0x3f, 1780731860627700044960722568376592200742329637303199754547598369979440671, 14532552714582660066924456880521368950258152170031413196862950297402215316992 -// gas irOptimized: 139168 -// gas legacy: 171136 -// gas legacyOptimized: 161536 +// gas irOptimized: 129529 +// gas legacy: 148834 +// gas legacyOptimized: 148873 // f(uint256): 12 -> 0x20, 0x0c, 0x0102030405060708090a0b0000000000000000000000000000000000000000 // gas legacy: 59345 // gas legacyOptimized: 57279 // f(uint256): 129 -> 0x20, 0x81, 1780731860627700044960722568376592200742329637303199754547598369979440671, 0x202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f, 29063324697304692433803953038474361308315562010425523193971352996434451193439, 0x606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f, -57896044618658097711785492504343953926634992332820282019728792003956564819968 -// gas irOptimized: 441648 -// gas legacy: 505021 -// gas legacyOptimized: 486995 +// gas irOptimized: 421911 +// gas legacy: 459355 +// gas legacyOptimized: 461066 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 599d23c80..79882a74b 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: 128094 -// gas legacy: 130584 -// gas legacyOptimized: 129028 +// gas irOptimized: 127422 +// gas legacy: 129050 +// gas legacyOptimized: 128222 diff --git a/test/libsolidity/semanticTests/array/copying/storage_memory_nested.sol b/test/libsolidity/semanticTests/array/copying/storage_memory_nested.sol index 7c2f0e55e..9a2fbb4d9 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: 205879 -// gas legacy: 212237 -// gas legacyOptimized: 211425 +// gas irOptimized: 205783 +// gas legacy: 211765 +// gas legacyOptimized: 211181 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 cda6d129a..3606d7d60 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: 205879 -// gas legacy: 212242 -// gas legacyOptimized: 211430 +// gas irOptimized: 205783 +// gas legacy: 211770 +// gas legacyOptimized: 211186 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 5617e2fcc..3ba5604a7 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: 109702 -// gas legacy: 126129 -// gas legacyOptimized: 120622 +// gas irOptimized: 109108 +// gas legacy: 122235 +// gas legacyOptimized: 118411 diff --git a/test/libsolidity/semanticTests/array/delete/bytes_delete_element.sol b/test/libsolidity/semanticTests/array/delete/bytes_delete_element.sol index 146206ae0..fffea685a 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: 206388 -// gas legacy: 254056 -// gas legacyOptimized: 246892 +// gas irOptimized: 204782 +// gas legacy: 242256 +// gas legacyOptimized: 241192 diff --git a/test/libsolidity/semanticTests/array/dynamic_array_cleanup.sol b/test/libsolidity/semanticTests/array/dynamic_array_cleanup.sol index a04ea013a..eb950d183 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: 519266 -// gas legacy: 521414 -// gas legacyOptimized: 516983 +// gas irOptimized: 519017 +// gas legacy: 518936 +// gas legacyOptimized: 515555 // storageEmpty -> 0 // halfClear() -> // gas irOptimized: 113961 diff --git a/test/libsolidity/semanticTests/array/fixed_array_cleanup.sol b/test/libsolidity/semanticTests/array/fixed_array_cleanup.sol index a354cf804..b4d9a30ec 100644 --- a/test/libsolidity/semanticTests/array/fixed_array_cleanup.sol +++ b/test/libsolidity/semanticTests/array/fixed_array_cleanup.sol @@ -10,9 +10,9 @@ contract c { // ---- // storageEmpty -> 1 // fill() -> -// gas irOptimized: 465314 -// gas legacy: 471178 -// gas legacyOptimized: 467478 +// gas irOptimized: 464834 +// gas legacy: 468818 +// gas legacyOptimized: 466238 // storageEmpty -> 0 // clear() -> // gas irOptimized: 122148 diff --git a/test/libsolidity/semanticTests/array/function_array_cross_calls.sol b/test/libsolidity/semanticTests/array/function_array_cross_calls.sol index fe72091af..773e904cc 100644 --- a/test/libsolidity/semanticTests/array/function_array_cross_calls.sol +++ b/test/libsolidity/semanticTests/array/function_array_cross_calls.sol @@ -42,6 +42,6 @@ contract C { } // ---- // test() -> 5, 6, 7 -// gas irOptimized: 256288 -// gas legacy: 441556 -// gas legacyOptimized: 279321 +// gas irOptimized: 255728 +// gas legacy: 440376 +// gas legacyOptimized: 278651 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 95156f5c6..5b1a61839 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 @@ -9,6 +9,6 @@ contract c { } // ---- // test() -> 0x20, 33, 0x303030303030303030303030303030303030303030303030303030303030303, 0x0300000000000000000000000000000000000000000000000000000000000000 -// gas irOptimized: 107962 -// gas legacy: 125420 -// gas legacyOptimized: 122472 +// gas irOptimized: 107343 +// gas legacy: 121408 +// gas legacyOptimized: 120534 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 808d0d866..5f1fe0fac 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: 171996 -// gas legacy: 215891 -// gas legacyOptimized: 203615 +// gas irOptimized: 167700 +// gas legacy: 206219 +// gas legacyOptimized: 197297 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 860c74337..b19ebcc73 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: 182328 -// gas legacy: 183445 -// gas legacyOptimized: 178995 +// gas irOptimized: 180849 +// gas legacy: 175185 +// gas legacyOptimized: 175005 // l() -> 70 // a(uint256): 69 -> left(69) // f() -> diff --git a/test/libsolidity/semanticTests/events/event_indexed_string.sol b/test/libsolidity/semanticTests/events/event_indexed_string.sol index a503d44f5..739619066 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: 330920 -// gas legacy: 387608 -// gas legacyOptimized: 373771 +// gas irOptimized: 328856 +// gas legacy: 365828 +// gas legacyOptimized: 362251 diff --git a/test/libsolidity/semanticTests/externalContracts/base64.sol b/test/libsolidity/semanticTests/externalContracts/base64.sol index 1e366f75f..cc0331e71 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: 406679 -// gas legacy: 737652 -// gas legacyOptimized: 527036 +// gas irOptimized: 405844 +// gas legacy: 735054 +// gas legacyOptimized: 522722 // 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: 1373025 -// gas legacy: 1672031 -// gas legacyOptimized: 1199031 +// gas irOptimized: 1322025 +// gas legacy: 1554031 +// gas legacyOptimized: 1132031 // encode_no_asm_large() -// gas irOptimized: 3257081 -// gas legacy: 4705075 -// gas legacyOptimized: 2890075 +// gas irOptimized: 3206081 +// gas legacy: 4587075 +// gas legacyOptimized: 2823075 diff --git a/test/libsolidity/semanticTests/externalContracts/deposit_contract.sol b/test/libsolidity/semanticTests/externalContracts/deposit_contract.sol index 8108e64f4..4f3342dea 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: 1397699 -// gas legacy: 2391952 +// gas irOptimized: 1386886 +// gas legacy: 2369061 // gas legacyOptimized: 1740144 // 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: 116863 -// gas legacy: 151981 -// gas legacyOptimized: 124447 +// gas irOptimized: 115231 +// gas legacy: 148205 +// gas legacyOptimized: 122303 // 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: 116863 -// gas legacy: 151981 -// gas legacyOptimized: 124447 +// gas irOptimized: 115231 +// gas legacy: 148205 +// gas legacyOptimized: 122303 // 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: 116848 -// gas legacy: 151990 -// gas legacyOptimized: 124459 +// gas irOptimized: 115216 +// gas legacy: 148214 +// gas legacyOptimized: 122315 // 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: 116848 -// gas legacy: 151990 -// gas legacyOptimized: 124459 +// gas irOptimized: 115216 +// gas legacy: 148214 +// gas legacyOptimized: 122315 // 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 8d0a99382..329aafc10 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: 1847920 -// gas legacy: 2430726 -// gas legacyOptimized: 1854979 +// gas irOptimized: 1841716 +// gas legacy: 2414091 +// gas legacyOptimized: 1847616 // 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 2442493d7..22e52840a 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: 1722598 -// gas legacy: 2210160 -// gas legacyOptimized: 1734152 +// gas irOptimized: 1716771 +// gas legacy: 2193550 +// gas legacyOptimized: 1725061 // 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 a1f1d6395..3f555405d 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: 407075 -// gas legacy: 631753 -// gas legacyOptimized: 459425 +// gas irOptimized: 407507 +// gas legacy: 615090 +// gas legacyOptimized: 451871 // prb_pi() -> 3141592656369545286 // gas irOptimized: 57478 -// gas legacy: 101655 +// gas legacy: 100947 // gas legacyOptimized: 75735 diff --git a/test/libsolidity/semanticTests/externalContracts/snark.sol b/test/libsolidity/semanticTests/externalContracts/snark.sol index e92f95b4a..d3492a5c6 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: 269901 -// gas legacy: 275678 -// gas legacyOptimized: 267193 +// gas irOptimized: 269697 +// gas legacy: 275206 +// gas legacyOptimized: 266925 // verifyTx() -> true // ~ emit Verified(string): 0x20, 0x16, "Successfully verified." -// gas irOptimized: 783281 -// gas legacy: 804346 -// gas legacyOptimized: 772349 +// gas irOptimized: 782210 +// gas legacy: 801868 +// gas legacyOptimized: 770942 diff --git a/test/libsolidity/semanticTests/externalContracts/strings.sol b/test/libsolidity/semanticTests/externalContracts/strings.sol index 817f6702e..6a3013b88 100644 --- a/test/libsolidity/semanticTests/externalContracts/strings.sol +++ b/test/libsolidity/semanticTests/externalContracts/strings.sol @@ -49,9 +49,9 @@ contract test { } // ---- // constructor() -// gas irOptimized: 634316 -// gas legacy: 1065857 -// gas legacyOptimized: 725423 +// gas irOptimized: 630860 +// gas legacy: 1061957 +// gas legacyOptimized: 718937 // 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: 1981677 -// gas legacy: 4235651 -// gas legacyOptimized: 2319622 +// gas irOptimized: 1980957 +// gas legacy: 4233999 +// gas legacyOptimized: 2318684 diff --git a/test/libsolidity/semanticTests/libraries/internal_types_in_library.sol b/test/libsolidity/semanticTests/libraries/internal_types_in_library.sol index 5aeff319c..79d53273b 100644 --- a/test/libsolidity/semanticTests/libraries/internal_types_in_library.sol +++ b/test/libsolidity/semanticTests/libraries/internal_types_in_library.sol @@ -22,6 +22,6 @@ contract Test { // ---- // library: Lib // f() -> 4, 0x11 -// gas irOptimized: 112064 -// gas legacy: 135413 -// gas legacyOptimized: 119325 +// gas irOptimized: 111560 +// gas legacy: 132935 +// gas legacyOptimized: 118023 diff --git a/test/libsolidity/semanticTests/userDefinedValueType/calldata.sol b/test/libsolidity/semanticTests/userDefinedValueType/calldata.sol index f9c2d333a..9ed64be08 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: 122393 -// gas legacy: 126030 -// gas legacyOptimized: 123120 +// gas irOptimized: 122078 +// gas legacy: 125322 +// gas legacyOptimized: 122709 // test_g() -> true -// gas irOptimized: 106740 -// gas legacy: 112300 -// gas legacyOptimized: 107649 +// gas irOptimized: 106215 +// gas legacy: 111120 +// gas legacyOptimized: 106964 // addresses(uint256): 0 -> 0x18 // addresses(uint256): 1 -> 0x19 // addresses(uint256): 3 -> 0x1b