diff --git a/test/libsolidity/semanticTests/abiEncoderV1/abi_decode_fixed_arrays.sol b/test/libsolidity/semanticTests/abiEncoderV1/abi_decode_fixed_arrays.sol index b421f7bd0..9890fb0a7 100644 --- a/test/libsolidity/semanticTests/abiEncoderV1/abi_decode_fixed_arrays.sol +++ b/test/libsolidity/semanticTests/abiEncoderV1/abi_decode_fixed_arrays.sol @@ -5,6 +5,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // f(uint16[3],uint16[2][3],uint256,uint256,uint256): 1, 2, 3, 11, 12, 21, 22, 31, 32, 1, 2, 1 -> 2, 32 diff --git a/test/libsolidity/semanticTests/abiEncoderV1/abi_decode_v2.sol b/test/libsolidity/semanticTests/abiEncoderV1/abi_decode_v2.sol index 6f1c652a0..443ee57e5 100644 --- a/test/libsolidity/semanticTests/abiEncoderV1/abi_decode_v2.sol +++ b/test/libsolidity/semanticTests/abiEncoderV1/abi_decode_v2.sol @@ -19,6 +19,7 @@ contract C { } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // f() -> 0x20, 0x8, 0x40, 0x3, 0x9, 0xa, 0xb diff --git a/test/libsolidity/semanticTests/abiEncoderV1/abi_decode_v2_storage.sol b/test/libsolidity/semanticTests/abiEncoderV1/abi_decode_v2_storage.sol index 91d8447a9..f09571932 100644 --- a/test/libsolidity/semanticTests/abiEncoderV1/abi_decode_v2_storage.sol +++ b/test/libsolidity/semanticTests/abiEncoderV1/abi_decode_v2_storage.sol @@ -21,6 +21,7 @@ contract C { } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // f() -> 0x20, 0x8, 0x40, 0x3, 0x9, 0xa, 0xb diff --git a/test/libsolidity/semanticTests/abiEncoderV1/abi_encode_call.sol b/test/libsolidity/semanticTests/abiEncoderV1/abi_encode_call.sol index d11914fce..d33ffff5e 100644 --- a/test/libsolidity/semanticTests/abiEncoderV1/abi_encode_call.sol +++ b/test/libsolidity/semanticTests/abiEncoderV1/abi_encode_call.sol @@ -23,6 +23,7 @@ contract C { } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // f() -> true diff --git a/test/libsolidity/semanticTests/abiEncoderV1/abi_encode_calldata_slice.sol b/test/libsolidity/semanticTests/abiEncoderV1/abi_encode_calldata_slice.sol index 61b8f3810..f492bfafa 100644 --- a/test/libsolidity/semanticTests/abiEncoderV1/abi_encode_calldata_slice.sol +++ b/test/libsolidity/semanticTests/abiEncoderV1/abi_encode_calldata_slice.sol @@ -56,6 +56,7 @@ contract C { } } // ==== +// requiresYulOptimizer: full // EVMVersion: >homestead // compileViaYul: also // ---- diff --git a/test/libsolidity/semanticTests/abiEncoderV1/byte_arrays.sol b/test/libsolidity/semanticTests/abiEncoderV1/byte_arrays.sol index fbe533bb4..f8105c7b7 100644 --- a/test/libsolidity/semanticTests/abiEncoderV1/byte_arrays.sol +++ b/test/libsolidity/semanticTests/abiEncoderV1/byte_arrays.sol @@ -10,6 +10,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // f(uint256,bytes,uint256): 6, 0x60, 9, 7, "abcdefg" -> 6, 7, "d", 9 diff --git a/test/libsolidity/semanticTests/abiEncoderV1/decode_slice.sol b/test/libsolidity/semanticTests/abiEncoderV1/decode_slice.sol index a85504db4..af58aedb8 100644 --- a/test/libsolidity/semanticTests/abiEncoderV1/decode_slice.sol +++ b/test/libsolidity/semanticTests/abiEncoderV1/decode_slice.sol @@ -7,6 +7,7 @@ contract C { } // ==== +// requiresYulOptimizer: full // compileToEwasm: also // compileViaYul: also // ---- diff --git a/test/libsolidity/semanticTests/abiEncoderV1/dynamic_arrays.sol b/test/libsolidity/semanticTests/abiEncoderV1/dynamic_arrays.sol index 8813be109..15b0c0cb9 100644 --- a/test/libsolidity/semanticTests/abiEncoderV1/dynamic_arrays.sol +++ b/test/libsolidity/semanticTests/abiEncoderV1/dynamic_arrays.sol @@ -5,6 +5,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // f(uint256,uint16[],uint256): 6, 0x60, 9, 7, 11, 12, 13, 14, 15, 16, 17 -> 7, 17, 9 diff --git a/test/libsolidity/semanticTests/abiEncoderV1/memory_params_in_external_function.sol b/test/libsolidity/semanticTests/abiEncoderV1/memory_params_in_external_function.sol index b86129d77..ca77c537a 100644 --- a/test/libsolidity/semanticTests/abiEncoderV1/memory_params_in_external_function.sol +++ b/test/libsolidity/semanticTests/abiEncoderV1/memory_params_in_external_function.sol @@ -13,6 +13,7 @@ contract C { } } // ==== +// requiresYulOptimizer: full // compileViaYul: also // ---- // g() -> 3, 0x6200000000000000000000000000000000000000000000000000000000000000, 3, 0x6600000000000000000000000000000000000000000000000000000000000000, 4, 7 diff --git a/test/libsolidity/semanticTests/abiEncoderV1/return_dynamic_types_cross_call_advanced.sol b/test/libsolidity/semanticTests/abiEncoderV1/return_dynamic_types_cross_call_advanced.sol index aee924a80..881e17494 100644 --- a/test/libsolidity/semanticTests/abiEncoderV1/return_dynamic_types_cross_call_advanced.sol +++ b/test/libsolidity/semanticTests/abiEncoderV1/return_dynamic_types_cross_call_advanced.sol @@ -12,6 +12,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // EVMVersion: >homestead // compileViaYul: also // ---- diff --git a/test/libsolidity/semanticTests/abiEncoderV1/struct/struct_storage_ptr.sol b/test/libsolidity/semanticTests/abiEncoderV1/struct/struct_storage_ptr.sol index 458c11893..736ced826 100644 --- a/test/libsolidity/semanticTests/abiEncoderV1/struct/struct_storage_ptr.sol +++ b/test/libsolidity/semanticTests/abiEncoderV1/struct/struct_storage_ptr.sol @@ -22,6 +22,7 @@ contract C { } } // ==== +// requiresYulOptimizer: full // compileViaYul: also // ---- // library: L diff --git a/test/libsolidity/semanticTests/abiEncoderV2/abi_encode_calldata_slice.sol b/test/libsolidity/semanticTests/abiEncoderV2/abi_encode_calldata_slice.sol index 7b7854c23..25d22a6d5 100644 --- a/test/libsolidity/semanticTests/abiEncoderV2/abi_encode_calldata_slice.sol +++ b/test/libsolidity/semanticTests/abiEncoderV2/abi_encode_calldata_slice.sol @@ -57,6 +57,7 @@ contract C { } } // ==== +// requiresYulOptimizer: full // EVMVersion: >homestead // compileViaYul: also // ---- diff --git a/test/libsolidity/semanticTests/abiEncoderV2/abi_encode_v2.sol b/test/libsolidity/semanticTests/abiEncoderV2/abi_encode_v2.sol index d475ffa19..662e48623 100644 --- a/test/libsolidity/semanticTests/abiEncoderV2/abi_encode_v2.sol +++ b/test/libsolidity/semanticTests/abiEncoderV2/abi_encode_v2.sol @@ -46,6 +46,7 @@ contract C { } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // f0() -> 0x20, 0x0 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 7fceb5935..61500d1a6 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 @@ -37,6 +37,7 @@ contract C is B { } } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // test() -> 5, 10 diff --git a/test/libsolidity/semanticTests/abiEncoderV2/byte_arrays.sol b/test/libsolidity/semanticTests/abiEncoderV2/byte_arrays.sol index 9155d8c6b..a30ab2cb3 100644 --- a/test/libsolidity/semanticTests/abiEncoderV2/byte_arrays.sol +++ b/test/libsolidity/semanticTests/abiEncoderV2/byte_arrays.sol @@ -12,6 +12,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // f(uint256,bytes,uint256): 6, 0x60, 9, 7, "abcdefg" -> 6, 7, "d", 9 diff --git a/test/libsolidity/semanticTests/abiEncoderV2/calldata_array.sol b/test/libsolidity/semanticTests/abiEncoderV2/calldata_array.sol index 95070c2fb..59b4471d9 100644 --- a/test/libsolidity/semanticTests/abiEncoderV2/calldata_array.sol +++ b/test/libsolidity/semanticTests/abiEncoderV2/calldata_array.sol @@ -15,6 +15,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // EVMVersion: >homestead // compileViaYul: also // ---- diff --git a/test/libsolidity/semanticTests/abiEncoderV2/calldata_array_dynamic_static_dynamic.sol b/test/libsolidity/semanticTests/abiEncoderV2/calldata_array_dynamic_static_dynamic.sol index 08180ab24..97441d4fb 100644 --- a/test/libsolidity/semanticTests/abiEncoderV2/calldata_array_dynamic_static_dynamic.sol +++ b/test/libsolidity/semanticTests/abiEncoderV2/calldata_array_dynamic_static_dynamic.sol @@ -43,6 +43,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // EVMVersion: >homestead // compileViaYul: also // ---- diff --git a/test/libsolidity/semanticTests/abiEncoderV2/calldata_array_function_types.sol b/test/libsolidity/semanticTests/abiEncoderV2/calldata_array_function_types.sol index f5380901f..fdb61f327 100644 --- a/test/libsolidity/semanticTests/abiEncoderV2/calldata_array_function_types.sol +++ b/test/libsolidity/semanticTests/abiEncoderV2/calldata_array_function_types.sol @@ -26,6 +26,7 @@ contract C { } } // ==== +// requiresYulOptimizer: full // compileViaYul: also // ---- // g(bool): false -> 23, 37, 71 diff --git a/test/libsolidity/semanticTests/abiEncoderV2/calldata_array_static_dynamic_static.sol b/test/libsolidity/semanticTests/abiEncoderV2/calldata_array_static_dynamic_static.sol index 6e5944fdc..b53aac3f1 100644 --- a/test/libsolidity/semanticTests/abiEncoderV2/calldata_array_static_dynamic_static.sol +++ b/test/libsolidity/semanticTests/abiEncoderV2/calldata_array_static_dynamic_static.sol @@ -41,6 +41,7 @@ contract C { } } // ==== +// requiresYulOptimizer: full // EVMVersion: >homestead // compileViaYul: also // ---- diff --git a/test/libsolidity/semanticTests/abiEncoderV2/calldata_array_two_dynamic.sol b/test/libsolidity/semanticTests/abiEncoderV2/calldata_array_two_dynamic.sol index ece02aa8e..33cd4307d 100644 --- a/test/libsolidity/semanticTests/abiEncoderV2/calldata_array_two_dynamic.sol +++ b/test/libsolidity/semanticTests/abiEncoderV2/calldata_array_two_dynamic.sol @@ -12,6 +12,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // EVMVersion: >homestead // compileViaYul: also // ---- diff --git a/test/libsolidity/semanticTests/abiEncoderV2/calldata_struct_member_offset.sol b/test/libsolidity/semanticTests/abiEncoderV2/calldata_struct_member_offset.sol index 7744fbf62..37a7d1b4b 100644 --- a/test/libsolidity/semanticTests/abiEncoderV2/calldata_struct_member_offset.sol +++ b/test/libsolidity/semanticTests/abiEncoderV2/calldata_struct_member_offset.sol @@ -20,6 +20,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // f() -> 11, 11 diff --git a/test/libsolidity/semanticTests/abiEncoderV2/cleanup/dynamic_array.sol b/test/libsolidity/semanticTests/abiEncoderV2/cleanup/dynamic_array.sol index ec4d4dcf5..69349b23a 100644 --- a/test/libsolidity/semanticTests/abiEncoderV2/cleanup/dynamic_array.sol +++ b/test/libsolidity/semanticTests/abiEncoderV2/cleanup/dynamic_array.sol @@ -14,6 +14,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // EVMVersion: >homestead // compileViaYul: also // ---- diff --git a/test/libsolidity/semanticTests/abiEncoderV2/cleanup/function.sol b/test/libsolidity/semanticTests/abiEncoderV2/cleanup/function.sol index 7a4ec0ce5..57a992247 100644 --- a/test/libsolidity/semanticTests/abiEncoderV2/cleanup/function.sol +++ b/test/libsolidity/semanticTests/abiEncoderV2/cleanup/function.sol @@ -17,6 +17,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // ffff(uint256): 0 -> 0, 0 diff --git a/test/libsolidity/semanticTests/abiEncoderV2/cleanup/simple_struct.sol b/test/libsolidity/semanticTests/abiEncoderV2/cleanup/simple_struct.sol index 1906750f8..25a82af26 100644 --- a/test/libsolidity/semanticTests/abiEncoderV2/cleanup/simple_struct.sol +++ b/test/libsolidity/semanticTests/abiEncoderV2/cleanup/simple_struct.sol @@ -16,6 +16,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // EVMVersion: >homestead // compileViaYul: also // ---- diff --git a/test/libsolidity/semanticTests/abiEncoderV2/cleanup/static_array.sol b/test/libsolidity/semanticTests/abiEncoderV2/cleanup/static_array.sol index a0a542b10..8e6ff1430 100644 --- a/test/libsolidity/semanticTests/abiEncoderV2/cleanup/static_array.sol +++ b/test/libsolidity/semanticTests/abiEncoderV2/cleanup/static_array.sol @@ -15,6 +15,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // EVMVersion: >homestead // compileViaYul: also // ---- diff --git a/test/libsolidity/semanticTests/abiEncoderV2/dynamic_arrays.sol b/test/libsolidity/semanticTests/abiEncoderV2/dynamic_arrays.sol index d4d7f03d0..35bd3c70d 100644 --- a/test/libsolidity/semanticTests/abiEncoderV2/dynamic_arrays.sol +++ b/test/libsolidity/semanticTests/abiEncoderV2/dynamic_arrays.sol @@ -7,6 +7,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // f(uint256,uint16[],uint256): 6, 0x60, 9, 7, 11, 12, 13, 14, 15, 16, 17 -> 7, 17, 9 diff --git a/test/libsolidity/semanticTests/abiEncoderV2/dynamic_nested_arrays.sol b/test/libsolidity/semanticTests/abiEncoderV2/dynamic_nested_arrays.sol index 23faf0d89..a87dab0ef 100644 --- a/test/libsolidity/semanticTests/abiEncoderV2/dynamic_nested_arrays.sol +++ b/test/libsolidity/semanticTests/abiEncoderV2/dynamic_nested_arrays.sol @@ -26,6 +26,7 @@ contract C { } } // ==== +// requiresYulOptimizer: full // compileViaYul: also // ---- // test() -> 12, 3, 4, 0x66, 5, 0x85, 13 diff --git a/test/libsolidity/semanticTests/abiEncoderV2/memory_params_in_external_function.sol b/test/libsolidity/semanticTests/abiEncoderV2/memory_params_in_external_function.sol index 549838f95..07249b77e 100644 --- a/test/libsolidity/semanticTests/abiEncoderV2/memory_params_in_external_function.sol +++ b/test/libsolidity/semanticTests/abiEncoderV2/memory_params_in_external_function.sol @@ -15,6 +15,7 @@ contract C { } } // ==== +// requiresYulOptimizer: full // compileViaYul: also // ---- // g() -> 3, 0x6200000000000000000000000000000000000000000000000000000000000000, 3, 0x6600000000000000000000000000000000000000000000000000000000000000, 4, 7 diff --git a/test/libsolidity/semanticTests/abiEncoderV2/struct/mediocre2_struct.sol b/test/libsolidity/semanticTests/abiEncoderV2/struct/mediocre2_struct.sol index afa16826d..956bac454 100644 --- a/test/libsolidity/semanticTests/abiEncoderV2/struct/mediocre2_struct.sol +++ b/test/libsolidity/semanticTests/abiEncoderV2/struct/mediocre2_struct.sol @@ -9,6 +9,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // f(uint256,(address,uint256[])[2],uint256): 7, 0x60, 8, 0x40, 0xE0, 0x0, 0x40, 2, 0x11, 0x12, 0x99, 0x40, 4, 0x31, 0x32, 0x34, 0x35 -> 7, 0x0, 8 diff --git a/test/libsolidity/semanticTests/abiEncoderV2/struct/mediocre_struct.sol b/test/libsolidity/semanticTests/abiEncoderV2/struct/mediocre_struct.sol index 7775423d4..c782bf684 100644 --- a/test/libsolidity/semanticTests/abiEncoderV2/struct/mediocre_struct.sol +++ b/test/libsolidity/semanticTests/abiEncoderV2/struct/mediocre_struct.sol @@ -9,6 +9,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // f(uint256,(address)[2],uint256): 7, 0, 0, 8 -> 7, 0, 8 diff --git a/test/libsolidity/semanticTests/abiEncoderV2/struct/struct_function.sol b/test/libsolidity/semanticTests/abiEncoderV2/struct/struct_function.sol index 7e3031ba5..2b433ab30 100644 --- a/test/libsolidity/semanticTests/abiEncoderV2/struct/struct_function.sol +++ b/test/libsolidity/semanticTests/abiEncoderV2/struct/struct_function.sol @@ -11,6 +11,7 @@ contract C { function g() public returns (uint) { return 7; } } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // test() -> 7, 3 diff --git a/test/libsolidity/semanticTests/abiEncoderV2/struct/struct_simple.sol b/test/libsolidity/semanticTests/abiEncoderV2/struct/struct_simple.sol index 9cfd19fd4..aa55a2fa7 100644 --- a/test/libsolidity/semanticTests/abiEncoderV2/struct/struct_simple.sol +++ b/test/libsolidity/semanticTests/abiEncoderV2/struct/struct_simple.sol @@ -10,6 +10,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // compileToEwasm: also // compileViaYul: also // ---- diff --git a/test/libsolidity/semanticTests/abiencodedecode/abi_encode_with_selectorv2.sol b/test/libsolidity/semanticTests/abiencodedecode/abi_encode_with_selectorv2.sol index 648ba1f49..e52517f60 100644 --- a/test/libsolidity/semanticTests/abiencodedecode/abi_encode_with_selectorv2.sol +++ b/test/libsolidity/semanticTests/abiencodedecode/abi_encode_with_selectorv2.sol @@ -25,8 +25,9 @@ contract C { } } // ==== -// compileViaYul: also +// requiresYulOptimizer: minimalStack // compileToEwasm: also +// compileViaYul: also // ---- // f0() -> 0x20, 4, 8234104107246695022420661102507966550300666591269321702959126607540084801536 // f1() -> 0x20, 0x64, 8234104107246695022420661102507966550300666591269321702959126607540084801536, 862718293348820473429344482784628181556388621521298319395315527974912, 91135606241822717681769169345594720818313984248279388438121731325952, 0 diff --git a/test/libsolidity/semanticTests/abiencodedecode/abi_encode_with_signature.sol b/test/libsolidity/semanticTests/abiencodedecode/abi_encode_with_signature.sol index 7247ede17..60429e0ed 100644 --- a/test/libsolidity/semanticTests/abiencodedecode/abi_encode_with_signature.sol +++ b/test/libsolidity/semanticTests/abiencodedecode/abi_encode_with_signature.sol @@ -26,6 +26,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // f0() -> 0x20, 4, -34435155370463444793260793355178157075203752403645521721995013737368954863616 diff --git a/test/libsolidity/semanticTests/abiencodedecode/abi_encode_with_signaturev2.sol b/test/libsolidity/semanticTests/abiencodedecode/abi_encode_with_signaturev2.sol index f6333a947..f993224f1 100644 --- a/test/libsolidity/semanticTests/abiencodedecode/abi_encode_with_signaturev2.sol +++ b/test/libsolidity/semanticTests/abiencodedecode/abi_encode_with_signaturev2.sol @@ -35,6 +35,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // f0() -> 0x20, 4, -34435155370463444793260793355178157075203752403645521721995013737368954863616 diff --git a/test/libsolidity/semanticTests/abiencodedecode/contract_array.sol b/test/libsolidity/semanticTests/abiencodedecode/contract_array.sol index c26aea83a..d4d254c4b 100644 --- a/test/libsolidity/semanticTests/abiencodedecode/contract_array.sol +++ b/test/libsolidity/semanticTests/abiencodedecode/contract_array.sol @@ -11,6 +11,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // f(bytes): 0x20, 0xA0, 0x20, 3, 0x01, 0x02, 0x03 -> 0x20, 3, 0x01, 0x02, 0x03 diff --git a/test/libsolidity/semanticTests/abiencodedecode/contract_array_v2.sol b/test/libsolidity/semanticTests/abiencodedecode/contract_array_v2.sol index 69360fe04..86fa3653b 100644 --- a/test/libsolidity/semanticTests/abiencodedecode/contract_array_v2.sol +++ b/test/libsolidity/semanticTests/abiencodedecode/contract_array_v2.sol @@ -12,6 +12,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // f(bytes): 0x20, 0xA0, 0x20, 3, 0x01, 0x02, 0x03 -> 0x20, 3, 0x01, 0x02, 0x03 diff --git a/test/libsolidity/semanticTests/abiencodedecode/offset_overflow_in_array_decoding.sol b/test/libsolidity/semanticTests/abiencodedecode/offset_overflow_in_array_decoding.sol index 12223ed0c..ca4291a1b 100644 --- a/test/libsolidity/semanticTests/abiencodedecode/offset_overflow_in_array_decoding.sol +++ b/test/libsolidity/semanticTests/abiencodedecode/offset_overflow_in_array_decoding.sol @@ -24,7 +24,8 @@ contract Test { } } // ==== -// compileViaYul: also +// requiresYulOptimizer: minimalStack // compileToEwasm: also +// compileViaYul: also // ---- // test() -> FAILURE diff --git a/test/libsolidity/semanticTests/abiencodedecode/offset_overflow_in_array_decoding_2.sol b/test/libsolidity/semanticTests/abiencodedecode/offset_overflow_in_array_decoding_2.sol index a727e5719..9fc65dd45 100644 --- a/test/libsolidity/semanticTests/abiencodedecode/offset_overflow_in_array_decoding_2.sol +++ b/test/libsolidity/semanticTests/abiencodedecode/offset_overflow_in_array_decoding_2.sol @@ -25,7 +25,8 @@ contract Test { } } // ==== -// compileViaYul: also +// requiresYulOptimizer: minimalStack // compileToEwasm: also +// compileViaYul: also // ---- // withinArray() -> FAILURE diff --git a/test/libsolidity/semanticTests/abiencodedecode/offset_overflow_in_array_decoding_3.sol b/test/libsolidity/semanticTests/abiencodedecode/offset_overflow_in_array_decoding_3.sol index 4793b5e6e..8cb831eea 100644 --- a/test/libsolidity/semanticTests/abiencodedecode/offset_overflow_in_array_decoding_3.sol +++ b/test/libsolidity/semanticTests/abiencodedecode/offset_overflow_in_array_decoding_3.sol @@ -18,7 +18,8 @@ contract Test { } } // ==== -// compileViaYul: also +// requiresYulOptimizer: minimalStack // compileToEwasm: also +// compileViaYul: also // ---- // test() -> FAILURE diff --git a/test/libsolidity/semanticTests/arithmetics/addmod_mulmod.sol b/test/libsolidity/semanticTests/arithmetics/addmod_mulmod.sol index 6afd7458a..e5c9dc121 100644 --- a/test/libsolidity/semanticTests/arithmetics/addmod_mulmod.sol +++ b/test/libsolidity/semanticTests/arithmetics/addmod_mulmod.sol @@ -9,6 +9,7 @@ contract C { } // ==== +// requiresYulOptimizer: minimalStack // compileToEwasm: also // compileViaYul: also // ---- diff --git a/test/libsolidity/semanticTests/arithmetics/addmod_mulmod_zero.sol b/test/libsolidity/semanticTests/arithmetics/addmod_mulmod_zero.sol index 51805ae11..4e455636b 100644 --- a/test/libsolidity/semanticTests/arithmetics/addmod_mulmod_zero.sol +++ b/test/libsolidity/semanticTests/arithmetics/addmod_mulmod_zero.sol @@ -19,6 +19,7 @@ contract C { } // ==== +// requiresYulOptimizer: minimalStack // compileToEwasm: also // compileViaYul: also // ---- diff --git a/test/libsolidity/semanticTests/arithmetics/checked_modifier_called_by_unchecked.sol b/test/libsolidity/semanticTests/arithmetics/checked_modifier_called_by_unchecked.sol index 7a1021217..46a75a3ae 100644 --- a/test/libsolidity/semanticTests/arithmetics/checked_modifier_called_by_unchecked.sol +++ b/test/libsolidity/semanticTests/arithmetics/checked_modifier_called_by_unchecked.sol @@ -9,8 +9,9 @@ contract C { } } // ==== -// compileViaYul: also +// requiresYulOptimizer: minimalStack // compileToEwasm: also +// compileViaYul: also // ---- // f(uint16,uint16,uint16): 0xe000, 0xe500, 2 -> 58626 // f(uint16,uint16,uint16): 0x1000, 0xe500, 0xe000 -> FAILURE, hex"4e487b71", 0x11 diff --git a/test/libsolidity/semanticTests/arithmetics/exp_associativity.sol b/test/libsolidity/semanticTests/arithmetics/exp_associativity.sol index 4b2341949..f288e9f3c 100644 --- a/test/libsolidity/semanticTests/arithmetics/exp_associativity.sol +++ b/test/libsolidity/semanticTests/arithmetics/exp_associativity.sol @@ -31,6 +31,7 @@ contract C { } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // test_hardcode1(uint256,uint256,uint256): 2, 3, 4 -> 2417851639229258349412352 diff --git a/test/libsolidity/semanticTests/array/byte_array_transitional_2.sol b/test/libsolidity/semanticTests/array/byte_array_transitional_2.sol index a4403c3d7..bb35225cd 100644 --- a/test/libsolidity/semanticTests/array/byte_array_transitional_2.sol +++ b/test/libsolidity/semanticTests/array/byte_array_transitional_2.sol @@ -16,6 +16,7 @@ contract c { } } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // test() -> 0 diff --git a/test/libsolidity/semanticTests/array/calldata_array_as_argument_internal_function.sol b/test/libsolidity/semanticTests/array/calldata_array_as_argument_internal_function.sol index bef9fc651..1f3e50610 100644 --- a/test/libsolidity/semanticTests/array/calldata_array_as_argument_internal_function.sol +++ b/test/libsolidity/semanticTests/array/calldata_array_as_argument_internal_function.sol @@ -13,6 +13,7 @@ contract Test { } } // ==== +// requiresYulOptimizer: minimalStack // compileToEwasm: also // compileViaYul: also // ---- diff --git a/test/libsolidity/semanticTests/array/calldata_array_of_struct.sol b/test/libsolidity/semanticTests/array/calldata_array_of_struct.sol index 2e0c871d6..df82988d1 100644 --- a/test/libsolidity/semanticTests/array/calldata_array_of_struct.sol +++ b/test/libsolidity/semanticTests/array/calldata_array_of_struct.sol @@ -21,6 +21,7 @@ contract C { } // ==== +// requiresYulOptimizer: minimalStack // compileToEwasm: also // compileViaYul: also // ---- diff --git a/test/libsolidity/semanticTests/array/calldata_array_two_dimensional_1.sol b/test/libsolidity/semanticTests/array/calldata_array_two_dimensional_1.sol index 23c251307..190017d26 100644 --- a/test/libsolidity/semanticTests/array/calldata_array_two_dimensional_1.sol +++ b/test/libsolidity/semanticTests/array/calldata_array_two_dimensional_1.sol @@ -14,6 +14,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // test(uint256[][]): 0x20, 2, 0x40, 0xC0, 3, 0x0A01, 0x0A02, 0x0A03, 4, 0x0B01, 0x0B02, 0x0B03, 0x0B04 -> 2 diff --git a/test/libsolidity/semanticTests/array/calldata_slice_access.sol b/test/libsolidity/semanticTests/array/calldata_slice_access.sol index d898bf92f..7f60bc2f6 100644 --- a/test/libsolidity/semanticTests/array/calldata_slice_access.sol +++ b/test/libsolidity/semanticTests/array/calldata_slice_access.sol @@ -7,6 +7,7 @@ contract C { } } // ==== +// requiresYulOptimizer: full // compileToEwasm: also // compileViaYul: also // ---- diff --git a/test/libsolidity/semanticTests/array/concat/bytes_concat_different_types.sol b/test/libsolidity/semanticTests/array/concat/bytes_concat_different_types.sol index bd28d478d..8d1c4ada8 100644 --- a/test/libsolidity/semanticTests/array/concat/bytes_concat_different_types.sol +++ b/test/libsolidity/semanticTests/array/concat/bytes_concat_different_types.sol @@ -45,6 +45,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // revertStrings: debug // ---- @@ -56,19 +57,19 @@ contract C { // slice(bytes): 0x20, 4, "abcd" -> 0x20, 4, "abcd" // strParam(string): 0x20, 32, "abcdabcdabcdabcdabcdabcdabcdabcd" -> 0x20, 37, "abcdabcdabcdabcdabcdabcdabcdabcd", "bcdef" // fixedBytesParam(bytes16,bytes15,bytes31): -// "aabbccddeeffgghh", -// "abcdefghabcdefg", -// "0123456789012345678901234567890" -> -// 0x80, 0xc0, 0x120, 0x160, -// 31, "aabbccddeeffgghhabcdefghabcdefg", -// 47, "aabbccddeeffgghh0123456789012345", "678901234567890", -// 21, "aabbccddeeffgghhbcdef", -// 21, "aabbccddeeffgghhbcdef" +// "aabbccddeeffgghh", +// "abcdefghabcdefg", +// "0123456789012345678901234567890" -> +// 0x80, 0xc0, 0x120, 0x160, +// 31, "aabbccddeeffgghhabcdefghabcdefg", +// 47, "aabbccddeeffgghh0123456789012345", "678901234567890", +// 21, "aabbccddeeffgghhbcdef", +// 21, "aabbccddeeffgghhbcdef" // fixedBytesParam2(bytes,bytes6,bytes6): 0x60, left(0x010203040506), left(0x0708090A0B0C), 20, left(0x1011121314151617181920212223242526272829) -> -// 0x40, 0x80, -// 31, left(0x62636465660102030405061011121314151617181920212223242526272829), -// 32, 0x01020304050610111213141516171819202122232425262728290708090A0B0C +// 0x40, 0x80, +// 31, left(0x62636465660102030405061011121314151617181920212223242526272829), +// 32, 0x01020304050610111213141516171819202122232425262728290708090A0B0C // fixedBytesParam2(bytes,bytes6,bytes6): 0x60, left(0x01), left(0x02), 5, left(0x03) -> -// 0x40, 0x80, -// 16, left(0x6263646566010000000000030000000000), -// 17, left(0x010000000000030000000002000000000000) +// 0x40, 0x80, +// 16, left(0x6263646566010000000000030000000000), +// 17, left(0x010000000000030000000002000000000000) diff --git a/test/libsolidity/semanticTests/array/concat/bytes_concat_empty_strings.sol b/test/libsolidity/semanticTests/array/concat/bytes_concat_empty_strings.sol index 0dc856262..1434998ba 100644 --- a/test/libsolidity/semanticTests/array/concat/bytes_concat_empty_strings.sol +++ b/test/libsolidity/semanticTests/array/concat/bytes_concat_empty_strings.sol @@ -19,6 +19,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // compileToEwasm: also // compileViaYul: also // ---- 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 4795624b4..90d51b295 100644 --- a/test/libsolidity/semanticTests/array/copying/array_copy_calldata_storage.sol +++ b/test/libsolidity/semanticTests/array/copying/array_copy_calldata_storage.sol @@ -19,6 +19,7 @@ contract c { } } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // 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 diff --git a/test/libsolidity/semanticTests/array/copying/array_copy_cleanup_uint128.sol b/test/libsolidity/semanticTests/array/copying/array_copy_cleanup_uint128.sol index 91ae6913f..b5abbf91e 100644 --- a/test/libsolidity/semanticTests/array/copying/array_copy_cleanup_uint128.sol +++ b/test/libsolidity/semanticTests/array/copying/array_copy_cleanup_uint128.sol @@ -20,6 +20,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // f() -> true 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 2b74d52e4..287a1dfdc 100644 --- a/test/libsolidity/semanticTests/array/copying/array_copy_cleanup_uint40.sol +++ b/test/libsolidity/semanticTests/array/copying/array_copy_cleanup_uint40.sol @@ -45,6 +45,7 @@ contract C { } } // ==== +// requiresYulOptimizer: full // compileViaYul: also // ---- // f() -> true 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 f8dea7bbe..0b648086e 100644 --- a/test/libsolidity/semanticTests/array/copying/array_copy_clear_storage.sol +++ b/test/libsolidity/semanticTests/array/copying/array_copy_clear_storage.sol @@ -12,6 +12,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // f() -> 0 diff --git a/test/libsolidity/semanticTests/array/copying/array_copy_clear_storage_packed.sol b/test/libsolidity/semanticTests/array/copying/array_copy_clear_storage_packed.sol index b9e80c1d7..e5f382666 100644 --- a/test/libsolidity/semanticTests/array/copying/array_copy_clear_storage_packed.sol +++ b/test/libsolidity/semanticTests/array/copying/array_copy_clear_storage_packed.sol @@ -39,6 +39,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // f() -> 0 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 1cfbd1733..d1f583258 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,7 @@ contract c { } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // test() -> 0x01000000000000000000000000000000000000000000000000, 0x02000000000000000000000000000000000000000000000000, 0x03000000000000000000000000000000000000000000000000, 0x04000000000000000000000000000000000000000000000000, 0x05000000000000000000000000000000000000000000000000 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 2a58b9256..d2805ef4b 100644 --- a/test/libsolidity/semanticTests/array/copying/array_copy_including_array.sol +++ b/test/libsolidity/semanticTests/array/copying/array_copy_including_array.sol @@ -34,6 +34,7 @@ contract c { } } // ==== +// requiresYulOptimizer: full // compileViaYul: also // ---- // test() -> 0x02000202 diff --git a/test/libsolidity/semanticTests/array/copying/array_copy_memory_to_storage.sol b/test/libsolidity/semanticTests/array/copying/array_copy_memory_to_storage.sol index 7b1750acc..684588039 100644 --- a/test/libsolidity/semanticTests/array/copying/array_copy_memory_to_storage.sol +++ b/test/libsolidity/semanticTests/array/copying/array_copy_memory_to_storage.sol @@ -24,6 +24,7 @@ contract C { } } // ==== +// requiresYulOptimizer: full // compileViaYul: also // ---- // f() -> 1, 3 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 deb9404e3..064bc6af5 100644 --- a/test/libsolidity/semanticTests/array/copying/array_copy_nested_array.sol +++ b/test/libsolidity/semanticTests/array/copying/array_copy_nested_array.sol @@ -12,6 +12,7 @@ contract c { } // ==== +// requiresYulOptimizer: full // compileViaYul: also // ---- // test(uint256[2][]): 32, 3, 7, 8, 9, 10, 11, 12 -> 10 diff --git a/test/libsolidity/semanticTests/array/copying/array_copy_storage_abi_signed.sol b/test/libsolidity/semanticTests/array/copying/array_copy_storage_abi_signed.sol index 1d2c978fb..40b4adde2 100644 --- a/test/libsolidity/semanticTests/array/copying/array_copy_storage_abi_signed.sol +++ b/test/libsolidity/semanticTests/array/copying/array_copy_storage_abi_signed.sol @@ -17,6 +17,7 @@ contract c { } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // test() -> 0x20, 0x8, -1, -1, 8, -16, -2, 6, 8, -1 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 cee96209a..a16f7f522 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 @@ -16,6 +16,7 @@ contract c { } } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // test() -> 5, 4 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 fcec284cc..f4c4b8d8e 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 @@ -20,6 +20,7 @@ contract c { } } // ==== +// requiresYulOptimizer: full // compileToEwasm: also // compileViaYul: also // ---- 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 05e038378..9edeb09b2 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 @@ -13,6 +13,7 @@ contract c { } } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // setData1(uint256,uint256,uint256): 10, 5, 4 -> 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 167e2740e..498bf0ffe 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 @@ -17,6 +17,7 @@ contract c { } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // test() -> 5, 4 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 3b2ddbde1..e391e2419 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 @@ -11,6 +11,7 @@ contract c { } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // test() -> 9, 4 diff --git a/test/libsolidity/semanticTests/array/copying/array_copy_storage_storage_static_simple.sol b/test/libsolidity/semanticTests/array/copying/array_copy_storage_storage_static_simple.sol index a7dacd749..67f2dff97 100644 --- a/test/libsolidity/semanticTests/array/copying/array_copy_storage_storage_static_simple.sol +++ b/test/libsolidity/semanticTests/array/copying/array_copy_storage_storage_static_simple.sol @@ -10,6 +10,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // compileToEwasm: also // compileViaYul: also // ---- 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 8d438013a..c94eaf1d8 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 @@ -14,6 +14,7 @@ contract c { } // ==== +// requiresYulOptimizer: full // compileToEwasm: also // compileViaYul: also // ---- 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 35776b6a1..5df3962ca 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 @@ -16,6 +16,7 @@ contract c { } } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // test() -> 4, 5 diff --git a/test/libsolidity/semanticTests/array/copying/array_copy_storage_to_memory.sol b/test/libsolidity/semanticTests/array/copying/array_copy_storage_to_memory.sol index cd3c184d2..1f8aa97c6 100644 --- a/test/libsolidity/semanticTests/array/copying/array_copy_storage_to_memory.sol +++ b/test/libsolidity/semanticTests/array/copying/array_copy_storage_to_memory.sol @@ -7,6 +7,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // f() -> 1, 3 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 62f1ee715..95cf45bbd 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 @@ -14,6 +14,7 @@ contract C { } } // ==== +// requiresYulOptimizer: full // compileViaYul: also // ---- // f() -> 0x20, 2, 0x40, 0xa0, 2, 0, 1, 2, 2, 3 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 537924f14..738d37f34 100644 --- a/test/libsolidity/semanticTests/array/copying/array_copy_target_leftover.sol +++ b/test/libsolidity/semanticTests/array/copying/array_copy_target_leftover.sol @@ -16,6 +16,7 @@ contract c { } } // ==== +// requiresYulOptimizer: minimalStack // compileToEwasm: also // compileViaYul: also // ---- diff --git a/test/libsolidity/semanticTests/array/copying/array_copy_target_leftover2.sol b/test/libsolidity/semanticTests/array/copying/array_copy_target_leftover2.sol index 36b387971..4ec89bfda 100644 --- a/test/libsolidity/semanticTests/array/copying/array_copy_target_leftover2.sol +++ b/test/libsolidity/semanticTests/array/copying/array_copy_target_leftover2.sol @@ -18,6 +18,7 @@ contract c { } } // ==== +// requiresYulOptimizer: full // compileToEwasm: also // compileViaYul: also // ---- 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 b0387042f..21e608f13 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,7 @@ contract c { } // ==== +// requiresYulOptimizer: full // compileToEwasm: also // compileViaYul: also // ---- 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 893fbdba3..9d156d2e1 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,7 @@ contract c { } // ==== +// requiresYulOptimizer: full // compileToEwasm: also // compileViaYul: also // ---- diff --git a/test/libsolidity/semanticTests/array/copying/array_nested_calldata_to_memory.sol b/test/libsolidity/semanticTests/array/copying/array_nested_calldata_to_memory.sol index 7da4fc4ed..8e143b9a9 100644 --- a/test/libsolidity/semanticTests/array/copying/array_nested_calldata_to_memory.sol +++ b/test/libsolidity/semanticTests/array/copying/array_nested_calldata_to_memory.sol @@ -30,6 +30,7 @@ contract c { } } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // test1(uint256[][]): 0x20, 2, 0x40, 0x40, 2, 23, 42 -> 2, 65 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 78f1bef9f..4964def17 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 @@ -35,6 +35,7 @@ contract c { } } // ==== +// requiresYulOptimizer: full // compileViaYul: true // ---- // test1(uint256[][]): 0x20, 2, 0x40, 0x40, 2, 23, 42 -> 2, 65 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 707e25056..19d1ee6e5 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 @@ -37,6 +37,7 @@ contract Test { } } // ==== +// requiresYulOptimizer: full // compileViaYul: also // ---- // test() -> 24 diff --git a/test/libsolidity/semanticTests/array/copying/array_of_struct_calldata_to_memory.sol b/test/libsolidity/semanticTests/array/copying/array_of_struct_calldata_to_memory.sol index 7e2a209bc..db50c4566 100644 --- a/test/libsolidity/semanticTests/array/copying/array_of_struct_calldata_to_memory.sol +++ b/test/libsolidity/semanticTests/array/copying/array_of_struct_calldata_to_memory.sol @@ -16,6 +16,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // f((uint128,uint64,uint128)[3]): 0, 0, 12, 0, 11, 0, 10, 0, 0 -> 10, 11, 12 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 27f81692c..7c96adf42 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 @@ -14,6 +14,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: true // ---- // f((uint128,uint64,uint128)[]): 0x20, 3, 0, 0, 12, 0, 11, 0, 10, 0, 0 -> 10, 11, 12 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 6f11f6c66..46ab7d8f0 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 @@ -16,6 +16,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: true // ---- // f() -> 10, 11, 12 diff --git a/test/libsolidity/semanticTests/array/copying/array_of_structs_containing_arrays_calldata_to_memory.sol b/test/libsolidity/semanticTests/array/copying/array_of_structs_containing_arrays_calldata_to_memory.sol index ba132fba3..d231ab8b5 100644 --- a/test/libsolidity/semanticTests/array/copying/array_of_structs_containing_arrays_calldata_to_memory.sol +++ b/test/libsolidity/semanticTests/array/copying/array_of_structs_containing_arrays_calldata_to_memory.sol @@ -18,6 +18,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // f((uint256[])[]): 0x20, 3, 0x60, 0x60, 0x60, 0x20, 3, 1, 2, 3 -> 3, 1 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 970a5dced..58526acef 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 @@ -20,6 +20,7 @@ contract C { } } // ==== +// requiresYulOptimizer: full // compileViaYul: true // ---- // f((uint256[])[]): 0x20, 3, 0x60, 0x60, 0x60, 0x20, 3, 1, 2, 3 -> 3, 1 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 e4ff169f4..6ba620e0f 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 @@ -23,6 +23,7 @@ contract C { } } // ==== +// requiresYulOptimizer: full // compileViaYul: true // ---- // f() -> 3, 3, 3, 1 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 e23efb666..85effa61d 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 @@ -11,6 +11,7 @@ contract C { } } // ==== +// requiresYulOptimizer: full // compileToEwasm: also // compileViaYul: also // ---- diff --git a/test/libsolidity/semanticTests/array/copying/bytes_inside_mappings.sol b/test/libsolidity/semanticTests/array/copying/bytes_inside_mappings.sol index dd5f2a86a..1d1f3b40b 100644 --- a/test/libsolidity/semanticTests/array/copying/bytes_inside_mappings.sol +++ b/test/libsolidity/semanticTests/array/copying/bytes_inside_mappings.sol @@ -4,6 +4,7 @@ contract c { mapping(uint => bytes) data; } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // set(uint256): 1, 2 -> true 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 fb4e2159d..a7df8cbff 100644 --- a/test/libsolidity/semanticTests/array/copying/bytes_storage_to_storage.sol +++ b/test/libsolidity/semanticTests/array/copying/bytes_storage_to_storage.sol @@ -15,6 +15,7 @@ contract c { } } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // f(uint256): 0 -> 0x20, 0x00 diff --git a/test/libsolidity/semanticTests/array/copying/calldata_2d_bytes_to_memory_2.sol b/test/libsolidity/semanticTests/array/copying/calldata_2d_bytes_to_memory_2.sol index 4f43cc1eb..4dc6559e0 100644 --- a/test/libsolidity/semanticTests/array/copying/calldata_2d_bytes_to_memory_2.sol +++ b/test/libsolidity/semanticTests/array/copying/calldata_2d_bytes_to_memory_2.sol @@ -12,6 +12,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // f(bytes[2]): 0x20, 0x40, 0x40, 2, "ab" -> diff --git a/test/libsolidity/semanticTests/array/copying/calldata_array_of_struct_to_memory.sol b/test/libsolidity/semanticTests/array/copying/calldata_array_of_struct_to_memory.sol index eba9105e5..cc916bc37 100644 --- a/test/libsolidity/semanticTests/array/copying/calldata_array_of_struct_to_memory.sol +++ b/test/libsolidity/semanticTests/array/copying/calldata_array_of_struct_to_memory.sol @@ -22,6 +22,7 @@ contract C { } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // f((uint256,uint256)[]): 0x20, 0x2, 0x1, 0x2, 0x3, 0x4 -> 2, 1, 2, 3, 4 diff --git a/test/libsolidity/semanticTests/array/copying/calldata_array_static_to_memory.sol b/test/libsolidity/semanticTests/array/copying/calldata_array_static_to_memory.sol index e4b474245..e0e59b673 100644 --- a/test/libsolidity/semanticTests/array/copying/calldata_array_static_to_memory.sol +++ b/test/libsolidity/semanticTests/array/copying/calldata_array_static_to_memory.sol @@ -5,6 +5,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // compileToEwasm: also // compileViaYul: also // ---- diff --git a/test/libsolidity/semanticTests/array/copying/calldata_bytes_array_to_memory.sol b/test/libsolidity/semanticTests/array/copying/calldata_bytes_array_to_memory.sol index 7a966f91f..9b8afa5bb 100644 --- a/test/libsolidity/semanticTests/array/copying/calldata_bytes_array_to_memory.sol +++ b/test/libsolidity/semanticTests/array/copying/calldata_bytes_array_to_memory.sol @@ -11,6 +11,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // f(bytes[]): 0x20, 0x1, 0x20, 0x2, hex"6162000000000000000000000000000000000000000000000000000000000000" -> 0x1, 0x2, 0x60, 0x2, hex"6162000000000000000000000000000000000000000000000000000000000000" diff --git a/test/libsolidity/semanticTests/array/copying/calldata_dynamic_array_to_memory.sol b/test/libsolidity/semanticTests/array/copying/calldata_dynamic_array_to_memory.sol index a1cd58194..30aad8f60 100644 --- a/test/libsolidity/semanticTests/array/copying/calldata_dynamic_array_to_memory.sol +++ b/test/libsolidity/semanticTests/array/copying/calldata_dynamic_array_to_memory.sol @@ -12,6 +12,7 @@ contract C { } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // f(uint256[][]): 0x20, 0x1, 0x20, 0x2, 0x17, 0x2a -> 0x1, 0x40, 0x2, 0x17, 0x2a diff --git a/test/libsolidity/semanticTests/array/copying/calldata_to_storage_different_base.sol b/test/libsolidity/semanticTests/array/copying/calldata_to_storage_different_base.sol index d9771bf33..ace6f5913 100644 --- a/test/libsolidity/semanticTests/array/copying/calldata_to_storage_different_base.sol +++ b/test/libsolidity/semanticTests/array/copying/calldata_to_storage_different_base.sol @@ -8,6 +8,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // f(bytes8[]): 0x20, 3, "abcd", "bcde", "cdef" -> 3, "abcd", "bcde", "cdef" 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 6bb47d9d9..5edc4839e 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 @@ -34,6 +34,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // f() -> 0x40, 0x80, 6, 0x6162636465660000000000000000000000000000000000000000000000000000, 0x49, 0x3132333435363738393031323334353637383930313233343536373839303120, 0x3132333435363738393031323334353637383930313233343536373839303120, 0x3132333435363738390000000000000000000000000000000000000000000000 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 26332e6f2..12961b75d 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 @@ -45,6 +45,7 @@ contract C { } } // ==== +// requiresYulOptimizer: full // compileViaYul: also // ---- // f() -> 0xff diff --git a/test/libsolidity/semanticTests/array/copying/copy_function_storage_array.sol b/test/libsolidity/semanticTests/array/copying/copy_function_storage_array.sol index 2401d90d9..7c60447ad 100644 --- a/test/libsolidity/semanticTests/array/copying/copy_function_storage_array.sol +++ b/test/libsolidity/semanticTests/array/copying/copy_function_storage_array.sol @@ -15,6 +15,7 @@ contract C { } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // test() -> 7 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 d2c7bb77d..2c3165aa3 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 @@ -18,6 +18,7 @@ contract C { } // ==== +// requiresYulOptimizer: minimalStack // compileToEwasm: also // compileViaYul: also // ---- diff --git a/test/libsolidity/semanticTests/array/copying/empty_bytes_copy.sol b/test/libsolidity/semanticTests/array/copying/empty_bytes_copy.sol index 0f19eaa0a..6d86cea46 100644 --- a/test/libsolidity/semanticTests/array/copying/empty_bytes_copy.sol +++ b/test/libsolidity/semanticTests/array/copying/empty_bytes_copy.sol @@ -23,6 +23,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // fromMemory() -> 0x00 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 5cb657afe..2271c2107 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 @@ -17,6 +17,7 @@ contract C { } } // ==== +// requiresYulOptimizer: full // compileViaYul: also // ---- // f() -> 3 diff --git a/test/libsolidity/semanticTests/array/copying/memory_to_storage_different_base.sol b/test/libsolidity/semanticTests/array/copying/memory_to_storage_different_base.sol index 24ac2e202..093457fa1 100644 --- a/test/libsolidity/semanticTests/array/copying/memory_to_storage_different_base.sol +++ b/test/libsolidity/semanticTests/array/copying/memory_to_storage_different_base.sol @@ -12,6 +12,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // f() -> 3, "abcd", "bcde", "cdef" diff --git a/test/libsolidity/semanticTests/array/copying/storage_memory_nested.sol b/test/libsolidity/semanticTests/array/copying/storage_memory_nested.sol index 9f325200d..d56bebd2b 100644 --- a/test/libsolidity/semanticTests/array/copying/storage_memory_nested.sol +++ b/test/libsolidity/semanticTests/array/copying/storage_memory_nested.sol @@ -16,6 +16,7 @@ contract C { } } // ==== +// requiresYulOptimizer: full // compileViaYul: also // ---- // f() -> 1, 2, 3, 4, 5, 6, 7 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 8893bd94d..783abffda 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 @@ -17,6 +17,7 @@ contract C { } } // ==== +// requiresYulOptimizer: full // compileViaYul: also // ---- // f() -> 1, 2, 3, 4, 5, 6, 7 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 2e1a2cc3c..50b143695 100644 --- a/test/libsolidity/semanticTests/array/copying/storage_memory_nested_struct.sol +++ b/test/libsolidity/semanticTests/array/copying/storage_memory_nested_struct.sol @@ -23,6 +23,7 @@ contract C { } } // ==== +// requiresYulOptimizer: full // compileViaYul: also // ---- // f() -> 11, 0x0c, 1, 0x15, 22, 4 diff --git a/test/libsolidity/semanticTests/array/copying/storage_memory_packed.sol b/test/libsolidity/semanticTests/array/copying/storage_memory_packed.sol index 4a4515ff6..c24a83a34 100644 --- a/test/libsolidity/semanticTests/array/copying/storage_memory_packed.sol +++ b/test/libsolidity/semanticTests/array/copying/storage_memory_packed.sol @@ -10,6 +10,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // compileToEwasm: also // compileViaYul: also // ---- 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 caf1e1dfd..c75348e9b 100644 --- a/test/libsolidity/semanticTests/array/copying/storage_memory_packed_dyn.sol +++ b/test/libsolidity/semanticTests/array/copying/storage_memory_packed_dyn.sol @@ -12,6 +12,7 @@ contract C { } } // ==== +// requiresYulOptimizer: full // compileViaYul: also // ---- // f() -> 2, 3, 4 diff --git a/test/libsolidity/semanticTests/array/create_memory_array.sol b/test/libsolidity/semanticTests/array/create_memory_array.sol index adc51585a..b51b23ceb 100644 --- a/test/libsolidity/semanticTests/array/create_memory_array.sol +++ b/test/libsolidity/semanticTests/array/create_memory_array.sol @@ -17,6 +17,7 @@ contract C { } } // ==== +// requiresYulOptimizer: full // compileViaYul: also // ---- // f() -> "A", 8, 4, "B" diff --git a/test/libsolidity/semanticTests/array/create_memory_array_too_large.sol b/test/libsolidity/semanticTests/array/create_memory_array_too_large.sol index 11d69df02..6b608bb79 100644 --- a/test/libsolidity/semanticTests/array/create_memory_array_too_large.sol +++ b/test/libsolidity/semanticTests/array/create_memory_array_too_large.sol @@ -20,6 +20,7 @@ contract C { return x[2]; }} // ==== +// requiresYulOptimizer: minimalStack // compileToEwasm: also // compileViaYul: also // ---- diff --git a/test/libsolidity/semanticTests/array/create_memory_byte_array.sol b/test/libsolidity/semanticTests/array/create_memory_byte_array.sol index 67dcbffc3..e7af5d62c 100644 --- a/test/libsolidity/semanticTests/array/create_memory_byte_array.sol +++ b/test/libsolidity/semanticTests/array/create_memory_byte_array.sol @@ -7,6 +7,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // f() -> "A" diff --git a/test/libsolidity/semanticTests/array/create_multiple_dynamic_arrays.sol b/test/libsolidity/semanticTests/array/create_multiple_dynamic_arrays.sol index c29dca43e..77678ec60 100644 --- a/test/libsolidity/semanticTests/array/create_multiple_dynamic_arrays.sol +++ b/test/libsolidity/semanticTests/array/create_multiple_dynamic_arrays.sol @@ -30,6 +30,7 @@ contract C { } } // ==== +// requiresYulOptimizer: full // compileToEwasm: also // compileViaYul: also // ---- diff --git a/test/libsolidity/semanticTests/array/delete/bytes_delete_element.sol b/test/libsolidity/semanticTests/array/delete/bytes_delete_element.sol index f3c4a87b4..e2a4f109a 100644 --- a/test/libsolidity/semanticTests/array/delete/bytes_delete_element.sol +++ b/test/libsolidity/semanticTests/array/delete/bytes_delete_element.sol @@ -15,6 +15,7 @@ contract c { } } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // test1() -> true diff --git a/test/libsolidity/semanticTests/array/delete/delete_bytes_array.sol b/test/libsolidity/semanticTests/array/delete/delete_bytes_array.sol index 2136f7895..33802d4db 100644 --- a/test/libsolidity/semanticTests/array/delete/delete_bytes_array.sol +++ b/test/libsolidity/semanticTests/array/delete/delete_bytes_array.sol @@ -31,6 +31,7 @@ contract C { } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // f() -> 0 diff --git a/test/libsolidity/semanticTests/array/delete/delete_memory_array.sol b/test/libsolidity/semanticTests/array/delete/delete_memory_array.sol index 64fc9a972..4881c8c6b 100644 --- a/test/libsolidity/semanticTests/array/delete/delete_memory_array.sol +++ b/test/libsolidity/semanticTests/array/delete/delete_memory_array.sol @@ -12,6 +12,7 @@ contract C { } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // len() -> 0 diff --git a/test/libsolidity/semanticTests/array/delete/delete_on_array_of_structs.sol b/test/libsolidity/semanticTests/array/delete/delete_on_array_of_structs.sol index b415ac7f6..b11d0180f 100644 --- a/test/libsolidity/semanticTests/array/delete/delete_on_array_of_structs.sol +++ b/test/libsolidity/semanticTests/array/delete/delete_on_array_of_structs.sol @@ -17,6 +17,7 @@ contract C { } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // f() -> true # This code interprets x as an array length and thus will go out of gas. neither of the two should throw due to out-of-bounds access # diff --git a/test/libsolidity/semanticTests/array/delete/delete_storage_array.sol b/test/libsolidity/semanticTests/array/delete/delete_storage_array.sol index d8bf81d8a..ce9769231 100644 --- a/test/libsolidity/semanticTests/array/delete/delete_storage_array.sol +++ b/test/libsolidity/semanticTests/array/delete/delete_storage_array.sol @@ -34,6 +34,7 @@ contract C { } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // len() -> 0 diff --git a/test/libsolidity/semanticTests/array/delete/delete_storage_array_packed.sol b/test/libsolidity/semanticTests/array/delete/delete_storage_array_packed.sol index 36a2eca41..194d333c6 100644 --- a/test/libsolidity/semanticTests/array/delete/delete_storage_array_packed.sol +++ b/test/libsolidity/semanticTests/array/delete/delete_storage_array_packed.sol @@ -13,6 +13,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // f() -> 0, 0, 0 diff --git a/test/libsolidity/semanticTests/array/delete/memory_arrays_delete.sol b/test/libsolidity/semanticTests/array/delete/memory_arrays_delete.sol index 31c86b353..2c6793148 100644 --- a/test/libsolidity/semanticTests/array/delete/memory_arrays_delete.sol +++ b/test/libsolidity/semanticTests/array/delete/memory_arrays_delete.sol @@ -10,6 +10,7 @@ contract Test { } } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // del() -> 0, 1, 2, 0, 0, 0, 0x20, 0x21, 0x22, 0x30, 0x31, 0 diff --git a/test/libsolidity/semanticTests/array/dynamic_arrays_in_storage.sol b/test/libsolidity/semanticTests/array/dynamic_arrays_in_storage.sol index f95a93a22..954d6ca1b 100644 --- a/test/libsolidity/semanticTests/array/dynamic_arrays_in_storage.sol +++ b/test/libsolidity/semanticTests/array/dynamic_arrays_in_storage.sol @@ -40,6 +40,7 @@ contract c { } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // getLengths() -> 0, 0 diff --git a/test/libsolidity/semanticTests/array/dynamic_multi_array_cleanup.sol b/test/libsolidity/semanticTests/array/dynamic_multi_array_cleanup.sol index 7d7f4188b..a2e0d7916 100644 --- a/test/libsolidity/semanticTests/array/dynamic_multi_array_cleanup.sol +++ b/test/libsolidity/semanticTests/array/dynamic_multi_array_cleanup.sol @@ -14,6 +14,7 @@ contract c { function clear() public { delete data; } } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // storageEmpty -> 1 diff --git a/test/libsolidity/semanticTests/array/external_array_args.sol b/test/libsolidity/semanticTests/array/external_array_args.sol index 72a8cdfc3..6c5e1f8b2 100644 --- a/test/libsolidity/semanticTests/array/external_array_args.sol +++ b/test/libsolidity/semanticTests/array/external_array_args.sol @@ -7,6 +7,7 @@ contract c { } } // ==== +// requiresYulOptimizer: minimalStack // compileToEwasm: also // compileViaYul: also // ---- 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 a4c808b57..d32868a36 100644 --- a/test/libsolidity/semanticTests/array/fixed_arrays_as_return_type.sol +++ b/test/libsolidity/semanticTests/array/fixed_arrays_as_return_type.sol @@ -18,6 +18,7 @@ contract B { } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // f() -> 2, 3, 4, 5, 6, 1000, 1001, 1002, 1003, 1004 diff --git a/test/libsolidity/semanticTests/array/fixed_arrays_in_storage.sol b/test/libsolidity/semanticTests/array/fixed_arrays_in_storage.sol index dc7b67378..763d1f513 100644 --- a/test/libsolidity/semanticTests/array/fixed_arrays_in_storage.sol +++ b/test/libsolidity/semanticTests/array/fixed_arrays_in_storage.sol @@ -34,6 +34,7 @@ contract c { } } // ==== +// requiresYulOptimizer: minimalStack // compileToEwasm: also // compileViaYul: also // ---- diff --git a/test/libsolidity/semanticTests/array/fixed_bytes_length_access.sol b/test/libsolidity/semanticTests/array/fixed_bytes_length_access.sol index 9561a98e5..29606635c 100644 --- a/test/libsolidity/semanticTests/array/fixed_bytes_length_access.sol +++ b/test/libsolidity/semanticTests/array/fixed_bytes_length_access.sol @@ -6,6 +6,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // compileToEwasm: also // compileViaYul: also // ---- diff --git a/test/libsolidity/semanticTests/array/function_array_cross_calls.sol b/test/libsolidity/semanticTests/array/function_array_cross_calls.sol index b8b4d4e00..4796847c9 100644 --- a/test/libsolidity/semanticTests/array/function_array_cross_calls.sol +++ b/test/libsolidity/semanticTests/array/function_array_cross_calls.sol @@ -42,6 +42,7 @@ contract C { } // ==== +// requiresYulOptimizer: full // compileViaYul: also // ---- // test() -> 5, 6, 7 diff --git a/test/libsolidity/semanticTests/array/function_memory_array.sol b/test/libsolidity/semanticTests/array/function_memory_array.sol index 5c07c1f90..0541b061b 100644 --- a/test/libsolidity/semanticTests/array/function_memory_array.sol +++ b/test/libsolidity/semanticTests/array/function_memory_array.sol @@ -31,6 +31,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // compileToEwasm: also // compileViaYul: also // ---- diff --git a/test/libsolidity/semanticTests/array/indexAccess/arrays_complex_memory_index_access.sol b/test/libsolidity/semanticTests/array/indexAccess/arrays_complex_memory_index_access.sol index d21bcc53f..5ebc0469a 100644 --- a/test/libsolidity/semanticTests/array/indexAccess/arrays_complex_memory_index_access.sol +++ b/test/libsolidity/semanticTests/array/indexAccess/arrays_complex_memory_index_access.sol @@ -8,6 +8,7 @@ contract Test { } } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // set(uint24[3][],uint256,uint256): 0x60, 0x03, 0x02, 0x06, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x12 -> 0x06, 0x0c diff --git a/test/libsolidity/semanticTests/array/indexAccess/bytes_index_access.sol b/test/libsolidity/semanticTests/array/indexAccess/bytes_index_access.sol index 9a0c85ac7..42f8ec6ab 100644 --- a/test/libsolidity/semanticTests/array/indexAccess/bytes_index_access.sol +++ b/test/libsolidity/semanticTests/array/indexAccess/bytes_index_access.sol @@ -20,6 +20,7 @@ contract c { } } // ==== +// requiresYulOptimizer: full // compileViaYul: also // ---- // direct(bytes,uint256): 0x40, 33, 34, 0x000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F, left(0x2021) -> 0x21 diff --git a/test/libsolidity/semanticTests/array/indexAccess/bytes_index_access_memory.sol b/test/libsolidity/semanticTests/array/indexAccess/bytes_index_access_memory.sol index 1dcd448b4..a9a8d5455 100644 --- a/test/libsolidity/semanticTests/array/indexAccess/bytes_index_access_memory.sol +++ b/test/libsolidity/semanticTests/array/indexAccess/bytes_index_access_memory.sol @@ -12,6 +12,7 @@ contract Main { } } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // f(bytes,uint256,uint256,uint256): 0x80, 3, 4, 5, 78, "abcdefghijklmnopqrstuvwxyzabcdef", "ghijklmnopqrstuvwxyzabcdefghijkl", "mnopqrstuvwxyz" -> "d", "e", "f" diff --git a/test/libsolidity/semanticTests/array/indexAccess/fixed_bytes_index_access.sol b/test/libsolidity/semanticTests/array/indexAccess/fixed_bytes_index_access.sol index 40cc65763..da3496933 100644 --- a/test/libsolidity/semanticTests/array/indexAccess/fixed_bytes_index_access.sol +++ b/test/libsolidity/semanticTests/array/indexAccess/fixed_bytes_index_access.sol @@ -12,6 +12,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // f(bytes32): "789" -> "9" diff --git a/test/libsolidity/semanticTests/array/indexAccess/index_access.sol b/test/libsolidity/semanticTests/array/indexAccess/index_access.sol index ad691a588..10b051b6b 100644 --- a/test/libsolidity/semanticTests/array/indexAccess/index_access.sol +++ b/test/libsolidity/semanticTests/array/indexAccess/index_access.sol @@ -14,8 +14,9 @@ contract C { } } // ==== -// compileViaYul: also +// requiresYulOptimizer: minimalStack // compileToEwasm: also +// compileViaYul: also // ---- // to_little_endian_64(uint64): 0 -> 0x20, 8, 0x00 // to_little_endian_64(uint64): 0x0102030405060708 -> 0x20, 8, 0x0807060504030201000000000000000000000000000000000000000000000000 diff --git a/test/libsolidity/semanticTests/array/indexAccess/memory_arrays_dynamic_index_access_write.sol b/test/libsolidity/semanticTests/array/indexAccess/memory_arrays_dynamic_index_access_write.sol index 046be080c..f7eb74ffb 100644 --- a/test/libsolidity/semanticTests/array/indexAccess/memory_arrays_dynamic_index_access_write.sol +++ b/test/libsolidity/semanticTests/array/indexAccess/memory_arrays_dynamic_index_access_write.sol @@ -16,6 +16,7 @@ contract Test { } } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // f() -> 0x20, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x07 diff --git a/test/libsolidity/semanticTests/array/inline_array_return.sol b/test/libsolidity/semanticTests/array/inline_array_return.sol index b3c97f275..bd97532ca 100644 --- a/test/libsolidity/semanticTests/array/inline_array_return.sol +++ b/test/libsolidity/semanticTests/array/inline_array_return.sol @@ -12,6 +12,7 @@ contract C { } // ==== +// requiresYulOptimizer: full // compileToEwasm: also // compileViaYul: also // ---- diff --git a/test/libsolidity/semanticTests/array/inline_array_storage_to_memory_conversion_ints.sol b/test/libsolidity/semanticTests/array/inline_array_storage_to_memory_conversion_ints.sol index 62efbc25e..3fc5e541f 100644 --- a/test/libsolidity/semanticTests/array/inline_array_storage_to_memory_conversion_ints.sol +++ b/test/libsolidity/semanticTests/array/inline_array_storage_to_memory_conversion_ints.sol @@ -8,6 +8,7 @@ contract C { } // ==== +// requiresYulOptimizer: minimalStack // compileToEwasm: also // compileViaYul: also // ---- diff --git a/test/libsolidity/semanticTests/array/inline_array_storage_to_memory_conversion_strings.sol b/test/libsolidity/semanticTests/array/inline_array_storage_to_memory_conversion_strings.sol index dd598ca71..879d7aa4a 100644 --- a/test/libsolidity/semanticTests/array/inline_array_storage_to_memory_conversion_strings.sol +++ b/test/libsolidity/semanticTests/array/inline_array_storage_to_memory_conversion_strings.sol @@ -9,6 +9,7 @@ contract C { } // ==== +// requiresYulOptimizer: minimalStack // compileToEwasm: also // compileViaYul: also // ---- diff --git a/test/libsolidity/semanticTests/array/memory.sol b/test/libsolidity/semanticTests/array/memory.sol index dba62a336..5f8ce4ff4 100644 --- a/test/libsolidity/semanticTests/array/memory.sol +++ b/test/libsolidity/semanticTests/array/memory.sol @@ -11,6 +11,7 @@ contract C { } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // h(uint256[4]): 1, 2, 3, 4 -> 10 diff --git a/test/libsolidity/semanticTests/array/memory_arrays_of_various_sizes.sol b/test/libsolidity/semanticTests/array/memory_arrays_of_various_sizes.sol index fd1fba0a1..1a89fd10b 100644 --- a/test/libsolidity/semanticTests/array/memory_arrays_of_various_sizes.sol +++ b/test/libsolidity/semanticTests/array/memory_arrays_of_various_sizes.sol @@ -12,6 +12,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // f(uint256,uint256): 3, 1 -> 1 diff --git a/test/libsolidity/semanticTests/array/pop/array_pop.sol b/test/libsolidity/semanticTests/array/pop/array_pop.sol index 9e64119e9..abc56b181 100644 --- a/test/libsolidity/semanticTests/array/pop/array_pop.sol +++ b/test/libsolidity/semanticTests/array/pop/array_pop.sol @@ -12,6 +12,7 @@ contract c { } } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // test() -> 1, 0 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 9788b6136..a34e120f5 100644 --- a/test/libsolidity/semanticTests/array/pop/array_pop_array_transition.sol +++ b/test/libsolidity/semanticTests/array/pop/array_pop_array_transition.sol @@ -22,6 +22,7 @@ contract c { } } // ==== +// requiresYulOptimizer: full // compileViaYul: also // ---- // test() -> 1, 2, 3 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 3ad0d8f32..decc01d9f 100644 --- a/test/libsolidity/semanticTests/array/pop/array_pop_uint16_transition.sol +++ b/test/libsolidity/semanticTests/array/pop/array_pop_uint16_transition.sol @@ -17,6 +17,7 @@ contract c { } } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // test() -> 38, 28, 18 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 dc3b2a861..79ba39388 100644 --- a/test/libsolidity/semanticTests/array/pop/array_pop_uint24_transition.sol +++ b/test/libsolidity/semanticTests/array/pop/array_pop_uint24_transition.sol @@ -17,6 +17,7 @@ contract c { } } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // test() -> 20, 10 diff --git a/test/libsolidity/semanticTests/array/pop/byte_array_pop.sol b/test/libsolidity/semanticTests/array/pop/byte_array_pop.sol index 260e6c342..aeece4f42 100644 --- a/test/libsolidity/semanticTests/array/pop/byte_array_pop.sol +++ b/test/libsolidity/semanticTests/array/pop/byte_array_pop.sol @@ -13,6 +13,7 @@ contract c { } } // ==== +// requiresYulOptimizer: minimalStack // compileToEwasm: also // compileViaYul: also // ---- 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 bf605984b..0f732d70c 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 @@ -15,6 +15,7 @@ contract c { } } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // test() -> true diff --git a/test/libsolidity/semanticTests/array/push/array_push.sol b/test/libsolidity/semanticTests/array/push/array_push.sol index 83cceeb56..f14f976a1 100644 --- a/test/libsolidity/semanticTests/array/push/array_push.sol +++ b/test/libsolidity/semanticTests/array/push/array_push.sol @@ -15,6 +15,7 @@ contract c { } } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // test() -> 5, 4, 3, 3 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 39f99a9bd..2353f17de 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 @@ -11,6 +11,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // f(uint120[]): 0x20, 3, 1, 2, 3 -> 1 diff --git a/test/libsolidity/semanticTests/array/push/array_push_nested_from_memory.sol b/test/libsolidity/semanticTests/array/push/array_push_nested_from_memory.sol index 8a975e0b8..c0eb5eeea 100644 --- a/test/libsolidity/semanticTests/array/push/array_push_nested_from_memory.sol +++ b/test/libsolidity/semanticTests/array/push/array_push_nested_from_memory.sol @@ -14,6 +14,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // f() -> 1 diff --git a/test/libsolidity/semanticTests/array/push/array_push_packed_array.sol b/test/libsolidity/semanticTests/array/push/array_push_packed_array.sol index 72ab9ea14..02d257a97 100644 --- a/test/libsolidity/semanticTests/array/push/array_push_packed_array.sol +++ b/test/libsolidity/semanticTests/array/push/array_push_packed_array.sol @@ -13,6 +13,7 @@ contract c { } // ==== +// requiresYulOptimizer: full // compileViaYul: also // ---- // test() -> 1, 2, 3, 4 diff --git a/test/libsolidity/semanticTests/array/push/array_push_struct.sol b/test/libsolidity/semanticTests/array/push/array_push_struct.sol index 03a2c53b3..5158a84d3 100644 --- a/test/libsolidity/semanticTests/array/push/array_push_struct.sol +++ b/test/libsolidity/semanticTests/array/push/array_push_struct.sol @@ -19,6 +19,7 @@ contract c { } } // ==== +// requiresYulOptimizer: full // compileViaYul: also // ---- // test() -> 2, 3, 4, 5 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 272b179e9..2bb32ff39 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 @@ -15,6 +15,7 @@ contract c { } } // ==== +// requiresYulOptimizer: full // compileViaYul: also // ---- // test((uint16,uint16,uint16[3],uint16[])): 0x20, 2, 3, 0, 0, 4, 0xC0, 4, 0, 0, 5, 0, 0 -> 2, 3, 4, 5 diff --git a/test/libsolidity/semanticTests/array/push/byte_array_push.sol b/test/libsolidity/semanticTests/array/push/byte_array_push.sol index 14265fca9..f48232113 100644 --- a/test/libsolidity/semanticTests/array/push/byte_array_push.sol +++ b/test/libsolidity/semanticTests/array/push/byte_array_push.sol @@ -14,6 +14,7 @@ contract c { } } // ==== +// requiresYulOptimizer: minimalStack // compileToEwasm: also // compileViaYul: also // ---- 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 86ef51a81..79df4bc0e 100644 --- a/test/libsolidity/semanticTests/array/push/byte_array_push_transition.sol +++ b/test/libsolidity/semanticTests/array/push/byte_array_push_transition.sol @@ -14,6 +14,7 @@ contract c { } } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // test() -> 0 diff --git a/test/libsolidity/semanticTests/array/reusing_memory.sol b/test/libsolidity/semanticTests/array/reusing_memory.sol index 7ae96a3d6..0c875c81b 100644 --- a/test/libsolidity/semanticTests/array/reusing_memory.sol +++ b/test/libsolidity/semanticTests/array/reusing_memory.sol @@ -23,6 +23,7 @@ contract Main { } } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // f(uint256): 0x34 -> 0x46bddb1178e94d7f2892ff5f366840eb658911794f2c3a44c450aa2c505186c1 diff --git a/test/libsolidity/semanticTests/array/slices/array_calldata_assignment.sol b/test/libsolidity/semanticTests/array/slices/array_calldata_assignment.sol index 739916e34..7f1feec9b 100644 --- a/test/libsolidity/semanticTests/array/slices/array_calldata_assignment.sol +++ b/test/libsolidity/semanticTests/array/slices/array_calldata_assignment.sol @@ -5,7 +5,8 @@ contract C { } } // ==== -// compileViaYul: also +// requiresYulOptimizer: minimalStack // compileToEwasm: also +// compileViaYul: also // ---- // f(uint256[],uint256[],uint256): 0x60, 0xA0, 1, 1, 0, 2, 1, 2 -> 2 diff --git a/test/libsolidity/semanticTests/array/slices/array_slice_calldata_as_argument_of_external_calls.sol b/test/libsolidity/semanticTests/array/slices/array_slice_calldata_as_argument_of_external_calls.sol index 1f5e929d4..5caed63eb 100644 --- a/test/libsolidity/semanticTests/array/slices/array_slice_calldata_as_argument_of_external_calls.sol +++ b/test/libsolidity/semanticTests/array/slices/array_slice_calldata_as_argument_of_external_calls.sol @@ -28,6 +28,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // f1(bytes,uint256,uint256,bytes): 0x80, 1, 5, 0xC0, 8, "abcdefgh", 4, "bcde" -> true diff --git a/test/libsolidity/semanticTests/array/slices/array_slice_calldata_to_calldata.sol b/test/libsolidity/semanticTests/array/slices/array_slice_calldata_to_calldata.sol index d1df5185d..6a35a5583 100644 --- a/test/libsolidity/semanticTests/array/slices/array_slice_calldata_to_calldata.sol +++ b/test/libsolidity/semanticTests/array/slices/array_slice_calldata_to_calldata.sol @@ -21,6 +21,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // g((uint128,uint256[3],uint32)[],uint256,uint256): 0x60, 1, 3, 4, 55, 1, 2, 3, 66, 66, 2, 3, 4, 77, 77, 3, 4, 5, 88, 88, 4, 5, 6, 99 -> 0x20, 2, 66, 2, 3, 4, 77, 77, 3, 4, 5, 88 diff --git a/test/libsolidity/semanticTests/array/slices/array_slice_calldata_to_memory.sol b/test/libsolidity/semanticTests/array/slices/array_slice_calldata_to_memory.sol index 02c439c51..209a66af1 100644 --- a/test/libsolidity/semanticTests/array/slices/array_slice_calldata_to_memory.sol +++ b/test/libsolidity/semanticTests/array/slices/array_slice_calldata_to_memory.sol @@ -22,6 +22,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // f(int256[],uint256,uint256): 0x60, 1, 3, 4, 1, 2, 3, 4 -> 2 diff --git a/test/libsolidity/semanticTests/array/slices/array_slice_calldata_to_storage.sol b/test/libsolidity/semanticTests/array/slices/array_slice_calldata_to_storage.sol index 6c36372bc..2cecc027c 100644 --- a/test/libsolidity/semanticTests/array/slices/array_slice_calldata_to_storage.sol +++ b/test/libsolidity/semanticTests/array/slices/array_slice_calldata_to_storage.sol @@ -11,6 +11,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // f(int256[],uint256,uint256): 0x60, 1, 3, 4, 1, 2, 3, 4 -> 2 diff --git a/test/libsolidity/semanticTests/array/storage_array_ref.sol b/test/libsolidity/semanticTests/array/storage_array_ref.sol index 4249fd277..cda477569 100644 --- a/test/libsolidity/semanticTests/array/storage_array_ref.sol +++ b/test/libsolidity/semanticTests/array/storage_array_ref.sol @@ -40,6 +40,7 @@ contract Store is BinarySearch { } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // find(uint256): 7 -> -1 diff --git a/test/libsolidity/semanticTests/array/string_allocation_bug.sol b/test/libsolidity/semanticTests/array/string_allocation_bug.sol index cd1ad5fc5..0c9528900 100644 --- a/test/libsolidity/semanticTests/array/string_allocation_bug.sol +++ b/test/libsolidity/semanticTests/array/string_allocation_bug.sol @@ -17,7 +17,8 @@ contract Sample { } } // ==== -// compileViaYul: also +// requiresYulOptimizer: minimalStack // compileToEwasm: also +// compileViaYul: also // ---- // p(uint256): 0x0 -> 0xbbbb, 0xcccc, 0x80, 0xc0, 0x05, "hello", 0x05, "world" diff --git a/test/libsolidity/semanticTests/array/string_bytes_conversion.sol b/test/libsolidity/semanticTests/array/string_bytes_conversion.sol index 5f6e73422..3d0b79935 100644 --- a/test/libsolidity/semanticTests/array/string_bytes_conversion.sol +++ b/test/libsolidity/semanticTests/array/string_bytes_conversion.sol @@ -13,6 +13,7 @@ contract Test { } } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // f(string,uint256): 0x40, 0x02, 0x06, "abcdef" -> "c" diff --git a/test/libsolidity/semanticTests/builtinFunctions/iterated_keccak256_with_bytes.sol b/test/libsolidity/semanticTests/builtinFunctions/iterated_keccak256_with_bytes.sol index 9f34a5282..2224e5876 100644 --- a/test/libsolidity/semanticTests/builtinFunctions/iterated_keccak256_with_bytes.sol +++ b/test/libsolidity/semanticTests/builtinFunctions/iterated_keccak256_with_bytes.sol @@ -9,6 +9,7 @@ contract c { } } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // foo() -> 0xb338eefce206f9f57b83aa738deecd5326dc4b72dd81ee6a7c621a6facb7acdc diff --git a/test/libsolidity/semanticTests/builtinFunctions/keccak256_with_bytes.sol b/test/libsolidity/semanticTests/builtinFunctions/keccak256_with_bytes.sol index b284b7f01..4b80062df 100644 --- a/test/libsolidity/semanticTests/builtinFunctions/keccak256_with_bytes.sol +++ b/test/libsolidity/semanticTests/builtinFunctions/keccak256_with_bytes.sol @@ -10,6 +10,7 @@ contract c { } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // foo() -> true diff --git a/test/libsolidity/semanticTests/c99_scoping_activation.sol b/test/libsolidity/semanticTests/c99_scoping_activation.sol index bca43e78c..c47e878ac 100644 --- a/test/libsolidity/semanticTests/c99_scoping_activation.sol +++ b/test/libsolidity/semanticTests/c99_scoping_activation.sol @@ -35,6 +35,7 @@ contract test { } } // ==== +// requiresYulOptimizer: minimalStack // compileToEwasm: also // compileViaYul: also // ---- diff --git a/test/libsolidity/semanticTests/calldata/calldata_bound_bytes.sol b/test/libsolidity/semanticTests/calldata/calldata_bound_bytes.sol index 44126a18f..9477711c0 100644 --- a/test/libsolidity/semanticTests/calldata/calldata_bound_bytes.sol +++ b/test/libsolidity/semanticTests/calldata/calldata_bound_bytes.sol @@ -15,6 +15,7 @@ contract C { } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // test(uint256,bytes,uint256): 7, 0x60, 4, 2, "ab" -> "b", "a" diff --git a/test/libsolidity/semanticTests/calldata/calldata_bound_dynamic_array_or_slice.sol b/test/libsolidity/semanticTests/calldata/calldata_bound_dynamic_array_or_slice.sol index 251910eae..3f343a357 100644 --- a/test/libsolidity/semanticTests/calldata/calldata_bound_dynamic_array_or_slice.sol +++ b/test/libsolidity/semanticTests/calldata/calldata_bound_dynamic_array_or_slice.sol @@ -19,6 +19,7 @@ contract C { } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // testArray(uint256,uint256[],uint256): 7, 0x60, 4, 2, 66, 77 -> 77, 66 diff --git a/test/libsolidity/semanticTests/calldata/calldata_internal_function_pointer.sol b/test/libsolidity/semanticTests/calldata/calldata_internal_function_pointer.sol index d6871d7e4..59bd0c2cf 100644 --- a/test/libsolidity/semanticTests/calldata/calldata_internal_function_pointer.sol +++ b/test/libsolidity/semanticTests/calldata/calldata_internal_function_pointer.sol @@ -14,6 +14,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // g() -> 0x0700000000000000000000000000000000000000000000000000000000000000 diff --git a/test/libsolidity/semanticTests/calldata/calldata_internal_library.sol b/test/libsolidity/semanticTests/calldata/calldata_internal_library.sol index fa44cc144..fc5e9db99 100644 --- a/test/libsolidity/semanticTests/calldata/calldata_internal_library.sol +++ b/test/libsolidity/semanticTests/calldata/calldata_internal_library.sol @@ -17,6 +17,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // g() -> 0x0800000000000000000000000000000000000000000000000000000000000000 diff --git a/test/libsolidity/semanticTests/calldata/calldata_internal_multi_array.sol b/test/libsolidity/semanticTests/calldata/calldata_internal_multi_array.sol index 33f27a084..6e48b4146 100644 --- a/test/libsolidity/semanticTests/calldata/calldata_internal_multi_array.sol +++ b/test/libsolidity/semanticTests/calldata/calldata_internal_multi_array.sol @@ -18,6 +18,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // g() -> 7, 8 diff --git a/test/libsolidity/semanticTests/calldata/calldata_internal_multi_fixed_array.sol b/test/libsolidity/semanticTests/calldata/calldata_internal_multi_fixed_array.sol index 6fb892dde..f47cdd8a0 100644 --- a/test/libsolidity/semanticTests/calldata/calldata_internal_multi_fixed_array.sol +++ b/test/libsolidity/semanticTests/calldata/calldata_internal_multi_fixed_array.sol @@ -14,6 +14,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // g() -> 7, 8 diff --git a/test/libsolidity/semanticTests/calldata/calldata_memory_mixed.sol b/test/libsolidity/semanticTests/calldata/calldata_memory_mixed.sol index 2798a6ab7..21dd96ab0 100644 --- a/test/libsolidity/semanticTests/calldata/calldata_memory_mixed.sol +++ b/test/libsolidity/semanticTests/calldata/calldata_memory_mixed.sol @@ -16,6 +16,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // g() -> 0x0e, 0x0800000000000000000000000000000000000000000000000000000000000000, 0x0900000000000000000000000000000000000000000000000000000000000000, 0x0a00000000000000000000000000000000000000000000000000000000000000 diff --git a/test/libsolidity/semanticTests/calldata/calldata_string_array.sol b/test/libsolidity/semanticTests/calldata/calldata_string_array.sol index 1ab1b25a8..556116059 100644 --- a/test/libsolidity/semanticTests/calldata/calldata_string_array.sol +++ b/test/libsolidity/semanticTests/calldata/calldata_string_array.sol @@ -12,6 +12,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // f(string[]): 0x20, 0x1, 0x20, 0x2, hex"6162000000000000000000000000000000000000000000000000000000000000" -> 1, 2, 97, 0x80, 2, "ab" diff --git a/test/libsolidity/semanticTests/cleanup/cleanup_in_compound_assign.sol b/test/libsolidity/semanticTests/cleanup/cleanup_in_compound_assign.sol index b1cd6637a..69ed5ea66 100644 --- a/test/libsolidity/semanticTests/cleanup/cleanup_in_compound_assign.sol +++ b/test/libsolidity/semanticTests/cleanup/cleanup_in_compound_assign.sol @@ -9,6 +9,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // compileToEwasm: also // compileViaYul: also // ---- diff --git a/test/libsolidity/semanticTests/constantEvaluator/negative_fractional_mod.sol b/test/libsolidity/semanticTests/constantEvaluator/negative_fractional_mod.sol index 83388da1f..e6191806d 100644 --- a/test/libsolidity/semanticTests/constantEvaluator/negative_fractional_mod.sol +++ b/test/libsolidity/semanticTests/constantEvaluator/negative_fractional_mod.sol @@ -6,6 +6,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // compileToEwasm: also // compileViaYul: also // ---- diff --git a/test/libsolidity/semanticTests/constantEvaluator/rounding.sol b/test/libsolidity/semanticTests/constantEvaluator/rounding.sol index 6a3f953bd..3861110b6 100644 --- a/test/libsolidity/semanticTests/constantEvaluator/rounding.sol +++ b/test/libsolidity/semanticTests/constantEvaluator/rounding.sol @@ -10,6 +10,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // compileToEwasm: also // compileViaYul: also // ---- diff --git a/test/libsolidity/semanticTests/constants/consteval_array_length.sol b/test/libsolidity/semanticTests/constants/consteval_array_length.sol index bdf95a9b9..8a4c4e230 100644 --- a/test/libsolidity/semanticTests/constants/consteval_array_length.sol +++ b/test/libsolidity/semanticTests/constants/consteval_array_length.sol @@ -8,6 +8,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // compileToEwasm: also // compileViaYul: true // ---- diff --git a/test/libsolidity/semanticTests/constructor/arrays_in_constructors.sol b/test/libsolidity/semanticTests/constructor/arrays_in_constructors.sol index bc0afd393..342d46b13 100644 --- a/test/libsolidity/semanticTests/constructor/arrays_in_constructors.sol +++ b/test/libsolidity/semanticTests/constructor/arrays_in_constructors.sol @@ -23,6 +23,7 @@ contract Creator { } } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // f(uint256,address[]): 7, 0x40, 10, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 -> 7, 8 diff --git a/test/libsolidity/semanticTests/constructor/bytes_in_constructors_packer.sol b/test/libsolidity/semanticTests/constructor/bytes_in_constructors_packer.sol index c0123af13..33b5048b3 100644 --- a/test/libsolidity/semanticTests/constructor/bytes_in_constructors_packer.sol +++ b/test/libsolidity/semanticTests/constructor/bytes_in_constructors_packer.sol @@ -23,6 +23,7 @@ contract Creator { } } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // f(uint256,bytes): 7, 0x40, 78, "abcdefghijklmnopqrstuvwxyzabcdef", "ghijklmnopqrstuvwxyzabcdefghijkl", "mnopqrstuvwxyz" -> 7, "h" diff --git a/test/libsolidity/semanticTests/constructor/constructor_function_complex.sol b/test/libsolidity/semanticTests/constructor/constructor_function_complex.sol index 78466f3f0..108efadee 100644 --- a/test/libsolidity/semanticTests/constructor/constructor_function_complex.sol +++ b/test/libsolidity/semanticTests/constructor/constructor_function_complex.sol @@ -16,6 +16,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // f() -> 16 diff --git a/test/libsolidity/semanticTests/constructor/no_callvalue_check.sol b/test/libsolidity/semanticTests/constructor/no_callvalue_check.sol index 3bf97c49b..da4a84b65 100644 --- a/test/libsolidity/semanticTests/constructor/no_callvalue_check.sol +++ b/test/libsolidity/semanticTests/constructor/no_callvalue_check.sol @@ -16,6 +16,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // f(), 2000 ether -> true diff --git a/test/libsolidity/semanticTests/constructor/order_of_evaluation.sol b/test/libsolidity/semanticTests/constructor/order_of_evaluation.sol index c05c2104f..2cf5f46cd 100644 --- a/test/libsolidity/semanticTests/constructor/order_of_evaluation.sol +++ b/test/libsolidity/semanticTests/constructor/order_of_evaluation.sol @@ -19,6 +19,7 @@ contract X is D, C, B, A { constructor() A(f(1)) C(f(2)) B(f(3)) D(f(4)) {} } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // g() -> 0x20, 4, 1, 3, 2, 4 diff --git a/test/libsolidity/semanticTests/conversions/function_type_array_to_storage.sol b/test/libsolidity/semanticTests/conversions/function_type_array_to_storage.sol index 4e0a8a561..2cd8f0baa 100644 --- a/test/libsolidity/semanticTests/conversions/function_type_array_to_storage.sol +++ b/test/libsolidity/semanticTests/conversions/function_type_array_to_storage.sol @@ -37,6 +37,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // testViewToDefault() -> 12, 22 diff --git a/test/libsolidity/semanticTests/dirty_calldata_dynamic_array.sol b/test/libsolidity/semanticTests/dirty_calldata_dynamic_array.sol index 6b4763ab1..1a0c8a7cc 100644 --- a/test/libsolidity/semanticTests/dirty_calldata_dynamic_array.sol +++ b/test/libsolidity/semanticTests/dirty_calldata_dynamic_array.sol @@ -9,6 +9,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // f(int16[]): 0x20, 0x02, 0x7fff, 0x7fff -> true diff --git a/test/libsolidity/semanticTests/ecrecover/failing_ecrecover_invalid_input_proper.sol b/test/libsolidity/semanticTests/ecrecover/failing_ecrecover_invalid_input_proper.sol index 4fa1ec514..859b3b3f6 100644 --- a/test/libsolidity/semanticTests/ecrecover/failing_ecrecover_invalid_input_proper.sol +++ b/test/libsolidity/semanticTests/ecrecover/failing_ecrecover_invalid_input_proper.sol @@ -17,6 +17,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // f() -> 0 diff --git a/test/libsolidity/semanticTests/error/selector.sol b/test/libsolidity/semanticTests/error/selector.sol index fab71f443..95d99bc83 100644 --- a/test/libsolidity/semanticTests/error/selector.sol +++ b/test/libsolidity/semanticTests/error/selector.sol @@ -15,6 +15,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // f() -> 0x92bbf6e800000000000000000000000000000000000000000000000000000000, 0x2ff06700000000000000000000000000000000000000000000000000000000 diff --git a/test/libsolidity/semanticTests/events/event_dynamic_array_memory.sol b/test/libsolidity/semanticTests/events/event_dynamic_array_memory.sol index 943d3b1ac..a55bfcdbb 100644 --- a/test/libsolidity/semanticTests/events/event_dynamic_array_memory.sol +++ b/test/libsolidity/semanticTests/events/event_dynamic_array_memory.sol @@ -9,6 +9,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // createEvent(uint256): 42 -> diff --git a/test/libsolidity/semanticTests/events/event_dynamic_array_memory_v2.sol b/test/libsolidity/semanticTests/events/event_dynamic_array_memory_v2.sol index c7b564d38..c3d3ac63f 100644 --- a/test/libsolidity/semanticTests/events/event_dynamic_array_memory_v2.sol +++ b/test/libsolidity/semanticTests/events/event_dynamic_array_memory_v2.sol @@ -10,6 +10,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // createEvent(uint256): 42 -> diff --git a/test/libsolidity/semanticTests/events/event_dynamic_array_storage.sol b/test/libsolidity/semanticTests/events/event_dynamic_array_storage.sol index 2da24603e..cba55c406 100644 --- a/test/libsolidity/semanticTests/events/event_dynamic_array_storage.sol +++ b/test/libsolidity/semanticTests/events/event_dynamic_array_storage.sol @@ -11,6 +11,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // createEvent(uint256): 42 -> 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 8e02a5bfc..75d262d86 100644 --- a/test/libsolidity/semanticTests/events/event_dynamic_array_storage_v2.sol +++ b/test/libsolidity/semanticTests/events/event_dynamic_array_storage_v2.sol @@ -12,6 +12,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // createEvent(uint256): 42 -> diff --git a/test/libsolidity/semanticTests/events/event_dynamic_nested_array_memory_v2.sol b/test/libsolidity/semanticTests/events/event_dynamic_nested_array_memory_v2.sol index 13698e200..03386988c 100644 --- a/test/libsolidity/semanticTests/events/event_dynamic_nested_array_memory_v2.sol +++ b/test/libsolidity/semanticTests/events/event_dynamic_nested_array_memory_v2.sol @@ -13,6 +13,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // createEvent(uint256): 42 -> 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 f9e773b75..754af9664 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 @@ -13,6 +13,7 @@ contract C { } } // ==== +// requiresYulOptimizer: full // compileViaYul: also // ---- // createEvent(uint256): 42 -> diff --git a/test/libsolidity/semanticTests/exponentiation/literal_base.sol b/test/libsolidity/semanticTests/exponentiation/literal_base.sol index e1c178ec3..3910705de 100644 --- a/test/libsolidity/semanticTests/exponentiation/literal_base.sol +++ b/test/libsolidity/semanticTests/exponentiation/literal_base.sol @@ -8,8 +8,9 @@ contract test { } } // ==== -// compileViaYul: also +// requiresYulOptimizer: minimalStack // compileToEwasm: also +// compileViaYul: also // ---- // f(uint256): 0 -> 1, 1 // f(uint256): 1 -> 2, -2 diff --git a/test/libsolidity/semanticTests/exponentiation/signed_base.sol b/test/libsolidity/semanticTests/exponentiation/signed_base.sol index f71208067..13233ae42 100644 --- a/test/libsolidity/semanticTests/exponentiation/signed_base.sol +++ b/test/libsolidity/semanticTests/exponentiation/signed_base.sol @@ -11,6 +11,7 @@ contract test { } } // ==== +// requiresYulOptimizer: minimalStack // compileToEwasm: also // compileViaYul: also // ---- diff --git a/test/libsolidity/semanticTests/expressions/bit_operators.sol b/test/libsolidity/semanticTests/expressions/bit_operators.sol index 2cac78c7e..82c5f24e2 100644 --- a/test/libsolidity/semanticTests/expressions/bit_operators.sol +++ b/test/libsolidity/semanticTests/expressions/bit_operators.sol @@ -14,6 +14,7 @@ contract test { } } // ==== +// requiresYulOptimizer: minimalStack // compileToEwasm: also // compileViaYul: also // ---- diff --git a/test/libsolidity/semanticTests/expressions/conditional_expression_storage_memory_1.sol b/test/libsolidity/semanticTests/expressions/conditional_expression_storage_memory_1.sol index be90b8db8..c05f3fde3 100644 --- a/test/libsolidity/semanticTests/expressions/conditional_expression_storage_memory_1.sol +++ b/test/libsolidity/semanticTests/expressions/conditional_expression_storage_memory_1.sol @@ -23,6 +23,7 @@ contract test { } } // ==== +// requiresYulOptimizer: minimalStack // compileToEwasm: also // compileViaYul: also // ---- diff --git a/test/libsolidity/semanticTests/expressions/conditional_expression_storage_memory_2.sol b/test/libsolidity/semanticTests/expressions/conditional_expression_storage_memory_2.sol index f522ca6e5..07a73a034 100644 --- a/test/libsolidity/semanticTests/expressions/conditional_expression_storage_memory_2.sol +++ b/test/libsolidity/semanticTests/expressions/conditional_expression_storage_memory_2.sol @@ -24,6 +24,7 @@ contract test { } } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // f(bool): true -> 1 diff --git a/test/libsolidity/semanticTests/expressions/inc_dec_operators.sol b/test/libsolidity/semanticTests/expressions/inc_dec_operators.sol index c30a9a7f5..07b57dde1 100644 --- a/test/libsolidity/semanticTests/expressions/inc_dec_operators.sol +++ b/test/libsolidity/semanticTests/expressions/inc_dec_operators.sol @@ -12,6 +12,7 @@ contract test { } } // ==== +// requiresYulOptimizer: minimalStack // compileToEwasm: also // compileViaYul: also // ---- diff --git a/test/libsolidity/semanticTests/externalContracts/FixedFeeRegistrar.sol b/test/libsolidity/semanticTests/externalContracts/FixedFeeRegistrar.sol index b7be3cf05..9acbc5502 100644 --- a/test/libsolidity/semanticTests/externalContracts/FixedFeeRegistrar.sol +++ b/test/libsolidity/semanticTests/externalContracts/FixedFeeRegistrar.sol @@ -73,6 +73,7 @@ contract FixedFeeRegistrar is Registrar { uint constant c_fee = 69 ether; } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // constructor() diff --git a/test/libsolidity/semanticTests/externalContracts/deposit_contract.sol b/test/libsolidity/semanticTests/externalContracts/deposit_contract.sol index 81efd3566..5f588a530 100644 --- a/test/libsolidity/semanticTests/externalContracts/deposit_contract.sol +++ b/test/libsolidity/semanticTests/externalContracts/deposit_contract.sol @@ -175,11 +175,12 @@ contract DepositContract is IDepositContract, ERC165 { } } // ==== +// requiresYulOptimizer: full // compileViaYul: also // ---- // constructor() -// gas irOptimized: 1657475 -// gas legacy: 2580394 +// gas irOptimized: 1657415 +// gas legacy: 2436584 // gas legacyOptimized: 1775403 // supportsInterface(bytes4): 0x0 -> 0 // supportsInterface(bytes4): 0xffffffff00000000000000000000000000000000000000000000000000000000 -> false # defined to be false by ERC-165 # diff --git a/test/libsolidity/semanticTests/externalContracts/prbmath_signed.sol b/test/libsolidity/semanticTests/externalContracts/prbmath_signed.sol index 77be50301..ee3f2ed35 100644 --- a/test/libsolidity/semanticTests/externalContracts/prbmath_signed.sol +++ b/test/libsolidity/semanticTests/externalContracts/prbmath_signed.sol @@ -47,11 +47,12 @@ contract test { } } // ==== +// requiresYulOptimizer: full // compileViaYul: also // ---- // constructor() -// gas irOptimized: 1965559 -// gas legacy: 2602700 +// gas irOptimized: 1965132 +// gas legacy: 2480887 // gas legacyOptimized: 1874490 // div(int256,int256): 3141592653589793238, 88714123 -> 35412542528203691288251815328 // gas irOptimized: 22244 diff --git a/test/libsolidity/semanticTests/externalContracts/prbmath_unsigned.sol b/test/libsolidity/semanticTests/externalContracts/prbmath_unsigned.sol index 8a096f524..6bb439a5b 100644 --- a/test/libsolidity/semanticTests/externalContracts/prbmath_unsigned.sol +++ b/test/libsolidity/semanticTests/externalContracts/prbmath_unsigned.sol @@ -47,6 +47,7 @@ contract test { } } // ==== +// requiresYulOptimizer: full // compileViaYul: also // ---- // constructor() diff --git a/test/libsolidity/semanticTests/externalContracts/ramanujan_pi.sol b/test/libsolidity/semanticTests/externalContracts/ramanujan_pi.sol index 2c9376b22..27be5ddda 100644 --- a/test/libsolidity/semanticTests/externalContracts/ramanujan_pi.sol +++ b/test/libsolidity/semanticTests/externalContracts/ramanujan_pi.sol @@ -32,6 +32,7 @@ contract test { } } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // constructor() diff --git a/test/libsolidity/semanticTests/externalContracts/snark.sol b/test/libsolidity/semanticTests/externalContracts/snark.sol index 7a7b95695..3515b4901 100644 --- a/test/libsolidity/semanticTests/externalContracts/snark.sol +++ b/test/libsolidity/semanticTests/externalContracts/snark.sol @@ -288,6 +288,7 @@ contract Test { /// testMul() -> true // // ==== +// requiresYulOptimizer: full // EVMVersion: >=constantinople // compileViaYul: also // ---- diff --git a/test/libsolidity/semanticTests/externalContracts/strings.sol b/test/libsolidity/semanticTests/externalContracts/strings.sol index 1fa79f382..7936ba411 100644 --- a/test/libsolidity/semanticTests/externalContracts/strings.sol +++ b/test/libsolidity/semanticTests/externalContracts/strings.sol @@ -48,6 +48,7 @@ contract test { } } // ==== +// requiresYulOptimizer: full // compileViaYul: also // ---- // constructor() diff --git a/test/libsolidity/semanticTests/fallback/fallback_argument.sol b/test/libsolidity/semanticTests/fallback/fallback_argument.sol index f20c14493..c5257b3c7 100644 --- a/test/libsolidity/semanticTests/fallback/fallback_argument.sol +++ b/test/libsolidity/semanticTests/fallback/fallback_argument.sol @@ -10,6 +10,7 @@ contract A { } } // ==== +// requiresYulOptimizer: minimalStack // EVMVersion: >=byzantium // compileViaYul: also // ---- diff --git a/test/libsolidity/semanticTests/fallback/fallback_argument_to_storage.sol b/test/libsolidity/semanticTests/fallback/fallback_argument_to_storage.sol index 5e0c3fbdf..77af822c1 100644 --- a/test/libsolidity/semanticTests/fallback/fallback_argument_to_storage.sol +++ b/test/libsolidity/semanticTests/fallback/fallback_argument_to_storage.sol @@ -10,6 +10,7 @@ contract A { } } // ==== +// requiresYulOptimizer: minimalStack // EVMVersion: >=byzantium // compileViaYul: also // ---- diff --git a/test/libsolidity/semanticTests/fallback/fallback_override.sol b/test/libsolidity/semanticTests/fallback/fallback_override.sol index c1099e151..0f56851e2 100644 --- a/test/libsolidity/semanticTests/fallback/fallback_override.sol +++ b/test/libsolidity/semanticTests/fallback/fallback_override.sol @@ -13,6 +13,7 @@ contract B is A { } } // ==== +// requiresYulOptimizer: minimalStack // EVMVersion: >=byzantium // compileViaYul: also // ---- diff --git a/test/libsolidity/semanticTests/fallback/fallback_override2.sol b/test/libsolidity/semanticTests/fallback/fallback_override2.sol index e92163476..80cc20884 100644 --- a/test/libsolidity/semanticTests/fallback/fallback_override2.sol +++ b/test/libsolidity/semanticTests/fallback/fallback_override2.sol @@ -12,6 +12,7 @@ contract B is A { } } // ==== +// requiresYulOptimizer: minimalStack // EVMVersion: >=byzantium // compileViaYul: also // ---- diff --git a/test/libsolidity/semanticTests/fallback/fallback_override_multi.sol b/test/libsolidity/semanticTests/fallback/fallback_override_multi.sol index 1e2b3a630..341596d1d 100644 --- a/test/libsolidity/semanticTests/fallback/fallback_override_multi.sol +++ b/test/libsolidity/semanticTests/fallback/fallback_override_multi.sol @@ -16,6 +16,7 @@ contract C is B, A { } } // ==== +// requiresYulOptimizer: minimalStack // EVMVersion: >=byzantium // compileViaYul: also // ---- diff --git a/test/libsolidity/semanticTests/fallback/fallback_return_data.sol b/test/libsolidity/semanticTests/fallback/fallback_return_data.sol index 5cef4466c..a67f4eef2 100644 --- a/test/libsolidity/semanticTests/fallback/fallback_return_data.sol +++ b/test/libsolidity/semanticTests/fallback/fallback_return_data.sol @@ -8,6 +8,7 @@ contract A { } } // ==== +// requiresYulOptimizer: minimalStack // EVMVersion: >=byzantium // compileViaYul: also // ---- diff --git a/test/libsolidity/semanticTests/freeFunctions/import.sol b/test/libsolidity/semanticTests/freeFunctions/import.sol index d7d46d7b6..0158dda23 100644 --- a/test/libsolidity/semanticTests/freeFunctions/import.sol +++ b/test/libsolidity/semanticTests/freeFunctions/import.sol @@ -15,6 +15,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // compileToEwasm: also // compileViaYul: also // ---- diff --git a/test/libsolidity/semanticTests/freeFunctions/recursion.sol b/test/libsolidity/semanticTests/freeFunctions/recursion.sol index ab68c2ffb..b2c46c9d7 100644 --- a/test/libsolidity/semanticTests/freeFunctions/recursion.sol +++ b/test/libsolidity/semanticTests/freeFunctions/recursion.sol @@ -13,6 +13,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // compileToEwasm: also // compileViaYul: also // ---- diff --git a/test/libsolidity/semanticTests/freeFunctions/storage_calldata_refs.sol b/test/libsolidity/semanticTests/freeFunctions/storage_calldata_refs.sol index 3b94b06fc..1de7ff8b8 100644 --- a/test/libsolidity/semanticTests/freeFunctions/storage_calldata_refs.sol +++ b/test/libsolidity/semanticTests/freeFunctions/storage_calldata_refs.sol @@ -12,6 +12,7 @@ function fun(uint[] calldata _x, uint[] storage _y) view returns (uint, uint[] return (_y[0], _x); } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // f(uint256,uint256[]): 7, 0x40, 3, 8, 9, 10 -> 7, 9 diff --git a/test/libsolidity/semanticTests/functionCall/array_multiple_local_vars.sol b/test/libsolidity/semanticTests/functionCall/array_multiple_local_vars.sol index bf3ac302d..b3cdc6876 100644 --- a/test/libsolidity/semanticTests/functionCall/array_multiple_local_vars.sol +++ b/test/libsolidity/semanticTests/functionCall/array_multiple_local_vars.sol @@ -23,6 +23,7 @@ contract test { } } // ==== +// requiresYulOptimizer: minimalStack // compileToEwasm: also // compileViaYul: also // ---- diff --git a/test/libsolidity/semanticTests/functionCall/call_internal_function_with_multislot_arguments_via_pointer.sol b/test/libsolidity/semanticTests/functionCall/call_internal_function_with_multislot_arguments_via_pointer.sol index 344d1dc63..1e754c83d 100644 --- a/test/libsolidity/semanticTests/functionCall/call_internal_function_with_multislot_arguments_via_pointer.sol +++ b/test/libsolidity/semanticTests/functionCall/call_internal_function_with_multislot_arguments_via_pointer.sol @@ -26,6 +26,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // test() -> 12 diff --git a/test/libsolidity/semanticTests/functionCall/call_options_overload.sol b/test/libsolidity/semanticTests/functionCall/call_options_overload.sol index 0881c5bac..bf5bed013 100644 --- a/test/libsolidity/semanticTests/functionCall/call_options_overload.sol +++ b/test/libsolidity/semanticTests/functionCall/call_options_overload.sol @@ -11,6 +11,7 @@ contract C { receive() external payable {} } // ==== +// requiresYulOptimizer: full // compileViaYul: also // ---- // (), 1 ether diff --git a/test/libsolidity/semanticTests/functionCall/calling_other_functions.sol b/test/libsolidity/semanticTests/functionCall/calling_other_functions.sol index 157d13aea..e47548d4a 100644 --- a/test/libsolidity/semanticTests/functionCall/calling_other_functions.sol +++ b/test/libsolidity/semanticTests/functionCall/calling_other_functions.sol @@ -13,6 +13,7 @@ contract collatz { } } // ==== +// requiresYulOptimizer: minimalStack // compileToEwasm: also // compileViaYul: also // ---- diff --git a/test/libsolidity/semanticTests/functionCall/calling_uninitialized_function_through_array.sol b/test/libsolidity/semanticTests/functionCall/calling_uninitialized_function_through_array.sol index fc915792c..c34b290f8 100644 --- a/test/libsolidity/semanticTests/functionCall/calling_uninitialized_function_through_array.sol +++ b/test/libsolidity/semanticTests/functionCall/calling_uninitialized_function_through_array.sol @@ -16,6 +16,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // compileToEwasm: also // compileViaYul: also // ---- diff --git a/test/libsolidity/semanticTests/functionCall/external_call_dynamic_returndata.sol b/test/libsolidity/semanticTests/functionCall/external_call_dynamic_returndata.sol index c87f73f06..0dde485eb 100644 --- a/test/libsolidity/semanticTests/functionCall/external_call_dynamic_returndata.sol +++ b/test/libsolidity/semanticTests/functionCall/external_call_dynamic_returndata.sol @@ -18,6 +18,7 @@ contract C { } // ==== +// requiresYulOptimizer: minimalStack // EVMVersion: >=byzantium // compileViaYul: also // ---- diff --git a/test/libsolidity/semanticTests/functionCall/external_call_value.sol b/test/libsolidity/semanticTests/functionCall/external_call_value.sol index 47e2bfb76..ae6145fff 100644 --- a/test/libsolidity/semanticTests/functionCall/external_call_value.sol +++ b/test/libsolidity/semanticTests/functionCall/external_call_value.sol @@ -11,6 +11,7 @@ contract C { } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // g(uint256), 1 ether: 4 -> 1000000000000000000000, 4 diff --git a/test/libsolidity/semanticTests/functionCall/failed_create.sol b/test/libsolidity/semanticTests/functionCall/failed_create.sol index b4e7efbb5..83f09478e 100644 --- a/test/libsolidity/semanticTests/functionCall/failed_create.sol +++ b/test/libsolidity/semanticTests/functionCall/failed_create.sol @@ -14,6 +14,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // EVMVersion: >=byzantium // compileViaYul: also // ---- diff --git a/test/libsolidity/semanticTests/functionCall/mapping_array_internal_argument.sol b/test/libsolidity/semanticTests/functionCall/mapping_array_internal_argument.sol index 5d4f25a39..2e739d5ee 100644 --- a/test/libsolidity/semanticTests/functionCall/mapping_array_internal_argument.sol +++ b/test/libsolidity/semanticTests/functionCall/mapping_array_internal_argument.sol @@ -17,6 +17,7 @@ contract test { } } // ==== +// requiresYulOptimizer: full // compileViaYul: also // ---- // set(uint8,uint8,uint8,uint8,uint8): 1, 21, 22, 42, 43 -> 0, 0, 0, 0 diff --git a/test/libsolidity/semanticTests/functionCall/mapping_internal_argument.sol b/test/libsolidity/semanticTests/functionCall/mapping_internal_argument.sol index 4154baa9b..83a949407 100644 --- a/test/libsolidity/semanticTests/functionCall/mapping_internal_argument.sol +++ b/test/libsolidity/semanticTests/functionCall/mapping_internal_argument.sol @@ -15,6 +15,7 @@ contract test { } } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // set(uint8,uint8,uint8): 1, 21, 42 -> 0, 0 diff --git a/test/libsolidity/semanticTests/functionCall/mapping_internal_return.sol b/test/libsolidity/semanticTests/functionCall/mapping_internal_return.sol index b152298b9..2fcd09e1e 100644 --- a/test/libsolidity/semanticTests/functionCall/mapping_internal_return.sol +++ b/test/libsolidity/semanticTests/functionCall/mapping_internal_return.sol @@ -18,6 +18,7 @@ contract test { } } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // g() -> 0, 42, 0, 0, 84, 21 diff --git a/test/libsolidity/semanticTests/functionCall/named_args_overload.sol b/test/libsolidity/semanticTests/functionCall/named_args_overload.sol index 1de25455e..1bba121ba 100644 --- a/test/libsolidity/semanticTests/functionCall/named_args_overload.sol +++ b/test/libsolidity/semanticTests/functionCall/named_args_overload.sol @@ -27,6 +27,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // compileToEwasm: also // compileViaYul: also // ---- diff --git a/test/libsolidity/semanticTests/functionSelector/function_selector_via_contract_name.sol b/test/libsolidity/semanticTests/functionSelector/function_selector_via_contract_name.sol index 7fae98694..6cf32254d 100644 --- a/test/libsolidity/semanticTests/functionSelector/function_selector_via_contract_name.sol +++ b/test/libsolidity/semanticTests/functionSelector/function_selector_via_contract_name.sol @@ -16,6 +16,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // compileToEwasm: also // compileViaYul: also // ---- diff --git a/test/libsolidity/semanticTests/functionTypes/address_member.sol b/test/libsolidity/semanticTests/functionTypes/address_member.sol index 029aac950..f84ee69e4 100644 --- a/test/libsolidity/semanticTests/functionTypes/address_member.sol +++ b/test/libsolidity/semanticTests/functionTypes/address_member.sol @@ -7,7 +7,8 @@ contract C { } } // ==== -// compileViaYul: also +// requiresYulOptimizer: minimalStack // compileToEwasm: also +// compileViaYul: also // ---- // f() -> 90572315268751552425567948436632610904688605307, 90572315268751552425567948436632610904688605307 diff --git a/test/libsolidity/semanticTests/functionTypes/function_type_library_internal.sol b/test/libsolidity/semanticTests/functionTypes/function_type_library_internal.sol index c4554740d..0498a98d6 100644 --- a/test/libsolidity/semanticTests/functionTypes/function_type_library_internal.sol +++ b/test/libsolidity/semanticTests/functionTypes/function_type_library_internal.sol @@ -23,6 +23,7 @@ contract C { } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // f(uint256[]): 0x20, 0x3, 0x1, 0x7, 0x3 -> 11 diff --git a/test/libsolidity/semanticTests/functionTypes/inline_array_with_value_call_option.sol b/test/libsolidity/semanticTests/functionTypes/inline_array_with_value_call_option.sol index 3b9a70aa1..64727b08f 100644 --- a/test/libsolidity/semanticTests/functionTypes/inline_array_with_value_call_option.sol +++ b/test/libsolidity/semanticTests/functionTypes/inline_array_with_value_call_option.sol @@ -7,6 +7,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // h(), 1 ether -> 1 diff --git a/test/libsolidity/semanticTests/functionTypes/selector_1.sol b/test/libsolidity/semanticTests/functionTypes/selector_1.sol index 3d49e5b42..3c1e6c5e2 100644 --- a/test/libsolidity/semanticTests/functionTypes/selector_1.sol +++ b/test/libsolidity/semanticTests/functionTypes/selector_1.sol @@ -9,7 +9,8 @@ contract C is B { } } // ==== -// compileViaYul: true +// requiresYulOptimizer: minimalStack // compileToEwasm: also +// compileViaYul: true // ---- // test() -> 0xcf9f23b500000000000000000000000000000000000000000000000000000000, 0x7defb41000000000000000000000000000000000000000000000000000000000, 0xcf9f23b500000000000000000000000000000000000000000000000000000000, 0x7defb41000000000000000000000000000000000000000000000000000000000 diff --git a/test/libsolidity/semanticTests/functionTypes/store_function.sol b/test/libsolidity/semanticTests/functionTypes/store_function.sol index ddebc11b7..2d6231b45 100644 --- a/test/libsolidity/semanticTests/functionTypes/store_function.sol +++ b/test/libsolidity/semanticTests/functionTypes/store_function.sol @@ -25,6 +25,7 @@ contract C { } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // t() -> 9 diff --git a/test/libsolidity/semanticTests/functionTypes/struct_with_external_function.sol b/test/libsolidity/semanticTests/functionTypes/struct_with_external_function.sol index 19086df7a..137542fbe 100644 --- a/test/libsolidity/semanticTests/functionTypes/struct_with_external_function.sol +++ b/test/libsolidity/semanticTests/functionTypes/struct_with_external_function.sol @@ -29,6 +29,7 @@ contract Flow { } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // f() -> 1, 2 diff --git a/test/libsolidity/semanticTests/functionTypes/struct_with_functions.sol b/test/libsolidity/semanticTests/functionTypes/struct_with_functions.sol index 98624a073..a1ade3d5d 100644 --- a/test/libsolidity/semanticTests/functionTypes/struct_with_functions.sol +++ b/test/libsolidity/semanticTests/functionTypes/struct_with_functions.sol @@ -29,6 +29,7 @@ contract Flow { } // ==== +// requiresYulOptimizer: minimalStack // compileToEwasm: also // compileViaYul: also // ---- diff --git a/test/libsolidity/semanticTests/immutable/inheritance.sol b/test/libsolidity/semanticTests/immutable/inheritance.sol index 0e131535e..0c44ea171 100644 --- a/test/libsolidity/semanticTests/immutable/inheritance.sol +++ b/test/libsolidity/semanticTests/immutable/inheritance.sol @@ -27,6 +27,7 @@ contract D is B, C { } } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // f() -> 4, 3, 2, 1 diff --git a/test/libsolidity/semanticTests/immutable/multi_creation.sol b/test/libsolidity/semanticTests/immutable/multi_creation.sol index a18306984..35af2fdd8 100644 --- a/test/libsolidity/semanticTests/immutable/multi_creation.sol +++ b/test/libsolidity/semanticTests/immutable/multi_creation.sol @@ -26,6 +26,7 @@ contract C { } } // ==== +// requiresYulOptimizer: full // compileViaYul: also // ---- // f() -> 3, 7, 5 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 85b1fca3b..44d140547 100644 --- a/test/libsolidity/semanticTests/inheritance/inherited_function_calldata_calldata_interface.sol +++ b/test/libsolidity/semanticTests/inheritance/inherited_function_calldata_calldata_interface.sol @@ -22,6 +22,7 @@ contract B { } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // g() -> 42 diff --git a/test/libsolidity/semanticTests/inheritance/inherited_function_calldata_memory.sol b/test/libsolidity/semanticTests/inheritance/inherited_function_calldata_memory.sol index a9956cc80..daf0edf9d 100644 --- a/test/libsolidity/semanticTests/inheritance/inherited_function_calldata_memory.sol +++ b/test/libsolidity/semanticTests/inheritance/inherited_function_calldata_memory.sol @@ -18,6 +18,7 @@ contract B is A { } } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // g() -> 23 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 c78627cbc..6588bf2a3 100644 --- a/test/libsolidity/semanticTests/inheritance/inherited_function_calldata_memory_interface.sol +++ b/test/libsolidity/semanticTests/inheritance/inherited_function_calldata_memory_interface.sol @@ -22,6 +22,7 @@ contract B { } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // g() -> 42 diff --git a/test/libsolidity/semanticTests/inlineAssembly/keccak256_optimizer_cache_bug.sol b/test/libsolidity/semanticTests/inlineAssembly/keccak256_optimizer_cache_bug.sol index 545ad3617..851e4771a 100644 --- a/test/libsolidity/semanticTests/inlineAssembly/keccak256_optimizer_cache_bug.sol +++ b/test/libsolidity/semanticTests/inlineAssembly/keccak256_optimizer_cache_bug.sol @@ -16,6 +16,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // val() -> true diff --git a/test/libsolidity/semanticTests/inlineAssembly/slot_access.sol b/test/libsolidity/semanticTests/inlineAssembly/slot_access.sol index a1f9874eb..310393827 100644 --- a/test/libsolidity/semanticTests/inlineAssembly/slot_access.sol +++ b/test/libsolidity/semanticTests/inlineAssembly/slot_access.sol @@ -26,6 +26,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // get() -> 0 diff --git a/test/libsolidity/semanticTests/integer/basic.sol b/test/libsolidity/semanticTests/integer/basic.sol index b7272365a..b68721d05 100644 --- a/test/libsolidity/semanticTests/integer/basic.sol +++ b/test/libsolidity/semanticTests/integer/basic.sol @@ -19,6 +19,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // compileToEwasm: also // compileViaYul: also // ---- diff --git a/test/libsolidity/semanticTests/integer/int.sol b/test/libsolidity/semanticTests/integer/int.sol index 13db801ec..0600fc467 100644 --- a/test/libsolidity/semanticTests/integer/int.sol +++ b/test/libsolidity/semanticTests/integer/int.sol @@ -233,6 +233,7 @@ contract test { } } // ==== +// requiresYulOptimizer: minimalStack // compileToEwasm: also // compileViaYul: also // ---- diff --git a/test/libsolidity/semanticTests/integer/many_local_variables.sol b/test/libsolidity/semanticTests/integer/many_local_variables.sol index 4f05c9d8f..af959f1e6 100644 --- a/test/libsolidity/semanticTests/integer/many_local_variables.sol +++ b/test/libsolidity/semanticTests/integer/many_local_variables.sol @@ -6,6 +6,7 @@ contract test { } } // ==== +// requiresYulOptimizer: minimalStack // compileToEwasm: also // compileViaYul: also // ---- diff --git a/test/libsolidity/semanticTests/integer/uint.sol b/test/libsolidity/semanticTests/integer/uint.sol index 1855ae4b7..9dc053e72 100644 --- a/test/libsolidity/semanticTests/integer/uint.sol +++ b/test/libsolidity/semanticTests/integer/uint.sol @@ -232,6 +232,7 @@ contract test { } } // ==== +// requiresYulOptimizer: minimalStack // compileToEwasm: also // compileViaYul: also // ---- diff --git a/test/libsolidity/semanticTests/interface_inheritance_conversions.sol b/test/libsolidity/semanticTests/interface_inheritance_conversions.sol index 70f52d4c6..5dc5ce398 100644 --- a/test/libsolidity/semanticTests/interface_inheritance_conversions.sol +++ b/test/libsolidity/semanticTests/interface_inheritance_conversions.sol @@ -34,6 +34,7 @@ contract C { } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // convertParent() -> 1 diff --git a/test/libsolidity/semanticTests/isoltestFormatting.sol b/test/libsolidity/semanticTests/isoltestFormatting.sol index 9206eb7c1..2c287ae2a 100644 --- a/test/libsolidity/semanticTests/isoltestFormatting.sol +++ b/test/libsolidity/semanticTests/isoltestFormatting.sol @@ -9,6 +9,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // compileToEwasm: also // compileViaYul: also // ---- diff --git a/test/libsolidity/semanticTests/libraries/bound_returning_calldata.sol b/test/libsolidity/semanticTests/libraries/bound_returning_calldata.sol index 6cd9045b4..f9f154d47 100644 --- a/test/libsolidity/semanticTests/libraries/bound_returning_calldata.sol +++ b/test/libsolidity/semanticTests/libraries/bound_returning_calldata.sol @@ -14,6 +14,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // f(bytes): 0x20, 4, "abcd" -> 0x6100000000000000000000000000000000000000000000000000000000000000, 0x6100000000000000000000000000000000000000000000000000000000000000 diff --git a/test/libsolidity/semanticTests/libraries/bound_returning_calldata_external.sol b/test/libsolidity/semanticTests/libraries/bound_returning_calldata_external.sol index e3c6d9b39..030e0d748 100644 --- a/test/libsolidity/semanticTests/libraries/bound_returning_calldata_external.sol +++ b/test/libsolidity/semanticTests/libraries/bound_returning_calldata_external.sol @@ -14,6 +14,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // EVMVersion: >homestead // compileViaYul: also // ---- diff --git a/test/libsolidity/semanticTests/libraries/bound_to_calldata.sol b/test/libsolidity/semanticTests/libraries/bound_to_calldata.sol index b80d2fdc7..660021143 100644 --- a/test/libsolidity/semanticTests/libraries/bound_to_calldata.sol +++ b/test/libsolidity/semanticTests/libraries/bound_to_calldata.sol @@ -14,6 +14,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // f(bytes): 0x20, 4, "abcd" -> 0x6100000000000000000000000000000000000000000000000000000000000000, 0x6100000000000000000000000000000000000000000000000000000000000000 diff --git a/test/libsolidity/semanticTests/libraries/bound_to_calldata_external.sol b/test/libsolidity/semanticTests/libraries/bound_to_calldata_external.sol index 33a53f48f..3ed3c518f 100644 --- a/test/libsolidity/semanticTests/libraries/bound_to_calldata_external.sol +++ b/test/libsolidity/semanticTests/libraries/bound_to_calldata_external.sol @@ -14,6 +14,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // EVMVersion: >homestead // compileViaYul: also // ---- diff --git a/test/libsolidity/semanticTests/libraries/external_call_with_storage_array_parameter.sol b/test/libsolidity/semanticTests/libraries/external_call_with_storage_array_parameter.sol index 81268af7a..fb8c477bb 100644 --- a/test/libsolidity/semanticTests/libraries/external_call_with_storage_array_parameter.sol +++ b/test/libsolidity/semanticTests/libraries/external_call_with_storage_array_parameter.sol @@ -13,6 +13,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // library: L diff --git a/test/libsolidity/semanticTests/libraries/external_call_with_storage_mapping_parameter.sol b/test/libsolidity/semanticTests/libraries/external_call_with_storage_mapping_parameter.sol index 821aebea7..6ece533ef 100644 --- a/test/libsolidity/semanticTests/libraries/external_call_with_storage_mapping_parameter.sol +++ b/test/libsolidity/semanticTests/libraries/external_call_with_storage_mapping_parameter.sol @@ -13,6 +13,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // library: L diff --git a/test/libsolidity/semanticTests/libraries/internal_call_bound_with_parentheses.sol b/test/libsolidity/semanticTests/libraries/internal_call_bound_with_parentheses.sol index 6d073c627..134e60e18 100644 --- a/test/libsolidity/semanticTests/libraries/internal_call_bound_with_parentheses.sol +++ b/test/libsolidity/semanticTests/libraries/internal_call_bound_with_parentheses.sol @@ -22,6 +22,7 @@ contract C { } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // f() -> 0x0a diff --git a/test/libsolidity/semanticTests/libraries/internal_library_function.sol b/test/libsolidity/semanticTests/libraries/internal_library_function.sol index 8e8d561e9..847aa42d7 100644 --- a/test/libsolidity/semanticTests/libraries/internal_library_function.sol +++ b/test/libsolidity/semanticTests/libraries/internal_library_function.sol @@ -18,6 +18,7 @@ contract C { } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // f() -> 2 diff --git a/test/libsolidity/semanticTests/libraries/internal_library_function_bound.sol b/test/libsolidity/semanticTests/libraries/internal_library_function_bound.sol index a6ea94fed..4df37fc93 100644 --- a/test/libsolidity/semanticTests/libraries/internal_library_function_bound.sol +++ b/test/libsolidity/semanticTests/libraries/internal_library_function_bound.sol @@ -23,6 +23,7 @@ contract C { } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // f() -> 2 diff --git a/test/libsolidity/semanticTests/libraries/internal_library_function_bound_to_dynamic_array.sol b/test/libsolidity/semanticTests/libraries/internal_library_function_bound_to_dynamic_array.sol index 0ea7e4144..0750f3ab6 100644 --- a/test/libsolidity/semanticTests/libraries/internal_library_function_bound_to_dynamic_array.sol +++ b/test/libsolidity/semanticTests/libraries/internal_library_function_bound_to_dynamic_array.sol @@ -16,6 +16,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // secondItem() -> 0x22 diff --git a/test/libsolidity/semanticTests/libraries/internal_library_function_bound_to_fixed_array.sol b/test/libsolidity/semanticTests/libraries/internal_library_function_bound_to_fixed_array.sol index 842911079..6fd1440c1 100644 --- a/test/libsolidity/semanticTests/libraries/internal_library_function_bound_to_fixed_array.sol +++ b/test/libsolidity/semanticTests/libraries/internal_library_function_bound_to_fixed_array.sol @@ -16,6 +16,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // secondItem() -> 0x22 diff --git a/test/libsolidity/semanticTests/libraries/internal_library_function_bound_to_mapping.sol b/test/libsolidity/semanticTests/libraries/internal_library_function_bound_to_mapping.sol index ec1250a62..7c034e536 100644 --- a/test/libsolidity/semanticTests/libraries/internal_library_function_bound_to_mapping.sol +++ b/test/libsolidity/semanticTests/libraries/internal_library_function_bound_to_mapping.sol @@ -17,6 +17,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // mapValue(uint256): 42 -> 0x24 diff --git a/test/libsolidity/semanticTests/libraries/internal_library_function_bound_to_storage_string.sol b/test/libsolidity/semanticTests/libraries/internal_library_function_bound_to_storage_string.sol index 6c15fa735..fdd3be365 100644 --- a/test/libsolidity/semanticTests/libraries/internal_library_function_bound_to_storage_string.sol +++ b/test/libsolidity/semanticTests/libraries/internal_library_function_bound_to_storage_string.sol @@ -17,6 +17,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // test(string): 0x20, 3, "def" -> 0x40, 0x80, 3, "def", 3, "def" diff --git a/test/libsolidity/semanticTests/libraries/internal_library_function_calling_private.sol b/test/libsolidity/semanticTests/libraries/internal_library_function_calling_private.sol index e9806aa4f..39c3e1107 100644 --- a/test/libsolidity/semanticTests/libraries/internal_library_function_calling_private.sol +++ b/test/libsolidity/semanticTests/libraries/internal_library_function_calling_private.sol @@ -23,6 +23,7 @@ contract C { } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // f() -> 2 diff --git a/test/libsolidity/semanticTests/libraries/internal_library_function_return_var_size.sol b/test/libsolidity/semanticTests/libraries/internal_library_function_return_var_size.sol index 1406e0117..d9655d23a 100644 --- a/test/libsolidity/semanticTests/libraries/internal_library_function_return_var_size.sol +++ b/test/libsolidity/semanticTests/libraries/internal_library_function_return_var_size.sol @@ -23,6 +23,7 @@ contract C { } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // f() -> 2 diff --git a/test/libsolidity/semanticTests/libraries/library_address.sol b/test/libsolidity/semanticTests/libraries/library_address.sol index e8e60bc04..db658dd9f 100644 --- a/test/libsolidity/semanticTests/libraries/library_address.sol +++ b/test/libsolidity/semanticTests/libraries/library_address.sol @@ -35,6 +35,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // EVMVersion: >=byzantium // compileViaYul: also // ---- diff --git a/test/libsolidity/semanticTests/libraries/library_address_homestead.sol b/test/libsolidity/semanticTests/libraries/library_address_homestead.sol index 256b43d3a..0bf4f71a2 100644 --- a/test/libsolidity/semanticTests/libraries/library_address_homestead.sol +++ b/test/libsolidity/semanticTests/libraries/library_address_homestead.sol @@ -13,6 +13,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // library: L diff --git a/test/libsolidity/semanticTests/libraries/library_address_via_module.sol b/test/libsolidity/semanticTests/libraries/library_address_via_module.sol index ca7c9c271..24f8f22a5 100644 --- a/test/libsolidity/semanticTests/libraries/library_address_via_module.sol +++ b/test/libsolidity/semanticTests/libraries/library_address_via_module.sol @@ -39,6 +39,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // EVMVersion: >=byzantium // compileViaYul: also // ---- diff --git a/test/libsolidity/semanticTests/libraries/library_delegatecall_guard_pure.sol b/test/libsolidity/semanticTests/libraries/library_delegatecall_guard_pure.sol index 61e182843..c8e85e069 100644 --- a/test/libsolidity/semanticTests/libraries/library_delegatecall_guard_pure.sol +++ b/test/libsolidity/semanticTests/libraries/library_delegatecall_guard_pure.sol @@ -24,6 +24,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // EVMVersion: >homestead // compileViaYul: also // ---- diff --git a/test/libsolidity/semanticTests/libraries/library_delegatecall_guard_view_needed.sol b/test/libsolidity/semanticTests/libraries/library_delegatecall_guard_view_needed.sol index 169738029..4705135d5 100644 --- a/test/libsolidity/semanticTests/libraries/library_delegatecall_guard_view_needed.sol +++ b/test/libsolidity/semanticTests/libraries/library_delegatecall_guard_view_needed.sol @@ -24,6 +24,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // EVMVersion: >homestead // compileViaYul: also // ---- diff --git a/test/libsolidity/semanticTests/libraries/library_delegatecall_guard_view_not_needed.sol b/test/libsolidity/semanticTests/libraries/library_delegatecall_guard_view_not_needed.sol index 9d31db25b..2bef9223e 100644 --- a/test/libsolidity/semanticTests/libraries/library_delegatecall_guard_view_not_needed.sol +++ b/test/libsolidity/semanticTests/libraries/library_delegatecall_guard_view_not_needed.sol @@ -23,6 +23,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // EVMVersion: >homestead // compileViaYul: also // ---- diff --git a/test/libsolidity/semanticTests/libraries/library_delegatecall_guard_view_staticcall.sol b/test/libsolidity/semanticTests/libraries/library_delegatecall_guard_view_staticcall.sol index 2af36bb21..fedb0da08 100644 --- a/test/libsolidity/semanticTests/libraries/library_delegatecall_guard_view_staticcall.sol +++ b/test/libsolidity/semanticTests/libraries/library_delegatecall_guard_view_staticcall.sol @@ -23,6 +23,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // EVMVersion: >homestead // compileViaYul: also // ---- diff --git a/test/libsolidity/semanticTests/libraries/library_function_selectors.sol b/test/libsolidity/semanticTests/libraries/library_function_selectors.sol index e4347d15a..090cdc79b 100644 --- a/test/libsolidity/semanticTests/libraries/library_function_selectors.sol +++ b/test/libsolidity/semanticTests/libraries/library_function_selectors.sol @@ -22,6 +22,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // EVMVersion: >homestead // compileViaYul: also // ---- diff --git a/test/libsolidity/semanticTests/libraries/library_function_selectors_struct.sol b/test/libsolidity/semanticTests/libraries/library_function_selectors_struct.sol index e57f5ce1a..f91306144 100644 --- a/test/libsolidity/semanticTests/libraries/library_function_selectors_struct.sol +++ b/test/libsolidity/semanticTests/libraries/library_function_selectors_struct.sol @@ -20,6 +20,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // EVMVersion: >homestead // compileViaYul: also // ---- diff --git a/test/libsolidity/semanticTests/libraries/using_for_storage_structs.sol b/test/libsolidity/semanticTests/libraries/using_for_storage_structs.sol index 2749fb444..463ddab81 100644 --- a/test/libsolidity/semanticTests/libraries/using_for_storage_structs.sol +++ b/test/libsolidity/semanticTests/libraries/using_for_storage_structs.sol @@ -22,6 +22,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // g() -> 7, 7 diff --git a/test/libsolidity/semanticTests/literals/escape.sol b/test/libsolidity/semanticTests/literals/escape.sol index 54108ec53..6c4a69165 100644 --- a/test/libsolidity/semanticTests/literals/escape.sol +++ b/test/libsolidity/semanticTests/literals/escape.sol @@ -8,6 +8,7 @@ contract C } } // ==== +// requiresYulOptimizer: minimalStack // compileToEwasm: also // compileViaYul: also // ---- diff --git a/test/libsolidity/semanticTests/memoryManagement/return_variable.sol b/test/libsolidity/semanticTests/memoryManagement/return_variable.sol index 501fea0f1..61d13c929 100644 --- a/test/libsolidity/semanticTests/memoryManagement/return_variable.sol +++ b/test/libsolidity/semanticTests/memoryManagement/return_variable.sol @@ -25,6 +25,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // f() -> 0x0500, 0x0500, 0x0a00 diff --git a/test/libsolidity/semanticTests/memoryManagement/static_memory_array_allocation.sol b/test/libsolidity/semanticTests/memoryManagement/static_memory_array_allocation.sol index 868d532b8..8d2c8eadc 100644 --- a/test/libsolidity/semanticTests/memoryManagement/static_memory_array_allocation.sol +++ b/test/libsolidity/semanticTests/memoryManagement/static_memory_array_allocation.sol @@ -18,6 +18,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // withValue() -> 0x00 diff --git a/test/libsolidity/semanticTests/memoryManagement/struct_allocation.sol b/test/libsolidity/semanticTests/memoryManagement/struct_allocation.sol index 78308eed3..83089c857 100644 --- a/test/libsolidity/semanticTests/memoryManagement/struct_allocation.sol +++ b/test/libsolidity/semanticTests/memoryManagement/struct_allocation.sol @@ -18,6 +18,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // compileToEwasm: also // compileViaYul: also // ---- diff --git a/test/libsolidity/semanticTests/modifiers/function_return_parameter_complex.sol b/test/libsolidity/semanticTests/modifiers/function_return_parameter_complex.sol index 06de394be..8b127f0ef 100644 --- a/test/libsolidity/semanticTests/modifiers/function_return_parameter_complex.sol +++ b/test/libsolidity/semanticTests/modifiers/function_return_parameter_complex.sol @@ -27,8 +27,9 @@ contract A { } } // ==== -// compileViaYul: also +// requiresYulOptimizer: minimalStack // compileToEwasm: also +// compileViaYul: also // ---- // f() -> 0x10, 0x20, 0x40 // x() -> 1 diff --git a/test/libsolidity/semanticTests/operators/compound_assign.sol b/test/libsolidity/semanticTests/operators/compound_assign.sol index 12c4da348..1848a2734 100644 --- a/test/libsolidity/semanticTests/operators/compound_assign.sol +++ b/test/libsolidity/semanticTests/operators/compound_assign.sol @@ -10,6 +10,7 @@ contract test { } } // ==== +// requiresYulOptimizer: minimalStack // compileToEwasm: also // compileViaYul: also // ---- diff --git a/test/libsolidity/semanticTests/operators/shifts/shift_cleanup.sol b/test/libsolidity/semanticTests/operators/shifts/shift_cleanup.sol index 85a273940..d9c5af41a 100644 --- a/test/libsolidity/semanticTests/operators/shifts/shift_cleanup.sol +++ b/test/libsolidity/semanticTests/operators/shifts/shift_cleanup.sol @@ -10,6 +10,7 @@ contract C { } // ==== +// requiresYulOptimizer: minimalStack // compileToEwasm: also // compileViaYul: also // ---- diff --git a/test/libsolidity/semanticTests/optimizer/shift_bytes.sol b/test/libsolidity/semanticTests/optimizer/shift_bytes.sol index 1960ee6a8..6406ec641 100644 --- a/test/libsolidity/semanticTests/optimizer/shift_bytes.sol +++ b/test/libsolidity/semanticTests/optimizer/shift_bytes.sol @@ -38,8 +38,9 @@ contract C { } } // ==== -// compileViaYul: also +// requiresYulOptimizer: minimalStack // compileToEwasm: also +// compileViaYul: also // ---- // f(uint256): 0x0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f -> 0x1f, 0x1f, 3 // g(uint256): 0x0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f -> 1, 3, 5 diff --git a/test/libsolidity/semanticTests/revertStrings/library_non_view_call.sol b/test/libsolidity/semanticTests/revertStrings/library_non_view_call.sol index 9df7705ca..93cca574a 100644 --- a/test/libsolidity/semanticTests/revertStrings/library_non_view_call.sol +++ b/test/libsolidity/semanticTests/revertStrings/library_non_view_call.sol @@ -9,6 +9,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // EVMVersion: >=byzantium // compileViaYul: also // revertStrings: debug diff --git a/test/libsolidity/semanticTests/salted_create/salted_create.sol b/test/libsolidity/semanticTests/salted_create/salted_create.sol index 064159de3..2f3a600b6 100644 --- a/test/libsolidity/semanticTests/salted_create/salted_create.sol +++ b/test/libsolidity/semanticTests/salted_create/salted_create.sol @@ -17,6 +17,7 @@ contract A { } } // ==== +// requiresYulOptimizer: minimalStack // EVMVersion: >=constantinople // compileViaYul: also // ---- 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 2e386ee45..0f1178e44 100644 --- a/test/libsolidity/semanticTests/salted_create/salted_create_with_value.sol +++ b/test/libsolidity/semanticTests/salted_create/salted_create_with_value.sol @@ -18,6 +18,7 @@ contract A { } } // ==== +// requiresYulOptimizer: full // EVMVersion: >=constantinople // compileViaYul: also // ---- diff --git a/test/libsolidity/semanticTests/smoke/alignment.sol b/test/libsolidity/semanticTests/smoke/alignment.sol index 143473461..63bba677c 100644 --- a/test/libsolidity/semanticTests/smoke/alignment.sol +++ b/test/libsolidity/semanticTests/smoke/alignment.sol @@ -19,6 +19,7 @@ contract D { } } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // stateBool() -> true diff --git a/test/libsolidity/semanticTests/smoke/multiline.sol b/test/libsolidity/semanticTests/smoke/multiline.sol index 587532cfe..603a160f8 100644 --- a/test/libsolidity/semanticTests/smoke/multiline.sol +++ b/test/libsolidity/semanticTests/smoke/multiline.sol @@ -4,6 +4,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // allowNonExistingFunctions: true // compileToEwasm: also // compileViaYul: also diff --git a/test/libsolidity/semanticTests/smoke/multiline_comments.sol b/test/libsolidity/semanticTests/smoke/multiline_comments.sol index 4fde637fa..78eab2cbc 100644 --- a/test/libsolidity/semanticTests/smoke/multiline_comments.sol +++ b/test/libsolidity/semanticTests/smoke/multiline_comments.sol @@ -4,6 +4,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // compileToEwasm: also // compileViaYul: also // ---- diff --git a/test/libsolidity/semanticTests/specialFunctions/abi_encode_with_signature_from_string.sol b/test/libsolidity/semanticTests/specialFunctions/abi_encode_with_signature_from_string.sol index 7598d382a..a19f47086 100644 --- a/test/libsolidity/semanticTests/specialFunctions/abi_encode_with_signature_from_string.sol +++ b/test/libsolidity/semanticTests/specialFunctions/abi_encode_with_signature_from_string.sol @@ -9,6 +9,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // compileToEwasm: false // compileViaYul: also // ---- diff --git a/test/libsolidity/semanticTests/specialFunctions/keccak256_optimized.sol b/test/libsolidity/semanticTests/specialFunctions/keccak256_optimized.sol index cb3c8d608..5f29e9892 100644 --- a/test/libsolidity/semanticTests/specialFunctions/keccak256_optimized.sol +++ b/test/libsolidity/semanticTests/specialFunctions/keccak256_optimized.sol @@ -13,6 +13,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // short() -> true diff --git a/test/libsolidity/semanticTests/storage/array_accessor.sol b/test/libsolidity/semanticTests/storage/array_accessor.sol index f9efae437..494338c9f 100644 --- a/test/libsolidity/semanticTests/storage/array_accessor.sol +++ b/test/libsolidity/semanticTests/storage/array_accessor.sol @@ -23,6 +23,7 @@ contract test { } } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // data(uint256): 0 -> 8 diff --git a/test/libsolidity/semanticTests/storage/chop_sign_bits.sol b/test/libsolidity/semanticTests/storage/chop_sign_bits.sol index 4993ecb35..2726fdb7a 100644 --- a/test/libsolidity/semanticTests/storage/chop_sign_bits.sol +++ b/test/libsolidity/semanticTests/storage/chop_sign_bits.sol @@ -20,6 +20,7 @@ contract Test { } } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // x(uint256): 0 -> -1 diff --git a/test/libsolidity/semanticTests/storage/mapping_state.sol b/test/libsolidity/semanticTests/storage/mapping_state.sol index 28178bca2..67f746006 100644 --- a/test/libsolidity/semanticTests/storage/mapping_state.sol +++ b/test/libsolidity/semanticTests/storage/mapping_state.sol @@ -16,6 +16,7 @@ contract Ballot { } } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // getVoteCount(address): 0 -> 0 diff --git a/test/libsolidity/semanticTests/storage/mappings_array2d_pop_delete.sol b/test/libsolidity/semanticTests/storage/mappings_array2d_pop_delete.sol index f2def79bc..f2aba6a4b 100644 --- a/test/libsolidity/semanticTests/storage/mappings_array2d_pop_delete.sol +++ b/test/libsolidity/semanticTests/storage/mappings_array2d_pop_delete.sol @@ -29,6 +29,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // n1(uint256,uint256): 42, 64 -> diff --git a/test/libsolidity/semanticTests/storage/mappings_array_pop_delete.sol b/test/libsolidity/semanticTests/storage/mappings_array_pop_delete.sol index 5078103b8..b70f6019d 100644 --- a/test/libsolidity/semanticTests/storage/mappings_array_pop_delete.sol +++ b/test/libsolidity/semanticTests/storage/mappings_array_pop_delete.sol @@ -24,6 +24,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // n1(uint256,uint256): 42, 64 -> diff --git a/test/libsolidity/semanticTests/storage/packed_storage_overflow.sol b/test/libsolidity/semanticTests/storage/packed_storage_overflow.sol index 84dfae3c5..0a14811ff 100644 --- a/test/libsolidity/semanticTests/storage/packed_storage_overflow.sol +++ b/test/libsolidity/semanticTests/storage/packed_storage_overflow.sol @@ -12,7 +12,8 @@ contract C { } } // ==== -// compileViaYul: also +// requiresYulOptimizer: minimalStack // compileToEwasm: also +// compileViaYul: also // ---- // f() -> 0x1234, 0x0, 0x0, 0xfffe diff --git a/test/libsolidity/semanticTests/storage/packed_storage_signed.sol b/test/libsolidity/semanticTests/storage/packed_storage_signed.sol index b1080a7b0..42f09fbcd 100644 --- a/test/libsolidity/semanticTests/storage/packed_storage_signed.sol +++ b/test/libsolidity/semanticTests/storage/packed_storage_signed.sol @@ -21,6 +21,7 @@ contract C { } // ==== +// requiresYulOptimizer: minimalStack // compileToEwasm: also // compileViaYul: also // ---- diff --git a/test/libsolidity/semanticTests/storage/packed_storage_structs_bytes.sol b/test/libsolidity/semanticTests/storage/packed_storage_structs_bytes.sol index 2fdff6c56..b61c9864d 100644 --- a/test/libsolidity/semanticTests/storage/packed_storage_structs_bytes.sol +++ b/test/libsolidity/semanticTests/storage/packed_storage_structs_bytes.sol @@ -42,6 +42,7 @@ contract C { } // ==== +// requiresYulOptimizer: minimalStack // compileToEwasm: also // compileViaYul: also // ---- diff --git a/test/libsolidity/semanticTests/storage/packed_storage_structs_enum.sol b/test/libsolidity/semanticTests/storage/packed_storage_structs_enum.sol index a24973fd1..063762676 100644 --- a/test/libsolidity/semanticTests/storage/packed_storage_structs_enum.sol +++ b/test/libsolidity/semanticTests/storage/packed_storage_structs_enum.sol @@ -30,6 +30,7 @@ contract C { } // ==== +// requiresYulOptimizer: minimalStack // compileToEwasm: also // compileViaYul: also // ---- diff --git a/test/libsolidity/semanticTests/storage/packed_storage_structs_uint.sol b/test/libsolidity/semanticTests/storage/packed_storage_structs_uint.sol index 509cad55e..49007370c 100644 --- a/test/libsolidity/semanticTests/storage/packed_storage_structs_uint.sol +++ b/test/libsolidity/semanticTests/storage/packed_storage_structs_uint.sol @@ -27,6 +27,7 @@ contract C { } // ==== +// requiresYulOptimizer: minimalStack // compileToEwasm: also // compileViaYul: also // ---- diff --git a/test/libsolidity/semanticTests/strings/empty_string_input.sol b/test/libsolidity/semanticTests/strings/empty_string_input.sol index c1f0bca22..b01ab4852 100644 --- a/test/libsolidity/semanticTests/strings/empty_string_input.sol +++ b/test/libsolidity/semanticTests/strings/empty_string_input.sol @@ -17,6 +17,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // f() -> 0x20, 0 diff --git a/test/libsolidity/semanticTests/structs/calldata/calldata_nested_structs.sol b/test/libsolidity/semanticTests/structs/calldata/calldata_nested_structs.sol index ac3d5a4e7..559ee3163 100644 --- a/test/libsolidity/semanticTests/structs/calldata/calldata_nested_structs.sol +++ b/test/libsolidity/semanticTests/structs/calldata/calldata_nested_structs.sol @@ -42,6 +42,7 @@ contract C { } } // ==== +// requiresYulOptimizer: full // compileViaYul: also // ---- // f((uint128,(uint128,uint256[][2],uint32)),uint32): 0x40, 44, 11, 0x40, 22, 0x60, 33, 0x40, 0x40, 2, 1, 2 -> 44, 22, 1, 2, 33 diff --git a/test/libsolidity/semanticTests/structs/calldata/calldata_struct_and_ints.sol b/test/libsolidity/semanticTests/structs/calldata/calldata_struct_and_ints.sol index 7d4d124bb..6b408104a 100644 --- a/test/libsolidity/semanticTests/structs/calldata/calldata_struct_and_ints.sol +++ b/test/libsolidity/semanticTests/structs/calldata/calldata_struct_and_ints.sol @@ -17,6 +17,7 @@ contract C { } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // f(uint256,(uint256,uint256),uint256): 1, 2, 3, 4 -> 1, 2, 3, 4 diff --git a/test/libsolidity/semanticTests/structs/calldata/calldata_struct_array_member.sol b/test/libsolidity/semanticTests/structs/calldata/calldata_struct_array_member.sol index 0439aeff5..ae9f8d972 100644 --- a/test/libsolidity/semanticTests/structs/calldata/calldata_struct_array_member.sol +++ b/test/libsolidity/semanticTests/structs/calldata/calldata_struct_array_member.sol @@ -20,6 +20,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // f((uint256,uint256[2],uint256)): 42, 1, 2, 23 -> 42, 1, 2, 23 diff --git a/test/libsolidity/semanticTests/structs/calldata/calldata_struct_array_member_dynamic.sol b/test/libsolidity/semanticTests/structs/calldata/calldata_struct_array_member_dynamic.sol index 22e4547cd..63d21a7bd 100644 --- a/test/libsolidity/semanticTests/structs/calldata/calldata_struct_array_member_dynamic.sol +++ b/test/libsolidity/semanticTests/structs/calldata/calldata_struct_array_member_dynamic.sol @@ -19,6 +19,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // compileToEwasm: also // compileViaYul: also // ---- diff --git a/test/libsolidity/semanticTests/structs/calldata/calldata_struct_as_argument_of_lib_function.sol b/test/libsolidity/semanticTests/structs/calldata/calldata_struct_as_argument_of_lib_function.sol index 4849b4748..c5c44dadd 100644 --- a/test/libsolidity/semanticTests/structs/calldata/calldata_struct_as_argument_of_lib_function.sol +++ b/test/libsolidity/semanticTests/structs/calldata/calldata_struct_as_argument_of_lib_function.sol @@ -23,6 +23,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // library: L diff --git a/test/libsolidity/semanticTests/structs/calldata/calldata_struct_as_memory_argument.sol b/test/libsolidity/semanticTests/structs/calldata/calldata_struct_as_memory_argument.sol index 8f092ace0..641207a5c 100644 --- a/test/libsolidity/semanticTests/structs/calldata/calldata_struct_as_memory_argument.sol +++ b/test/libsolidity/semanticTests/structs/calldata/calldata_struct_as_memory_argument.sol @@ -18,6 +18,7 @@ contract C { } } // ==== +// requiresYulOptimizer: full // compileViaYul: also // ---- // f(uint32,(uint128,uint256[][2],uint32)): 55, 0x40, 77, 0x60, 88, 0x40, 0x40, 2, 1, 2 -> 55, 78, 1, 2, 88 diff --git a/test/libsolidity/semanticTests/structs/calldata/calldata_struct_struct_member.sol b/test/libsolidity/semanticTests/structs/calldata/calldata_struct_struct_member.sol index 6762368f1..4236444e4 100644 --- a/test/libsolidity/semanticTests/structs/calldata/calldata_struct_struct_member.sol +++ b/test/libsolidity/semanticTests/structs/calldata/calldata_struct_struct_member.sol @@ -23,6 +23,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // f((uint256,(uint64,uint64),uint256)): 42, 1, 2, 23 -> 42, 1, 2, 23 diff --git a/test/libsolidity/semanticTests/structs/calldata/calldata_struct_struct_member_dynamic.sol b/test/libsolidity/semanticTests/structs/calldata/calldata_struct_struct_member_dynamic.sol index 28a8e57dd..6d3129646 100644 --- a/test/libsolidity/semanticTests/structs/calldata/calldata_struct_struct_member_dynamic.sol +++ b/test/libsolidity/semanticTests/structs/calldata/calldata_struct_struct_member_dynamic.sol @@ -23,6 +23,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // f((uint256,(uint64,bytes),uint256)): 0x20, 42, 0x60, 23, 1, 0x40, 2, "ab" -> 42, 1, "a", 23 diff --git a/test/libsolidity/semanticTests/structs/calldata/calldata_struct_to_memory.sol b/test/libsolidity/semanticTests/structs/calldata/calldata_struct_to_memory.sol index e4f911161..7876e54f3 100644 --- a/test/libsolidity/semanticTests/structs/calldata/calldata_struct_to_memory.sol +++ b/test/libsolidity/semanticTests/structs/calldata/calldata_struct_to_memory.sol @@ -14,6 +14,7 @@ contract C { } // ==== +// requiresYulOptimizer: minimalStack // compileToEwasm: also // compileViaYul: also // ---- diff --git a/test/libsolidity/semanticTests/structs/calldata/calldata_struct_to_memory_tuple_assignment.sol b/test/libsolidity/semanticTests/structs/calldata/calldata_struct_to_memory_tuple_assignment.sol index 868fea982..0dfac9f7c 100644 --- a/test/libsolidity/semanticTests/structs/calldata/calldata_struct_to_memory_tuple_assignment.sol +++ b/test/libsolidity/semanticTests/structs/calldata/calldata_struct_to_memory_tuple_assignment.sol @@ -17,6 +17,7 @@ contract C { } } // ==== +// requiresYulOptimizer: full // compileViaYul: also // ---- // f(uint32,(uint128,uint256[][2],uint32)): 55, 0x40, 77, 0x60, 88, 0x40, 0x40, 2, 1, 2 -> 55, 78, 1, 2, 88 diff --git a/test/libsolidity/semanticTests/structs/calldata/calldata_struct_to_storage.sol b/test/libsolidity/semanticTests/structs/calldata/calldata_struct_to_storage.sol index 2dc65bb11..4b829839a 100644 --- a/test/libsolidity/semanticTests/structs/calldata/calldata_struct_to_storage.sol +++ b/test/libsolidity/semanticTests/structs/calldata/calldata_struct_to_storage.sol @@ -17,6 +17,7 @@ contract C { } // ==== +// requiresYulOptimizer: minimalStack // compileToEwasm: also // compileViaYul: also // ---- diff --git a/test/libsolidity/semanticTests/structs/calldata/calldata_struct_with_array_to_memory.sol b/test/libsolidity/semanticTests/structs/calldata/calldata_struct_with_array_to_memory.sol index 25530a181..db0630223 100644 --- a/test/libsolidity/semanticTests/structs/calldata/calldata_struct_with_array_to_memory.sol +++ b/test/libsolidity/semanticTests/structs/calldata/calldata_struct_with_array_to_memory.sol @@ -18,6 +18,7 @@ contract C { } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // f((uint256,uint256[2],uint256)): 42, 1, 2, 23 -> 42, 1, 2, 23 diff --git a/test/libsolidity/semanticTests/structs/calldata/calldata_struct_with_bytes_to_memory.sol b/test/libsolidity/semanticTests/structs/calldata/calldata_struct_with_bytes_to_memory.sol index f62742fa7..8539f24d9 100644 --- a/test/libsolidity/semanticTests/structs/calldata/calldata_struct_with_bytes_to_memory.sol +++ b/test/libsolidity/semanticTests/structs/calldata/calldata_struct_with_bytes_to_memory.sol @@ -18,6 +18,7 @@ contract C { } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // f((uint256,bytes,uint256)): 0x20, 42, 0x60, 23, 2, "ab" -> 42, "a", "b", 23 diff --git a/test/libsolidity/semanticTests/structs/calldata/calldata_struct_with_nested_array_to_memory.sol b/test/libsolidity/semanticTests/structs/calldata/calldata_struct_with_nested_array_to_memory.sol index 4f9c3162a..1c0a7969f 100644 --- a/test/libsolidity/semanticTests/structs/calldata/calldata_struct_with_nested_array_to_memory.sol +++ b/test/libsolidity/semanticTests/structs/calldata/calldata_struct_with_nested_array_to_memory.sol @@ -18,6 +18,7 @@ contract C { } } // ==== +// requiresYulOptimizer: full // compileViaYul: also // ---- // f(uint32,(uint128,uint256[][2],uint32)): 55, 0x40, 77, 0x60, 88, 0x40, 0x40, 2, 1, 2 -> 55, 78, 1, 2, 88 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 3587d8e17..d2dbd99b2 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 @@ -15,6 +15,7 @@ contract C { } } // ==== +// requiresYulOptimizer: full // compileViaYul: also // ---- // f(uint32,(uint128,uint256[][2],uint32)): 55, 0x40, 77, 0x60, 88, 0x40, 0x40, 2, 1, 2 -> 55, 77, 1, 2, 88 diff --git a/test/libsolidity/semanticTests/structs/calldata/calldata_structs.sol b/test/libsolidity/semanticTests/structs/calldata/calldata_structs.sol index 6cac49d8c..5e0bd72c0 100644 --- a/test/libsolidity/semanticTests/structs/calldata/calldata_structs.sol +++ b/test/libsolidity/semanticTests/structs/calldata/calldata_structs.sol @@ -24,6 +24,7 @@ contract C { } // ==== +// requiresYulOptimizer: minimalStack // compileToEwasm: also // compileViaYul: also // ---- diff --git a/test/libsolidity/semanticTests/structs/calldata/dynamic_nested.sol b/test/libsolidity/semanticTests/structs/calldata/dynamic_nested.sol index 11ef1917e..a750f37ed 100644 --- a/test/libsolidity/semanticTests/structs/calldata/dynamic_nested.sol +++ b/test/libsolidity/semanticTests/structs/calldata/dynamic_nested.sol @@ -8,6 +8,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // compileToEwasm: also // compileViaYul: also // ---- diff --git a/test/libsolidity/semanticTests/structs/calldata/dynamically_encoded.sol b/test/libsolidity/semanticTests/structs/calldata/dynamically_encoded.sol index 1b71f2f94..459343a77 100644 --- a/test/libsolidity/semanticTests/structs/calldata/dynamically_encoded.sol +++ b/test/libsolidity/semanticTests/structs/calldata/dynamically_encoded.sol @@ -7,6 +7,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // compileToEwasm: also // compileViaYul: also // ---- diff --git a/test/libsolidity/semanticTests/structs/conversion/recursive_storage_memory.sol b/test/libsolidity/semanticTests/structs/conversion/recursive_storage_memory.sol index 93b63ff5c..67d4f5e90 100644 --- a/test/libsolidity/semanticTests/structs/conversion/recursive_storage_memory.sol +++ b/test/libsolidity/semanticTests/structs/conversion/recursive_storage_memory.sol @@ -22,6 +22,7 @@ contract CopyTest { } } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // run() -> 2, 23, 42 diff --git a/test/libsolidity/semanticTests/structs/conversion/recursive_storage_memory_complex.sol b/test/libsolidity/semanticTests/structs/conversion/recursive_storage_memory_complex.sol index 3f3a9a3d2..1f0b911fc 100644 --- a/test/libsolidity/semanticTests/structs/conversion/recursive_storage_memory_complex.sol +++ b/test/libsolidity/semanticTests/structs/conversion/recursive_storage_memory_complex.sol @@ -47,6 +47,7 @@ contract CopyTest { } } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // run() -> 0x20, 10, 0x42, 0x4200, 0x420000, 0x420001, 0x420002, 0x4201, 0x420100, 0x420101, 0x420102, 0x420103 diff --git a/test/libsolidity/semanticTests/structs/memory_structs_as_function_args.sol b/test/libsolidity/semanticTests/structs/memory_structs_as_function_args.sol index 9459c3477..2f5281860 100644 --- a/test/libsolidity/semanticTests/structs/memory_structs_as_function_args.sol +++ b/test/libsolidity/semanticTests/structs/memory_structs_as_function_args.sol @@ -29,6 +29,7 @@ contract Test { } // ==== +// requiresYulOptimizer: minimalStack // compileToEwasm: also // compileViaYul: also // ---- diff --git a/test/libsolidity/semanticTests/structs/memory_structs_nested.sol b/test/libsolidity/semanticTests/structs/memory_structs_nested.sol index 786147c40..b64696c5b 100644 --- a/test/libsolidity/semanticTests/structs/memory_structs_nested.sol +++ b/test/libsolidity/semanticTests/structs/memory_structs_nested.sol @@ -39,6 +39,7 @@ contract Test { } // ==== +// requiresYulOptimizer: minimalStack // compileToEwasm: also // compileViaYul: also // ---- diff --git a/test/libsolidity/semanticTests/structs/memory_structs_nested_load.sol b/test/libsolidity/semanticTests/structs/memory_structs_nested_load.sol index f48c54807..51fb44ec2 100644 --- a/test/libsolidity/semanticTests/structs/memory_structs_nested_load.sol +++ b/test/libsolidity/semanticTests/structs/memory_structs_nested_load.sol @@ -65,6 +65,7 @@ contract Test { } } // ==== +// requiresYulOptimizer: minimalStack // compileToEwasm: also // compileViaYul: also // ---- diff --git a/test/libsolidity/semanticTests/structs/memory_structs_read_write.sol b/test/libsolidity/semanticTests/structs/memory_structs_read_write.sol index 5e47a42fb..6182ce596 100644 --- a/test/libsolidity/semanticTests/structs/memory_structs_read_write.sol +++ b/test/libsolidity/semanticTests/structs/memory_structs_read_write.sol @@ -51,8 +51,9 @@ contract Test { } // ==== -// compileViaYul: also +// requiresYulOptimizer: full // compileToEwasm: also +// compileViaYul: also // ---- // testInit() -> 0, 0, 0, 0, true // testCopyRead() -> 1, 2, 3, 4 diff --git a/test/libsolidity/semanticTests/structs/multislot_struct_allocation.sol b/test/libsolidity/semanticTests/structs/multislot_struct_allocation.sol index 9766880bf..5b7b79d10 100644 --- a/test/libsolidity/semanticTests/structs/multislot_struct_allocation.sol +++ b/test/libsolidity/semanticTests/structs/multislot_struct_allocation.sol @@ -19,6 +19,7 @@ contract C { // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // f() -> 2 diff --git a/test/libsolidity/semanticTests/structs/nested_struct_allocation.sol b/test/libsolidity/semanticTests/structs/nested_struct_allocation.sol index d5f9e8dc7..bc484d447 100644 --- a/test/libsolidity/semanticTests/structs/nested_struct_allocation.sol +++ b/test/libsolidity/semanticTests/structs/nested_struct_allocation.sol @@ -13,6 +13,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // compileToEwasm: also // compileViaYul: also // ---- diff --git a/test/libsolidity/semanticTests/structs/recursive_struct_2.sol b/test/libsolidity/semanticTests/structs/recursive_struct_2.sol index 5214b1a48..092498b37 100644 --- a/test/libsolidity/semanticTests/structs/recursive_struct_2.sol +++ b/test/libsolidity/semanticTests/structs/recursive_struct_2.sol @@ -21,6 +21,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // f() -> 0, 0, 0, 0 diff --git a/test/libsolidity/semanticTests/structs/struct_assign_reference_to_struct.sol b/test/libsolidity/semanticTests/structs/struct_assign_reference_to_struct.sol index 695b29a36..b1c7bccfb 100644 --- a/test/libsolidity/semanticTests/structs/struct_assign_reference_to_struct.sol +++ b/test/libsolidity/semanticTests/structs/struct_assign_reference_to_struct.sol @@ -33,6 +33,7 @@ contract test { } // ==== +// requiresYulOptimizer: minimalStack // compileToEwasm: also // compileViaYul: also // ---- diff --git a/test/libsolidity/semanticTests/structs/struct_constructor_nested.sol b/test/libsolidity/semanticTests/structs/struct_constructor_nested.sol index 7868a620e..f243adbbf 100644 --- a/test/libsolidity/semanticTests/structs/struct_constructor_nested.sol +++ b/test/libsolidity/semanticTests/structs/struct_constructor_nested.sol @@ -27,6 +27,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // get() -> 0x01, 0x00, 0x09, 0x00, 0x04, 0x05 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 070fcf920..6df25943f 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 @@ -21,6 +21,7 @@ contract c { } } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // storageEmpty -> 1 diff --git a/test/libsolidity/semanticTests/structs/struct_copy.sol b/test/libsolidity/semanticTests/structs/struct_copy.sol index ccaaeaa52..fa3d0a0e6 100644 --- a/test/libsolidity/semanticTests/structs/struct_copy.sol +++ b/test/libsolidity/semanticTests/structs/struct_copy.sol @@ -35,6 +35,7 @@ contract c { } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // set(uint256): 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 441584a5e..ab749a155 100644 --- a/test/libsolidity/semanticTests/structs/struct_copy_via_local.sol +++ b/test/libsolidity/semanticTests/structs/struct_copy_via_local.sol @@ -17,6 +17,7 @@ contract c { } // ==== +// requiresYulOptimizer: minimalStack // compileToEwasm: also // compileViaYul: also // ---- diff --git a/test/libsolidity/semanticTests/structs/struct_delete_member.sol b/test/libsolidity/semanticTests/structs/struct_delete_member.sol index 1db9edd4e..c0c5c860d 100644 --- a/test/libsolidity/semanticTests/structs/struct_delete_member.sol +++ b/test/libsolidity/semanticTests/structs/struct_delete_member.sol @@ -17,6 +17,7 @@ contract test { } // ==== +// requiresYulOptimizer: minimalStack // compileToEwasm: also // compileViaYul: also // ---- diff --git a/test/libsolidity/semanticTests/structs/struct_delete_storage_nested_small.sol b/test/libsolidity/semanticTests/structs/struct_delete_storage_nested_small.sol index 838539628..eabf28968 100644 --- a/test/libsolidity/semanticTests/structs/struct_delete_storage_nested_small.sol +++ b/test/libsolidity/semanticTests/structs/struct_delete_storage_nested_small.sol @@ -30,6 +30,7 @@ contract C { } } // ==== +// requiresYulOptimizer: full // compileViaYul: true // ---- // f() -> 0, 0, 0 diff --git a/test/libsolidity/semanticTests/structs/struct_delete_storage_small.sol b/test/libsolidity/semanticTests/structs/struct_delete_storage_small.sol index 21140e45e..0d6b78380 100644 --- a/test/libsolidity/semanticTests/structs/struct_delete_storage_small.sol +++ b/test/libsolidity/semanticTests/structs/struct_delete_storage_small.sol @@ -19,6 +19,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // compileToEwasm: also // compileViaYul: true // ---- diff --git a/test/libsolidity/semanticTests/structs/struct_delete_storage_with_arrays_small.sol b/test/libsolidity/semanticTests/structs/struct_delete_storage_with_arrays_small.sol index 6425c0d37..f3bffcca7 100644 --- a/test/libsolidity/semanticTests/structs/struct_delete_storage_with_arrays_small.sol +++ b/test/libsolidity/semanticTests/structs/struct_delete_storage_with_arrays_small.sol @@ -24,6 +24,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: true // ---- // f() -> 0 diff --git a/test/libsolidity/semanticTests/structs/struct_memory_to_storage.sol b/test/libsolidity/semanticTests/structs/struct_memory_to_storage.sol index 3d4eafa34..1249d4c08 100644 --- a/test/libsolidity/semanticTests/structs/struct_memory_to_storage.sol +++ b/test/libsolidity/semanticTests/structs/struct_memory_to_storage.sol @@ -23,6 +23,7 @@ contract C { } // ==== +// requiresYulOptimizer: minimalStack // compileToEwasm: also // compileViaYul: also // ---- 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 caa2b693f..9e8d4f58b 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 @@ -28,6 +28,7 @@ contract C { } // ==== +// requiresYulOptimizer: minimalStack // compileToEwasm: also // compileViaYul: also // ---- diff --git a/test/libsolidity/semanticTests/structs/struct_reference.sol b/test/libsolidity/semanticTests/structs/struct_reference.sol index c836d3f1d..28192e081 100644 --- a/test/libsolidity/semanticTests/structs/struct_reference.sol +++ b/test/libsolidity/semanticTests/structs/struct_reference.sol @@ -19,6 +19,7 @@ contract test { } } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // check() -> false diff --git a/test/libsolidity/semanticTests/structs/struct_storage_to_mapping.sol b/test/libsolidity/semanticTests/structs/struct_storage_to_mapping.sol index 31952dede..629c8f134 100644 --- a/test/libsolidity/semanticTests/structs/struct_storage_to_mapping.sol +++ b/test/libsolidity/semanticTests/structs/struct_storage_to_mapping.sol @@ -12,6 +12,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // f() -> true diff --git a/test/libsolidity/semanticTests/structs/struct_storage_to_memory.sol b/test/libsolidity/semanticTests/structs/struct_storage_to_memory.sol index e079f61e7..b50332c7d 100644 --- a/test/libsolidity/semanticTests/structs/struct_storage_to_memory.sol +++ b/test/libsolidity/semanticTests/structs/struct_storage_to_memory.sol @@ -21,6 +21,7 @@ contract C { } // ==== +// requiresYulOptimizer: minimalStack // compileToEwasm: also // compileViaYul: also // ---- diff --git a/test/libsolidity/semanticTests/structs/struct_storage_to_memory_function_ptr.sol b/test/libsolidity/semanticTests/structs/struct_storage_to_memory_function_ptr.sol index e42004571..5694aeeaa 100644 --- a/test/libsolidity/semanticTests/structs/struct_storage_to_memory_function_ptr.sol +++ b/test/libsolidity/semanticTests/structs/struct_storage_to_memory_function_ptr.sol @@ -27,7 +27,8 @@ contract C { } // ==== -// compileViaYul: also +// requiresYulOptimizer: minimalStack // compileToEwasm: also +// compileViaYul: also // ---- // f() -> 42, 23, 34, 42, 42 diff --git a/test/libsolidity/semanticTests/structs/structs.sol b/test/libsolidity/semanticTests/structs/structs.sol index 46b596e39..71e89734c 100644 --- a/test/libsolidity/semanticTests/structs/structs.sol +++ b/test/libsolidity/semanticTests/structs/structs.sol @@ -28,6 +28,7 @@ contract test { } } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // check() -> false diff --git a/test/libsolidity/semanticTests/tryCatch/assert.sol b/test/libsolidity/semanticTests/tryCatch/assert.sol index be475a3f2..de7827f5b 100644 --- a/test/libsolidity/semanticTests/tryCatch/assert.sol +++ b/test/libsolidity/semanticTests/tryCatch/assert.sol @@ -12,6 +12,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // f(bool): true -> 1 diff --git a/test/libsolidity/semanticTests/tryCatch/create.sol b/test/libsolidity/semanticTests/tryCatch/create.sol index 6923b6cb6..03c7f314c 100644 --- a/test/libsolidity/semanticTests/tryCatch/create.sol +++ b/test/libsolidity/semanticTests/tryCatch/create.sol @@ -26,6 +26,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // EVMVersion: >=byzantium // compileViaYul: also // ---- diff --git a/test/libsolidity/semanticTests/tryCatch/invalid_error_encoding.sol b/test/libsolidity/semanticTests/tryCatch/invalid_error_encoding.sol index 1b89213cf..294adb5b6 100644 --- a/test/libsolidity/semanticTests/tryCatch/invalid_error_encoding.sol +++ b/test/libsolidity/semanticTests/tryCatch/invalid_error_encoding.sol @@ -148,6 +148,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // EVMVersion: >=byzantium // compileViaYul: also // ---- diff --git a/test/libsolidity/semanticTests/tryCatch/lowLevel.sol b/test/libsolidity/semanticTests/tryCatch/lowLevel.sol index 06710050e..90d9e0a94 100644 --- a/test/libsolidity/semanticTests/tryCatch/lowLevel.sol +++ b/test/libsolidity/semanticTests/tryCatch/lowLevel.sol @@ -12,6 +12,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // EVMVersion: >=byzantium // compileViaYul: also // ---- diff --git a/test/libsolidity/semanticTests/tryCatch/malformed_error.sol b/test/libsolidity/semanticTests/tryCatch/malformed_error.sol index bcac7c1c6..f71472f31 100644 --- a/test/libsolidity/semanticTests/tryCatch/malformed_error.sol +++ b/test/libsolidity/semanticTests/tryCatch/malformed_error.sol @@ -78,6 +78,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // EVMVersion: >=byzantium // compileViaYul: also // ---- diff --git a/test/libsolidity/semanticTests/tryCatch/malformed_panic.sol b/test/libsolidity/semanticTests/tryCatch/malformed_panic.sol index 8bd2e822a..86bf6e513 100644 --- a/test/libsolidity/semanticTests/tryCatch/malformed_panic.sol +++ b/test/libsolidity/semanticTests/tryCatch/malformed_panic.sol @@ -46,6 +46,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // EVMVersion: >=byzantium // compileViaYul: also // ---- diff --git a/test/libsolidity/semanticTests/tryCatch/malformed_panic_2.sol b/test/libsolidity/semanticTests/tryCatch/malformed_panic_2.sol index bb7e48f32..596495b2c 100644 --- a/test/libsolidity/semanticTests/tryCatch/malformed_panic_2.sol +++ b/test/libsolidity/semanticTests/tryCatch/malformed_panic_2.sol @@ -46,6 +46,7 @@ contract C { // ==== // EVMVersion: >=byzantium // compileViaYul: also +// requiresYulOptimizer: minimalStack // ---- // a() -> FAILURE, hex"4e487b" // b() -> FAILURE, hex"4e487b710000" diff --git a/test/libsolidity/semanticTests/tryCatch/malformed_panic_3.sol b/test/libsolidity/semanticTests/tryCatch/malformed_panic_3.sol index 52a76f181..c04a4b12e 100644 --- a/test/libsolidity/semanticTests/tryCatch/malformed_panic_3.sol +++ b/test/libsolidity/semanticTests/tryCatch/malformed_panic_3.sol @@ -52,6 +52,7 @@ contract C { // ==== // EVMVersion: >=byzantium // compileViaYul: also +// requiresYulOptimizer: minimalStack // ---- // a() -> FAILURE, hex"4e487b" // b() -> FAILURE, hex"4e487b710000" diff --git a/test/libsolidity/semanticTests/tryCatch/malformed_panic_4.sol b/test/libsolidity/semanticTests/tryCatch/malformed_panic_4.sol index 2efce6853..823659a35 100644 --- a/test/libsolidity/semanticTests/tryCatch/malformed_panic_4.sol +++ b/test/libsolidity/semanticTests/tryCatch/malformed_panic_4.sol @@ -54,6 +54,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // EVMVersion: >=byzantium // compileViaYul: also // ---- diff --git a/test/libsolidity/semanticTests/tryCatch/nested.sol b/test/libsolidity/semanticTests/tryCatch/nested.sol index 03e6ad553..4fda9abbd 100644 --- a/test/libsolidity/semanticTests/tryCatch/nested.sol +++ b/test/libsolidity/semanticTests/tryCatch/nested.sol @@ -25,6 +25,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // EVMVersion: >=byzantium // compileViaYul: also // ---- diff --git a/test/libsolidity/semanticTests/tryCatch/panic.sol b/test/libsolidity/semanticTests/tryCatch/panic.sol index 9211b4fa4..d631da45b 100644 --- a/test/libsolidity/semanticTests/tryCatch/panic.sol +++ b/test/libsolidity/semanticTests/tryCatch/panic.sol @@ -21,6 +21,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // EVMVersion: >=byzantium // compileViaYul: also // ---- diff --git a/test/libsolidity/semanticTests/tryCatch/return_function.sol b/test/libsolidity/semanticTests/tryCatch/return_function.sol index b9c2d903f..0686aeb7d 100644 --- a/test/libsolidity/semanticTests/tryCatch/return_function.sol +++ b/test/libsolidity/semanticTests/tryCatch/return_function.sol @@ -14,6 +14,7 @@ contract C { function fun() public pure {} } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // f() -> 0x1, 0xfdd67305928fcac8d213d1e47bfa6165cd0b87b946644cd0000000000000000, 9 diff --git a/test/libsolidity/semanticTests/tryCatch/simple.sol b/test/libsolidity/semanticTests/tryCatch/simple.sol index 1f12614a7..a8991e14d 100644 --- a/test/libsolidity/semanticTests/tryCatch/simple.sol +++ b/test/libsolidity/semanticTests/tryCatch/simple.sol @@ -12,6 +12,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // EVMVersion: >=byzantium // compileViaYul: also // ---- diff --git a/test/libsolidity/semanticTests/tryCatch/structured.sol b/test/libsolidity/semanticTests/tryCatch/structured.sol index e4c04932a..cc4cbdb71 100644 --- a/test/libsolidity/semanticTests/tryCatch/structured.sol +++ b/test/libsolidity/semanticTests/tryCatch/structured.sol @@ -13,6 +13,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // EVMVersion: >=byzantium // compileViaYul: also // ---- diff --git a/test/libsolidity/semanticTests/tryCatch/structuredAndLowLevel.sol b/test/libsolidity/semanticTests/tryCatch/structuredAndLowLevel.sol index 91542d7ba..200049fce 100644 --- a/test/libsolidity/semanticTests/tryCatch/structuredAndLowLevel.sol +++ b/test/libsolidity/semanticTests/tryCatch/structuredAndLowLevel.sol @@ -17,6 +17,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // EVMVersion: >=byzantium // compileViaYul: also // ---- diff --git a/test/libsolidity/semanticTests/tryCatch/trivial.sol b/test/libsolidity/semanticTests/tryCatch/trivial.sol index 567b4b714..ec6244edf 100644 --- a/test/libsolidity/semanticTests/tryCatch/trivial.sol +++ b/test/libsolidity/semanticTests/tryCatch/trivial.sol @@ -12,6 +12,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // f(bool): true -> 1 diff --git a/test/libsolidity/semanticTests/tryCatch/try_catch_library_call.sol b/test/libsolidity/semanticTests/tryCatch/try_catch_library_call.sol index cccec9a3c..1bfb0083b 100644 --- a/test/libsolidity/semanticTests/tryCatch/try_catch_library_call.sol +++ b/test/libsolidity/semanticTests/tryCatch/try_catch_library_call.sol @@ -36,6 +36,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // EVMVersion: >=byzantium // compileViaYul: also // ---- diff --git a/test/libsolidity/semanticTests/types/nested_tuples.sol b/test/libsolidity/semanticTests/types/nested_tuples.sol index 43cc88bf8..95c88eb76 100644 --- a/test/libsolidity/semanticTests/types/nested_tuples.sol +++ b/test/libsolidity/semanticTests/types/nested_tuples.sol @@ -27,6 +27,7 @@ contract test { } } // ==== +// requiresYulOptimizer: minimalStack // compileToEwasm: also // compileViaYul: also // ---- diff --git a/test/libsolidity/semanticTests/types/packing_unpacking_types.sol b/test/libsolidity/semanticTests/types/packing_unpacking_types.sol index 77015a9dc..4e8ad77c9 100644 --- a/test/libsolidity/semanticTests/types/packing_unpacking_types.sol +++ b/test/libsolidity/semanticTests/types/packing_unpacking_types.sol @@ -6,6 +6,7 @@ contract test { } } // ==== +// requiresYulOptimizer: minimalStack // compileToEwasm: also // compileViaYul: also // ---- diff --git a/test/libsolidity/semanticTests/types/struct_mapping_abstract_constructor_param.sol b/test/libsolidity/semanticTests/types/struct_mapping_abstract_constructor_param.sol index 47eaf7dc4..9bdb89dfb 100644 --- a/test/libsolidity/semanticTests/types/struct_mapping_abstract_constructor_param.sol +++ b/test/libsolidity/semanticTests/types/struct_mapping_abstract_constructor_param.sol @@ -19,6 +19,7 @@ contract C is A { } } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // getM(uint256,uint256): 0, 0 -> 0 diff --git a/test/libsolidity/semanticTests/types/tuple_assign_multi_slot_grow.sol b/test/libsolidity/semanticTests/types/tuple_assign_multi_slot_grow.sol index 0e0c66802..c363b1cf0 100644 --- a/test/libsolidity/semanticTests/types/tuple_assign_multi_slot_grow.sol +++ b/test/libsolidity/semanticTests/types/tuple_assign_multi_slot_grow.sol @@ -8,6 +8,7 @@ contract C { } // ==== +// requiresYulOptimizer: minimalStack // compileToEwasm: also // compileViaYul: also // ---- diff --git a/test/libsolidity/semanticTests/userDefinedValueType/calldata.sol b/test/libsolidity/semanticTests/userDefinedValueType/calldata.sol index 3dc662947..495b93d1d 100644 --- a/test/libsolidity/semanticTests/userDefinedValueType/calldata.sol +++ b/test/libsolidity/semanticTests/userDefinedValueType/calldata.sol @@ -48,6 +48,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // test_f() -> true diff --git a/test/libsolidity/semanticTests/userDefinedValueType/cleanup.sol b/test/libsolidity/semanticTests/userDefinedValueType/cleanup.sol index 771e0f80c..394bc989f 100644 --- a/test/libsolidity/semanticTests/userDefinedValueType/cleanup.sol +++ b/test/libsolidity/semanticTests/userDefinedValueType/cleanup.sol @@ -35,6 +35,7 @@ contract C { } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // ret() -> 0xff diff --git a/test/libsolidity/semanticTests/userDefinedValueType/erc20.sol b/test/libsolidity/semanticTests/userDefinedValueType/erc20.sol index 155a4bd87..a2036a81b 100644 --- a/test/libsolidity/semanticTests/userDefinedValueType/erc20.sol +++ b/test/libsolidity/semanticTests/userDefinedValueType/erc20.sol @@ -111,6 +111,7 @@ contract ERC20 { } } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // constructor() diff --git a/test/libsolidity/semanticTests/variables/mapping_local_assignment.sol b/test/libsolidity/semanticTests/variables/mapping_local_assignment.sol index b4b158f62..34ac9240f 100644 --- a/test/libsolidity/semanticTests/variables/mapping_local_assignment.sol +++ b/test/libsolidity/semanticTests/variables/mapping_local_assignment.sol @@ -12,6 +12,7 @@ contract test { } } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // f() -> 42, 0, 0, 21 diff --git a/test/libsolidity/semanticTests/variables/mapping_local_compound_assignment.sol b/test/libsolidity/semanticTests/variables/mapping_local_compound_assignment.sol index 5e237ae17..81739053c 100644 --- a/test/libsolidity/semanticTests/variables/mapping_local_compound_assignment.sol +++ b/test/libsolidity/semanticTests/variables/mapping_local_compound_assignment.sol @@ -11,6 +11,7 @@ contract test { } } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // f() -> 42, 0, 0, 21 diff --git a/test/libsolidity/semanticTests/variables/mapping_local_tuple_assignment.sol b/test/libsolidity/semanticTests/variables/mapping_local_tuple_assignment.sol index eb5e6b854..4367385e7 100644 --- a/test/libsolidity/semanticTests/variables/mapping_local_tuple_assignment.sol +++ b/test/libsolidity/semanticTests/variables/mapping_local_tuple_assignment.sol @@ -13,6 +13,7 @@ contract test { } } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // f() -> 42, 0, 0, 21 diff --git a/test/libsolidity/semanticTests/various/code_access_content.sol b/test/libsolidity/semanticTests/various/code_access_content.sol index 3f8d56587..2937beb0f 100644 --- a/test/libsolidity/semanticTests/various/code_access_content.sol +++ b/test/libsolidity/semanticTests/various/code_access_content.sol @@ -37,6 +37,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // testRuntime() -> true diff --git a/test/libsolidity/semanticTests/various/code_length.sol b/test/libsolidity/semanticTests/various/code_length.sol index 53b3534b2..eadfbe261 100644 --- a/test/libsolidity/semanticTests/various/code_length.sol +++ b/test/libsolidity/semanticTests/various/code_length.sol @@ -58,8 +58,9 @@ contract C { } } // ==== -// compileViaYul: also +// requiresYulOptimizer: minimalStack // compileToEwasm: also +// compileViaYul: also // ---- // constructor() // f(): true, true -> true, true diff --git a/test/libsolidity/semanticTests/various/code_length_contract_member.sol b/test/libsolidity/semanticTests/various/code_length_contract_member.sol index 0f697af30..8b3bd3698 100644 --- a/test/libsolidity/semanticTests/various/code_length_contract_member.sol +++ b/test/libsolidity/semanticTests/various/code_length_contract_member.sol @@ -12,7 +12,8 @@ contract C { } } // ==== -// compileViaYul: also +// requiresYulOptimizer: minimalStack // compileToEwasm: also +// compileViaYul: also // ---- // f() -> 0x20, 0x20, true diff --git a/test/libsolidity/semanticTests/various/destructuring_assignment.sol b/test/libsolidity/semanticTests/various/destructuring_assignment.sol index b8a314d32..729e02ef1 100644 --- a/test/libsolidity/semanticTests/various/destructuring_assignment.sol +++ b/test/libsolidity/semanticTests/various/destructuring_assignment.sol @@ -33,6 +33,7 @@ contract C { } // ==== +// requiresYulOptimizer: full // compileViaYul: also // ---- // f(bytes): 0x20, 0x5, "abcde" -> 0 diff --git a/test/libsolidity/semanticTests/various/erc20.sol b/test/libsolidity/semanticTests/various/erc20.sol index 6e7487ee5..ed0e2d6f4 100644 --- a/test/libsolidity/semanticTests/various/erc20.sol +++ b/test/libsolidity/semanticTests/various/erc20.sol @@ -94,6 +94,7 @@ contract ERC20 { } } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // constructor() diff --git a/test/libsolidity/semanticTests/various/external_types_in_calls.sol b/test/libsolidity/semanticTests/various/external_types_in_calls.sol index 229e93fc1..4a046e3ce 100644 --- a/test/libsolidity/semanticTests/various/external_types_in_calls.sol +++ b/test/libsolidity/semanticTests/various/external_types_in_calls.sol @@ -24,6 +24,7 @@ contract C { } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // test() -> 9, 7 diff --git a/test/libsolidity/semanticTests/various/inline_tuple_with_rational_numbers.sol b/test/libsolidity/semanticTests/various/inline_tuple_with_rational_numbers.sol index 73697c74a..8ce43c227 100644 --- a/test/libsolidity/semanticTests/various/inline_tuple_with_rational_numbers.sol +++ b/test/libsolidity/semanticTests/various/inline_tuple_with_rational_numbers.sol @@ -6,6 +6,7 @@ contract c { } // ==== +// requiresYulOptimizer: minimalStack // compileToEwasm: also // compileViaYul: also // ---- diff --git a/test/libsolidity/semanticTests/various/iszero_bnot_correct.sol b/test/libsolidity/semanticTests/various/iszero_bnot_correct.sol index a1cd64725..804cc8148 100644 --- a/test/libsolidity/semanticTests/various/iszero_bnot_correct.sol +++ b/test/libsolidity/semanticTests/various/iszero_bnot_correct.sol @@ -16,6 +16,7 @@ contract C { } // ==== +// requiresYulOptimizer: minimalStack // compileToEwasm: also // compileViaYul: also // ---- diff --git a/test/libsolidity/semanticTests/various/multi_variable_declaration.sol b/test/libsolidity/semanticTests/various/multi_variable_declaration.sol index 3f8e40cda..817f56304 100644 --- a/test/libsolidity/semanticTests/various/multi_variable_declaration.sol +++ b/test/libsolidity/semanticTests/various/multi_variable_declaration.sol @@ -43,6 +43,7 @@ contract C { } } // ==== +// requiresYulOptimizer: full // compileToEwasm: also // compileViaYul: also // ---- diff --git a/test/libsolidity/semanticTests/various/nested_calldata_struct.sol b/test/libsolidity/semanticTests/various/nested_calldata_struct.sol index 4971352b3..219cfbc32 100644 --- a/test/libsolidity/semanticTests/various/nested_calldata_struct.sol +++ b/test/libsolidity/semanticTests/various/nested_calldata_struct.sol @@ -23,6 +23,7 @@ contract C { } // ==== +// requiresYulOptimizer: minimalStack // compileToEwasm: also // compileViaYul: also // ---- diff --git a/test/libsolidity/semanticTests/various/nested_calldata_struct_to_memory.sol b/test/libsolidity/semanticTests/various/nested_calldata_struct_to_memory.sol index 3e96f2a6f..308e072a6 100644 --- a/test/libsolidity/semanticTests/various/nested_calldata_struct_to_memory.sol +++ b/test/libsolidity/semanticTests/various/nested_calldata_struct_to_memory.sol @@ -24,6 +24,7 @@ contract C { } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // f((uint256,uint256,(uint256,uint256),uint256)): 1, 2, 3, 4, 5 -> 1, 2, 3, 4, 5 diff --git a/test/libsolidity/semanticTests/various/skip_dynamic_types.sol b/test/libsolidity/semanticTests/various/skip_dynamic_types.sol index a0231678f..0d0cf88bb 100644 --- a/test/libsolidity/semanticTests/various/skip_dynamic_types.sol +++ b/test/libsolidity/semanticTests/various/skip_dynamic_types.sol @@ -11,6 +11,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // g() -> 7, 8 diff --git a/test/libsolidity/semanticTests/various/skip_dynamic_types_for_static_arrays_with_dynamic_elements.sol b/test/libsolidity/semanticTests/various/skip_dynamic_types_for_static_arrays_with_dynamic_elements.sol index 65e0b4769..70312522a 100644 --- a/test/libsolidity/semanticTests/various/skip_dynamic_types_for_static_arrays_with_dynamic_elements.sol +++ b/test/libsolidity/semanticTests/various/skip_dynamic_types_for_static_arrays_with_dynamic_elements.sol @@ -20,6 +20,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // g() -> 5, 6 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 a8e9ce1ed..0308ed253 100644 --- a/test/libsolidity/semanticTests/various/skip_dynamic_types_for_structs.sol +++ b/test/libsolidity/semanticTests/various/skip_dynamic_types_for_structs.sol @@ -19,6 +19,7 @@ contract C { } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // g() -> 2, 6 diff --git a/test/libsolidity/semanticTests/various/tuples.sol b/test/libsolidity/semanticTests/various/tuples.sol index b89928a72..dadc73807 100644 --- a/test/libsolidity/semanticTests/various/tuples.sol +++ b/test/libsolidity/semanticTests/various/tuples.sol @@ -26,6 +26,7 @@ contract C { } } // ==== +// requiresYulOptimizer: full // compileViaYul: also // ---- // f() -> 0 diff --git a/test/libsolidity/semanticTests/various/typed_multi_variable_declaration.sol b/test/libsolidity/semanticTests/various/typed_multi_variable_declaration.sol index 2836953dc..774dcb337 100644 --- a/test/libsolidity/semanticTests/various/typed_multi_variable_declaration.sol +++ b/test/libsolidity/semanticTests/various/typed_multi_variable_declaration.sol @@ -23,6 +23,7 @@ contract C { } // ==== +// requiresYulOptimizer: minimalStack // compileToEwasm: also // compileViaYul: also // ---- diff --git a/test/libsolidity/semanticTests/various/value_complex.sol b/test/libsolidity/semanticTests/various/value_complex.sol index 8d091ec98..41e8dea86 100644 --- a/test/libsolidity/semanticTests/various/value_complex.sol +++ b/test/libsolidity/semanticTests/various/value_complex.sol @@ -19,6 +19,7 @@ contract test { } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // constructor(), 20 wei -> diff --git a/test/libsolidity/semanticTests/various/value_insane.sol b/test/libsolidity/semanticTests/various/value_insane.sol index c81570626..e5ce8df91 100644 --- a/test/libsolidity/semanticTests/various/value_insane.sol +++ b/test/libsolidity/semanticTests/various/value_insane.sol @@ -18,6 +18,7 @@ contract test { } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // constructor(), 20 wei -> diff --git a/test/libsolidity/semanticTests/various/write_storage_external.sol b/test/libsolidity/semanticTests/various/write_storage_external.sol index 7ed94b6f8..e20ec1a94 100644 --- a/test/libsolidity/semanticTests/various/write_storage_external.sol +++ b/test/libsolidity/semanticTests/various/write_storage_external.sol @@ -35,6 +35,7 @@ contract D { } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // f() -> 3 diff --git a/test/libsolidity/semanticTests/viaYul/array_2d_assignment.sol b/test/libsolidity/semanticTests/viaYul/array_2d_assignment.sol index ff9c03cbe..95b9994fc 100644 --- a/test/libsolidity/semanticTests/viaYul/array_2d_assignment.sol +++ b/test/libsolidity/semanticTests/viaYul/array_2d_assignment.sol @@ -9,6 +9,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // f(uint256): 42 -> 42 diff --git a/test/libsolidity/semanticTests/viaYul/array_3d_assignment.sol b/test/libsolidity/semanticTests/viaYul/array_3d_assignment.sol index a2b3de54f..1f8901a65 100644 --- a/test/libsolidity/semanticTests/viaYul/array_3d_assignment.sol +++ b/test/libsolidity/semanticTests/viaYul/array_3d_assignment.sol @@ -14,6 +14,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // f(uint256): 42 -> 42 diff --git a/test/libsolidity/semanticTests/viaYul/array_3d_new.sol b/test/libsolidity/semanticTests/viaYul/array_3d_new.sol index c3ff22ca3..298486865 100644 --- a/test/libsolidity/semanticTests/viaYul/array_3d_new.sol +++ b/test/libsolidity/semanticTests/viaYul/array_3d_new.sol @@ -11,6 +11,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // f(uint256): 42 -> 42 diff --git a/test/libsolidity/semanticTests/viaYul/array_memory_allocation/array_2d_zeroed_memory_index_access.sol b/test/libsolidity/semanticTests/viaYul/array_memory_allocation/array_2d_zeroed_memory_index_access.sol index 45e567e1d..dd3244647 100644 --- a/test/libsolidity/semanticTests/viaYul/array_memory_allocation/array_2d_zeroed_memory_index_access.sol +++ b/test/libsolidity/semanticTests/viaYul/array_memory_allocation/array_2d_zeroed_memory_index_access.sol @@ -16,6 +16,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // set(string,uint256,uint256,uint256,uint256): 0xa0, 2, 4, 0, 0, 32, "01234567890123456789012345678901" -> 0 diff --git a/test/libsolidity/semanticTests/viaYul/array_memory_allocation/array_array_static.sol b/test/libsolidity/semanticTests/viaYul/array_memory_allocation/array_array_static.sol index 8678e1aa3..94f2e4ce5 100644 --- a/test/libsolidity/semanticTests/viaYul/array_memory_allocation/array_array_static.sol +++ b/test/libsolidity/semanticTests/viaYul/array_memory_allocation/array_array_static.sol @@ -14,6 +14,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // set(string,uint256,uint256): 0x60, 2, 0, 32, "01234567890123456789012345678901" -> 0 diff --git a/test/libsolidity/semanticTests/viaYul/array_memory_allocation/array_static_zeroed_memory_index_access.sol b/test/libsolidity/semanticTests/viaYul/array_memory_allocation/array_static_zeroed_memory_index_access.sol index 6cf73bd8e..2487d9a59 100644 --- a/test/libsolidity/semanticTests/viaYul/array_memory_allocation/array_static_zeroed_memory_index_access.sol +++ b/test/libsolidity/semanticTests/viaYul/array_memory_allocation/array_static_zeroed_memory_index_access.sol @@ -14,6 +14,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // set(string): 0x20, 32, "01234567890123456789012345678901" -> 0 diff --git a/test/libsolidity/semanticTests/viaYul/array_memory_allocation/array_zeroed_memory_index_access.sol b/test/libsolidity/semanticTests/viaYul/array_memory_allocation/array_zeroed_memory_index_access.sol index 76a412adf..f57b34068 100644 --- a/test/libsolidity/semanticTests/viaYul/array_memory_allocation/array_zeroed_memory_index_access.sol +++ b/test/libsolidity/semanticTests/viaYul/array_memory_allocation/array_zeroed_memory_index_access.sol @@ -14,6 +14,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // set(string,uint256,uint256): 0x60, 5, 0, 32, "01234567890123456789012345678901" -> 0 diff --git a/test/libsolidity/semanticTests/viaYul/array_storage_index_zeroed_test.sol b/test/libsolidity/semanticTests/viaYul/array_storage_index_zeroed_test.sol index 870f339fc..21571d623 100644 --- a/test/libsolidity/semanticTests/viaYul/array_storage_index_zeroed_test.sol +++ b/test/libsolidity/semanticTests/viaYul/array_storage_index_zeroed_test.sol @@ -50,6 +50,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // test_zeroed_indicies(uint256): 1 -> diff --git a/test/libsolidity/semanticTests/viaYul/calldata_array_index_range_access.sol b/test/libsolidity/semanticTests/viaYul/calldata_array_index_range_access.sol index 60ea3a8dd..a00ca936f 100644 --- a/test/libsolidity/semanticTests/viaYul/calldata_array_index_range_access.sol +++ b/test/libsolidity/semanticTests/viaYul/calldata_array_index_range_access.sol @@ -26,6 +26,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // compileToEwasm: also // compileViaYul: also // ---- diff --git a/test/libsolidity/semanticTests/viaYul/calldata_array_length.sol b/test/libsolidity/semanticTests/viaYul/calldata_array_length.sol index 5f7d9bbb8..a5bebe6c2 100644 --- a/test/libsolidity/semanticTests/viaYul/calldata_array_length.sol +++ b/test/libsolidity/semanticTests/viaYul/calldata_array_length.sol @@ -13,6 +13,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // f(uint256[]): 0x20, 0 -> 0 diff --git a/test/libsolidity/semanticTests/viaYul/calldata_array_three_dimensional.sol b/test/libsolidity/semanticTests/viaYul/calldata_array_three_dimensional.sol index 37bb54058..527e9a021 100644 --- a/test/libsolidity/semanticTests/viaYul/calldata_array_three_dimensional.sol +++ b/test/libsolidity/semanticTests/viaYul/calldata_array_three_dimensional.sol @@ -9,6 +9,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // compileToEwasm: also // compileViaYul: also // ---- diff --git a/test/libsolidity/semanticTests/viaYul/cleanup/checked_arithmetic.sol b/test/libsolidity/semanticTests/viaYul/cleanup/checked_arithmetic.sol index a81ab4577..b18fbef71 100644 --- a/test/libsolidity/semanticTests/viaYul/cleanup/checked_arithmetic.sol +++ b/test/libsolidity/semanticTests/viaYul/cleanup/checked_arithmetic.sol @@ -51,6 +51,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // compileToEwasm: also // compileViaYul: true // ---- diff --git a/test/libsolidity/semanticTests/viaYul/comparison_functions.sol b/test/libsolidity/semanticTests/viaYul/comparison_functions.sol index d039f4282..321c819a3 100644 --- a/test/libsolidity/semanticTests/viaYul/comparison_functions.sol +++ b/test/libsolidity/semanticTests/viaYul/comparison_functions.sol @@ -25,6 +25,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // compileToEwasm: also // compileViaYul: also // ---- diff --git a/test/libsolidity/semanticTests/viaYul/conditional/conditional_with_assignment.sol b/test/libsolidity/semanticTests/viaYul/conditional/conditional_with_assignment.sol index 7ab894a60..b59a97bdf 100644 --- a/test/libsolidity/semanticTests/viaYul/conditional/conditional_with_assignment.sol +++ b/test/libsolidity/semanticTests/viaYul/conditional/conditional_with_assignment.sol @@ -8,6 +8,7 @@ contract A { } } // ==== +// requiresYulOptimizer: minimalStack // compileToEwasm: also // compileViaYul: also // ---- diff --git a/test/libsolidity/semanticTests/viaYul/conditional/conditional_with_variables.sol b/test/libsolidity/semanticTests/viaYul/conditional/conditional_with_variables.sol index 260f4d688..55e420471 100644 --- a/test/libsolidity/semanticTests/viaYul/conditional/conditional_with_variables.sol +++ b/test/libsolidity/semanticTests/viaYul/conditional/conditional_with_variables.sol @@ -8,6 +8,7 @@ contract A { } } // ==== +// requiresYulOptimizer: minimalStack // compileToEwasm: also // compileViaYul: also // ---- diff --git a/test/libsolidity/semanticTests/viaYul/conversion/function_cast.sol b/test/libsolidity/semanticTests/viaYul/conversion/function_cast.sol index 08462c5f8..cfe22dcfe 100644 --- a/test/libsolidity/semanticTests/viaYul/conversion/function_cast.sol +++ b/test/libsolidity/semanticTests/viaYul/conversion/function_cast.sol @@ -16,6 +16,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // f(uint256): 2 -> 4 diff --git a/test/libsolidity/semanticTests/viaYul/define_tuple_from_function_call.sol b/test/libsolidity/semanticTests/viaYul/define_tuple_from_function_call.sol index 1030748db..379b68dd6 100644 --- a/test/libsolidity/semanticTests/viaYul/define_tuple_from_function_call.sol +++ b/test/libsolidity/semanticTests/viaYul/define_tuple_from_function_call.sol @@ -12,6 +12,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // compileToEwasm: also // compileViaYul: also // ---- diff --git a/test/libsolidity/semanticTests/viaYul/dirty_calldata_struct.sol b/test/libsolidity/semanticTests/viaYul/dirty_calldata_struct.sol index 66a92469a..4b9acee23 100644 --- a/test/libsolidity/semanticTests/viaYul/dirty_calldata_struct.sol +++ b/test/libsolidity/semanticTests/viaYul/dirty_calldata_struct.sol @@ -13,6 +13,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: true // ---- // f((uint16[])): 0x20, 0x20, 0x01, 0x0180 -> true diff --git a/test/libsolidity/semanticTests/viaYul/dirty_memory_dynamic_array.sol b/test/libsolidity/semanticTests/viaYul/dirty_memory_dynamic_array.sol index 8b34fd801..b558aa6c4 100644 --- a/test/libsolidity/semanticTests/viaYul/dirty_memory_dynamic_array.sol +++ b/test/libsolidity/semanticTests/viaYul/dirty_memory_dynamic_array.sol @@ -13,6 +13,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // compileToEwasm: also // compileViaYul: true // ---- diff --git a/test/libsolidity/semanticTests/viaYul/dirty_memory_int32.sol b/test/libsolidity/semanticTests/viaYul/dirty_memory_int32.sol index 636572d50..a807258de 100644 --- a/test/libsolidity/semanticTests/viaYul/dirty_memory_int32.sol +++ b/test/libsolidity/semanticTests/viaYul/dirty_memory_int32.sol @@ -13,6 +13,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // compileToEwasm: also // compileViaYul: true // ---- diff --git a/test/libsolidity/semanticTests/viaYul/dirty_memory_static_array.sol b/test/libsolidity/semanticTests/viaYul/dirty_memory_static_array.sol index 2e9acb27c..9979d273f 100644 --- a/test/libsolidity/semanticTests/viaYul/dirty_memory_static_array.sol +++ b/test/libsolidity/semanticTests/viaYul/dirty_memory_static_array.sol @@ -13,6 +13,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // compileToEwasm: also // compileViaYul: true // ---- diff --git a/test/libsolidity/semanticTests/viaYul/dirty_memory_struct.sol b/test/libsolidity/semanticTests/viaYul/dirty_memory_struct.sol index 7c1428050..020e6f3e0 100644 --- a/test/libsolidity/semanticTests/viaYul/dirty_memory_struct.sol +++ b/test/libsolidity/semanticTests/viaYul/dirty_memory_struct.sol @@ -17,6 +17,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // compileToEwasm: also // compileViaYul: true // ---- diff --git a/test/libsolidity/semanticTests/viaYul/dirty_memory_uint32.sol b/test/libsolidity/semanticTests/viaYul/dirty_memory_uint32.sol index cfd2c05af..d9aabba00 100644 --- a/test/libsolidity/semanticTests/viaYul/dirty_memory_uint32.sol +++ b/test/libsolidity/semanticTests/viaYul/dirty_memory_uint32.sol @@ -13,6 +13,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // compileToEwasm: also // compileViaYul: true // ---- diff --git a/test/libsolidity/semanticTests/viaYul/if.sol b/test/libsolidity/semanticTests/viaYul/if.sol index 66af17f72..cfdeb4672 100644 --- a/test/libsolidity/semanticTests/viaYul/if.sol +++ b/test/libsolidity/semanticTests/viaYul/if.sol @@ -60,6 +60,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // compileToEwasm: also // compileViaYul: also // ---- diff --git a/test/libsolidity/semanticTests/viaYul/local_tuple_assignment.sol b/test/libsolidity/semanticTests/viaYul/local_tuple_assignment.sol index feeeb490e..62d3526a4 100644 --- a/test/libsolidity/semanticTests/viaYul/local_tuple_assignment.sol +++ b/test/libsolidity/semanticTests/viaYul/local_tuple_assignment.sol @@ -22,6 +22,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // compileToEwasm: also // compileViaYul: also // ---- diff --git a/test/libsolidity/semanticTests/viaYul/loops/continue.sol b/test/libsolidity/semanticTests/viaYul/loops/continue.sol index 889a18e55..ac409683d 100644 --- a/test/libsolidity/semanticTests/viaYul/loops/continue.sol +++ b/test/libsolidity/semanticTests/viaYul/loops/continue.sol @@ -30,6 +30,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // compileToEwasm: also // compileViaYul: also // ---- diff --git a/test/libsolidity/semanticTests/viaYul/loops/return.sol b/test/libsolidity/semanticTests/viaYul/loops/return.sol index 3ad4abc86..115009620 100644 --- a/test/libsolidity/semanticTests/viaYul/loops/return.sol +++ b/test/libsolidity/semanticTests/viaYul/loops/return.sol @@ -27,6 +27,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // compileToEwasm: also // compileViaYul: also // ---- diff --git a/test/libsolidity/semanticTests/viaYul/memory_struct_allow.sol b/test/libsolidity/semanticTests/viaYul/memory_struct_allow.sol index 02ec2fe95..20aea7196 100644 --- a/test/libsolidity/semanticTests/viaYul/memory_struct_allow.sol +++ b/test/libsolidity/semanticTests/viaYul/memory_struct_allow.sol @@ -16,6 +16,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // compileToEwasm: also // compileViaYul: also // ---- diff --git a/test/libsolidity/semanticTests/viaYul/storage/dirty_storage_bytes.sol b/test/libsolidity/semanticTests/viaYul/storage/dirty_storage_bytes.sol index b968f92ba..f6ce39fc6 100644 --- a/test/libsolidity/semanticTests/viaYul/storage/dirty_storage_bytes.sol +++ b/test/libsolidity/semanticTests/viaYul/storage/dirty_storage_bytes.sol @@ -13,6 +13,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // compileToEwasm: also // compileViaYul: also // ---- diff --git a/test/libsolidity/semanticTests/viaYul/storage/dirty_storage_bytes_long.sol b/test/libsolidity/semanticTests/viaYul/storage/dirty_storage_bytes_long.sol index 39f89c370..48ffcb9b7 100644 --- a/test/libsolidity/semanticTests/viaYul/storage/dirty_storage_bytes_long.sol +++ b/test/libsolidity/semanticTests/viaYul/storage/dirty_storage_bytes_long.sol @@ -15,6 +15,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // f() -> true diff --git a/test/libsolidity/semanticTests/viaYul/storage/dirty_storage_dynamic_array.sol b/test/libsolidity/semanticTests/viaYul/storage/dirty_storage_dynamic_array.sol index 011cf7d88..182a51076 100644 --- a/test/libsolidity/semanticTests/viaYul/storage/dirty_storage_dynamic_array.sol +++ b/test/libsolidity/semanticTests/viaYul/storage/dirty_storage_dynamic_array.sol @@ -15,6 +15,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // f() -> true diff --git a/test/libsolidity/semanticTests/viaYul/storage/dirty_storage_static_array.sol b/test/libsolidity/semanticTests/viaYul/storage/dirty_storage_static_array.sol index 49d26789e..f0e758a09 100644 --- a/test/libsolidity/semanticTests/viaYul/storage/dirty_storage_static_array.sol +++ b/test/libsolidity/semanticTests/viaYul/storage/dirty_storage_static_array.sol @@ -13,6 +13,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // compileToEwasm: also // compileViaYul: also // ---- diff --git a/test/libsolidity/semanticTests/viaYul/storage/dirty_storage_struct.sol b/test/libsolidity/semanticTests/viaYul/storage/dirty_storage_struct.sol index 695184c8f..d35a7f517 100644 --- a/test/libsolidity/semanticTests/viaYul/storage/dirty_storage_struct.sol +++ b/test/libsolidity/semanticTests/viaYul/storage/dirty_storage_struct.sol @@ -18,6 +18,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // f() -> true diff --git a/test/libsolidity/semanticTests/viaYul/storage/mappings.sol b/test/libsolidity/semanticTests/viaYul/storage/mappings.sol index 5666635b5..201465fbd 100644 --- a/test/libsolidity/semanticTests/viaYul/storage/mappings.sol +++ b/test/libsolidity/semanticTests/viaYul/storage/mappings.sol @@ -29,6 +29,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // compileViaYul: also // ---- // test_simple(uint256): 0 -> 3, 4, 5 diff --git a/test/libsolidity/semanticTests/viaYul/storage/packed_storage.sol b/test/libsolidity/semanticTests/viaYul/storage/packed_storage.sol index 6049fb7cf..99c91089e 100644 --- a/test/libsolidity/semanticTests/viaYul/storage/packed_storage.sol +++ b/test/libsolidity/semanticTests/viaYul/storage/packed_storage.sol @@ -11,6 +11,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // compileToEwasm: also // compileViaYul: also // ---- diff --git a/test/libsolidity/semanticTests/viaYul/struct_member_access.sol b/test/libsolidity/semanticTests/viaYul/struct_member_access.sol index 108c94589..f983f66e1 100644 --- a/test/libsolidity/semanticTests/viaYul/struct_member_access.sol +++ b/test/libsolidity/semanticTests/viaYul/struct_member_access.sol @@ -30,6 +30,7 @@ contract C { } } // ==== +// requiresYulOptimizer: full // EVMVersion: >homestead // compileViaYul: also // ---- diff --git a/test/libsolidity/semanticTests/viaYul/tuple_evaluation_order.sol b/test/libsolidity/semanticTests/viaYul/tuple_evaluation_order.sol index f8500b7db..e75cdfc6b 100644 --- a/test/libsolidity/semanticTests/viaYul/tuple_evaluation_order.sol +++ b/test/libsolidity/semanticTests/viaYul/tuple_evaluation_order.sol @@ -9,6 +9,7 @@ contract C { } } // ==== +// requiresYulOptimizer: minimalStack // compileToEwasm: also // compileViaYul: also // ----