solidity/test/cmdlineTests/ir_compiler_subobjects/output
2022-03-10 18:25:28 +01:00

121 lines
4.3 KiB
Plaintext

Optimized IR:
/*=====================================================*
* WARNING *
* Solidity to Yul compilation is still EXPERIMENTAL *
* It can result in LOSS OF FUNDS or worse *
* !USE AT YOUR OWN RISK! *
*=====================================================*/
/// @use-src 0:"ir_compiler_subobjects/input.sol"
object "C_3" {
code {
{
/// @src 0:82:95 "contract C {}"
let _1 := memoryguard(0x80)
mstore(64, _1)
if callvalue() { revert(0, 0) }
let _2 := datasize("C_3_deployed")
codecopy(_1, dataoffset("C_3_deployed"), _2)
return(_1, _2)
}
}
/// @use-src 0:"ir_compiler_subobjects/input.sol"
object "C_3_deployed" {
code {
{
/// @src 0:82:95 "contract C {}"
revert(0, 0)
}
}
data ".metadata" hex"<BYTECODE REMOVED>"
}
}
Optimized IR:
/*=====================================================*
* WARNING *
* Solidity to Yul compilation is still EXPERIMENTAL *
* It can result in LOSS OF FUNDS or worse *
* !USE AT YOUR OWN RISK! *
*=====================================================*/
/// @use-src 0:"ir_compiler_subobjects/input.sol"
object "D_16" {
code {
{
/// @src 0:96:165 "contract D {..."
let _1 := memoryguard(0x80)
mstore(64, _1)
if callvalue() { revert(0, 0) }
let _2 := datasize("D_16_deployed")
codecopy(_1, dataoffset("D_16_deployed"), _2)
return(_1, _2)
}
}
/// @use-src 0:"ir_compiler_subobjects/input.sol"
object "D_16_deployed" {
code {
{
/// @src 0:96:165 "contract D {..."
let _1 := memoryguard(0x80)
mstore(64, _1)
if iszero(lt(calldatasize(), 4))
{
let _2 := 0
if eq(0x26121ff0, shr(224, calldataload(_2)))
{
if callvalue() { revert(_2, _2) }
if slt(add(calldatasize(), not(3)), _2) { revert(_2, _2) }
/// @src 0:149:156 "new C()"
let _3 := datasize("C_3")
let _4 := add(_1, _3)
if or(gt(_4, 0xffffffffffffffff), lt(_4, _1))
{
/// @src 0:96:165 "contract D {..."
mstore(_2, shl(224, 0x4e487b71))
mstore(4, 0x41)
revert(_2, 0x24)
}
/// @src 0:149:156 "new C()"
datacopy(_1, dataoffset("C_3"), _3)
if iszero(create(/** @src 0:96:165 "contract D {..." */ _2, /** @src 0:149:156 "new C()" */ _1, sub(_4, _1)))
{
/// @src 0:96:165 "contract D {..."
let pos := mload(64)
returndatacopy(pos, _2, returndatasize())
revert(pos, returndatasize())
}
return(mload(64), _2)
}
}
revert(0, 0)
}
}
/// @use-src 0:"ir_compiler_subobjects/input.sol"
object "C_3" {
code {
{
/// @src 0:82:95 "contract C {}"
let _1 := memoryguard(0x80)
mstore(64, _1)
if callvalue() { revert(0, 0) }
let _2 := datasize("C_3_deployed")
codecopy(_1, dataoffset("C_3_deployed"), _2)
return(_1, _2)
}
}
/// @use-src 0:"ir_compiler_subobjects/input.sol"
object "C_3_deployed" {
code {
{
/// @src 0:82:95 "contract C {}"
revert(0, 0)
}
}
data ".metadata" hex"<BYTECODE REMOVED>"
}
}
data ".metadata" hex"<BYTECODE REMOVED>"
}
}