diff --git a/test/libyul/yulOptimizerTests/fullSuite/load_resolve_after_termination.yul b/test/libyul/yulOptimizerTests/fullSuite/load_resolve_after_termination.yul new file mode 100644 index 000000000..16347a2b2 --- /dev/null +++ b/test/libyul/yulOptimizerTests/fullSuite/load_resolve_after_termination.yul @@ -0,0 +1,22 @@ +{ + let _1 := calldataload(0) + mstore(0, _1) + if _1 { mstore(0, 9) return(0, 32) } + sstore(0, mload(0)) +} +// ---- +// step: fullSuite +// +// { +// { +// let _1 := 0 +// let _2 := calldataload(_1) +// mstore(_1, _2) +// if _2 +// { +// mstore(_1, 9) +// return(_1, 32) +// } +// sstore(_1, mload(_1)) +// } +// } diff --git a/test/libyul/yulOptimizerTests/fullSuite/switch_load_resolver.yul b/test/libyul/yulOptimizerTests/fullSuite/switch_load_resolver.yul new file mode 100644 index 000000000..8cd05ece3 --- /dev/null +++ b/test/libyul/yulOptimizerTests/fullSuite/switch_load_resolver.yul @@ -0,0 +1,28 @@ +{ + let _1 := memoryguard(0x80) + mstore(64, _1) + let _2 := 0 + switch shr(224, calldataload(_2)) + case 0x06661abd { + mstore(_1, sload(_2)) + return(_1, 32) + } + case 0xc2985578 { + return(mload(64), _2) + } +} +// ---- +// step: fullSuite +// +// { +// { +// let _1 := memoryguard(0x80) +// mstore(64, _1) +// switch shr(224, calldataload(0)) +// case 0x06661abd { +// mstore(_1, sload(0)) +// return(_1, 32) +// } +// case 0xc2985578 { return(mload(64), 0) } +// } +// }