Optimized IR: /******************************************************* * WARNING * * Solidity to Yul compilation is still EXPERIMENTAL * * It can result in LOSS OF FUNDS or worse * * !USE AT YOUR OWN RISK! * *******************************************************/ object "C_2" { code { { mstore(64, 128) if callvalue() { revert(0, 0) } let _1 := datasize("C_2_deployed") codecopy(0, dataoffset("C_2_deployed"), _1) return(0, _1) } } object "C_2_deployed" { code { { mstore(64, 128) if iszero(lt(calldatasize(), 4)) { mstore(0, 0) calldatacopy(28, 0, 4) } revert(0, 0) } } } } Optimized IR: /******************************************************* * WARNING * * Solidity to Yul compilation is still EXPERIMENTAL * * It can result in LOSS OF FUNDS or worse * * !USE AT YOUR OWN RISK! * *******************************************************/ object "D_13" { code { { mstore(64, 128) if callvalue() { revert(0, 0) } let _1 := datasize("D_13_deployed") codecopy(0, dataoffset("D_13_deployed"), _1) return(0, _1) } } object "D_13_deployed" { code { { mstore(64, 128) if iszero(lt(calldatasize(), 4)) { let _1 := 0 mstore(_1, _1) calldatacopy(28, _1, 4) if eq(0x26121ff0, mload(_1)) { if callvalue() { revert(_1, _1) } if slt(add(calldatasize(), not(3)), _1) { revert(_1, _1) } let _2 := mload(64) let _3 := datasize("C_2") let _4 := add(_2, _3) if or(gt(_4, 0xffffffffffffffff), lt(_4, _2)) { revert(_1, _1) } datacopy(_2, dataoffset("C_2"), _3) pop(create(_1, _2, sub(_4, _2))) return(allocateMemory(_1), _1) } } revert(0, 0) } function allocateMemory(size) -> memPtr { memPtr := mload(64) let newFreePtr := add(memPtr, size) if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { revert(0, 0) } mstore(64, newFreePtr) } } object "C_2" { code { { mstore(64, 128) if callvalue() { revert(0, 0) } let _1 := datasize("C_2_deployed") codecopy(0, dataoffset("C_2_deployed"), _1) return(0, _1) } } object "C_2_deployed" { code { { mstore(64, 128) if iszero(lt(calldatasize(), 4)) { mstore(0, 0) calldatacopy(28, 0, 4) } revert(0, 0) } } } } } }