Merge pull request #10535 from ethereum/removeNumbers

Improve generated names.
This commit is contained in:
chriseth 2021-02-23 13:29:18 +01:00 committed by GitHub
commit 7d0ecd9406
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
17 changed files with 127 additions and 122 deletions

View File

@ -96,7 +96,7 @@ string IRNames::constantValueFunction(VariableDeclaration const& _constant)
string IRNames::localVariable(VariableDeclaration const& _declaration) string IRNames::localVariable(VariableDeclaration const& _declaration)
{ {
return "vloc_" + _declaration.name() + '_' + std::to_string(_declaration.id()); return "var_" + _declaration.name() + '_' + std::to_string(_declaration.id());
} }
string IRNames::localVariable(Expression const& _expression) string IRNames::localVariable(Expression const& _expression)
@ -120,7 +120,7 @@ string IRNames::tupleComponent(size_t _i)
string IRNames::zeroValue(Type const& _type, string const& _variableName) string IRNames::zeroValue(Type const& _type, string const& _variableName)
{ {
return "zero_value_for_type_" + _type.identifier() + _variableName; return "zero_" + _type.identifier() + _variableName;
} }
FunctionDefinition const* IRHelpers::referencedFunctionDeclaration(Expression const& _expression) FunctionDefinition const* IRHelpers::referencedFunctionDeclaration(Expression const& _expression)

View File

@ -81,24 +81,29 @@ void NameSimplifier::findSimplification(YulString const& _name)
string name = _name.str(); string name = _name.str();
static auto replacements = vector<pair<regex, string>>{ static auto replacements = vector<pair<regex, string>>{
{regex("_\\$\\d+"), ""}, // removes AST IDs {regex("_\\$|\\$_"), "_"}, // remove type mangling delimiters
{regex("_[0-9]+([^0-9a-fA-Fx])"), "$1"}, // removes AST IDs that are not hex.
{regex("_[0-9]+$"), ""}, // removes AST IDs that are not hex.
{regex("_t_"), "_"}, // remove type prefixes
{regex("__"), "_"},
{regex("(abi_..code.*)_to_.*"), "$1"}, // removes _to... for abi functions {regex("(abi_..code.*)_to_.*"), "$1"}, // removes _to... for abi functions
{regex("(stringliteral_[0-9a-f][0-9a-f][0-9a-f][0-9a-f])[0-9a-f]*"), "$1"}, // shorten string literal {regex("(stringliteral_?[0-9a-f][0-9a-f][0-9a-f][0-9a-f])[0-9a-f]*"), "$1"}, // shorten string literal
{regex("tuple_t_"), ""}, {regex("tuple_"), ""},
{regex("_memory_ptr"), ""}, {regex("_memory_ptr"), ""},
{regex("_calldata_ptr"), "_calldata"}, {regex("_calldata_ptr"), "_calldata"},
{regex("_fromStack"), ""}, {regex("_fromStack"), ""},
{regex("_storage_storage"), "_storage"}, {regex("_storage_storage"), "_storage"},
{regex("(storage.*)_?storage"), "$1"},
{regex("_memory_memory"), "_memory"}, {regex("_memory_memory"), "_memory"},
{regex("t_contract\\$_([^_]*)_"), "$1_"}, {regex("_contract\\$_([^_]*)_?"), "$1_"},
{regex("index_access_t_array"), "index_access"}, {regex("index_access_(t_)?array"), "index_access"},
{regex("[0-9]*_$"), ""} {regex("[0-9]*_$"), ""}
}; };
for (auto const& [pattern, substitute]: replacements) for (auto const& [pattern, substitute]: replacements)
{ {
string candidate = regex_replace(name, pattern, substitute); string candidate = regex_replace(name, pattern, substitute);
if (!m_context.dispenser.illegalName(YulString(candidate))) if (!candidate.empty() && !m_context.dispenser.illegalName(YulString(candidate)))
name = candidate; name = candidate;
} }

View File

@ -42,11 +42,11 @@ object "object" {
x_7 := x_11 x_7 := x_11
} }
{ {
let _4, _5, _6, _7 := iszero_204_878_1509(_1, _1, _1, lt_206(x_4, x_5, x_6, x_7, _1, _1, _1, 10)) let _4, _5, _6, _7 := iszero_887(_1, _1, _1, lt(x_4, x_5, x_6, x_7, _1, _1, _1, 10))
if i32.eqz(i64.eqz(i64.or(i64.or(_4, _5), i64.or(_6, _7)))) { break } if i32.eqz(i64.eqz(i64.or(i64.or(_4, _5), i64.or(_6, _7)))) { break }
let _8, _9, _10, _11 := eq_205_879_1510(x_4, x_5, x_6, x_7, _1, _1, _1, 2) let _8, _9, _10, _11 := eq_888(x_4, x_5, x_6, x_7, _1, _1, _1, 2)
if i32.eqz(i64.eqz(i64.or(i64.or(_8, _9), i64.or(_10, _11)))) { break } if i32.eqz(i64.eqz(i64.or(i64.or(_8, _9), i64.or(_10, _11)))) { break }
let _12, _13, _14, _15 := eq_205_879_1510(x_4, x_5, x_6, x_7, _1, _1, _1, 4) let _12, _13, _14, _15 := eq_888(x_4, x_5, x_6, x_7, _1, _1, _1, 4)
if i32.eqz(i64.eqz(i64.or(i64.or(_12, _13), i64.or(_14, _15)))) { continue } if i32.eqz(i64.eqz(i64.or(i64.or(_12, _13), i64.or(_14, _15)))) { continue }
} }
sstore(_1, _1, _1, _1, x_4, x_5, x_6, x_7) sstore(_1, _1, _1, _1, x_4, x_5, x_6, x_7)
@ -68,15 +68,15 @@ object "object" {
let r1_1, carry_2 := add_carry(x1, y1, carry_1) let r1_1, carry_2 := add_carry(x1, y1, carry_1)
r1 := r1_1 r1 := r1_1
} }
function iszero_204_878_1509(x1, x2, x3, x4) -> r1, r2, r3, r4 function iszero_887(x1, x2, x3, x4) -> r1, r2, r3, r4
{ {
r4 := i64.extend_i32_u(i64.eqz(i64.or(i64.or(x1, x2), i64.or(x3, x4)))) r4 := i64.extend_i32_u(i64.eqz(i64.or(i64.or(x1, x2), i64.or(x3, x4))))
} }
function eq_205_879_1510(x1, x2, x3, x4, y1, y2, y3, y4) -> r1, r2, r3, r4 function eq_888(x1, x2, x3, x4, y1, y2, y3, y4) -> r1, r2, r3, r4
{ {
r4 := i64.extend_i32_u(i32.and(i64.eq(x1, y1), i32.and(i64.eq(x2, y2), i32.and(i64.eq(x3, y3), i64.eq(x4, y4))))) r4 := i64.extend_i32_u(i32.and(i64.eq(x1, y1), i32.and(i64.eq(x2, y2), i32.and(i64.eq(x3, y3), i64.eq(x4, y4)))))
} }
function lt_206(x1, x2, x3, x4, y1, y2, y3, y4) -> z4 function lt(x1, x2, x3, x4, y1, y2, y3, y4) -> z4
{ {
let z:i32 := false let z:i32 := false
let _1:i32 := 0xffffffff:i32 let _1:i32 := 0xffffffff:i32
@ -230,7 +230,7 @@ Text representation:
(br_if $label__3 (i32.eqz (i32.eqz (local.get $_3)))) (br_if $label__3 (i32.eqz (i32.eqz (local.get $_3))))
(block $label__4 (block $label__4
(block (block
(local.set $_4 (call $iszero_204_878_1509 (local.get $_1) (local.get $_1) (local.get $_1) (call $lt_206 (local.get $x_4) (local.get $x_5) (local.get $x_6) (local.get $x_7) (local.get $_1) (local.get $_1) (local.get $_1) (i64.const 10)))) (local.set $_4 (call $iszero_887 (local.get $_1) (local.get $_1) (local.get $_1) (call $lt (local.get $x_4) (local.get $x_5) (local.get $x_6) (local.get $x_7) (local.get $_1) (local.get $_1) (local.get $_1) (i64.const 10))))
(local.set $_5 (global.get $global_)) (local.set $_5 (global.get $global_))
(local.set $_6 (global.get $global__1)) (local.set $_6 (global.get $global__1))
(local.set $_7 (global.get $global__2)) (local.set $_7 (global.get $global__2))
@ -240,7 +240,7 @@ Text representation:
(br $label__3) (br $label__3)
)) ))
(block (block
(local.set $_8 (call $eq_205_879_1510 (local.get $x_4) (local.get $x_5) (local.get $x_6) (local.get $x_7) (local.get $_1) (local.get $_1) (local.get $_1) (i64.const 2))) (local.set $_8 (call $eq_888 (local.get $x_4) (local.get $x_5) (local.get $x_6) (local.get $x_7) (local.get $_1) (local.get $_1) (local.get $_1) (i64.const 2)))
(local.set $_9 (global.get $global_)) (local.set $_9 (global.get $global_))
(local.set $_10 (global.get $global__1)) (local.set $_10 (global.get $global__1))
(local.set $_11 (global.get $global__2)) (local.set $_11 (global.get $global__2))
@ -250,7 +250,7 @@ Text representation:
(br $label__3) (br $label__3)
)) ))
(block (block
(local.set $_12 (call $eq_205_879_1510 (local.get $x_4) (local.get $x_5) (local.get $x_6) (local.get $x_7) (local.get $_1) (local.get $_1) (local.get $_1) (i64.const 4))) (local.set $_12 (call $eq_888 (local.get $x_4) (local.get $x_5) (local.get $x_6) (local.get $x_7) (local.get $_1) (local.get $_1) (local.get $_1) (i64.const 4)))
(local.set $_13 (global.get $global_)) (local.set $_13 (global.get $global_))
(local.set $_14 (global.get $global__1)) (local.set $_14 (global.get $global__1))
(local.set $_15 (global.get $global__2)) (local.set $_15 (global.get $global__2))
@ -348,7 +348,7 @@ Text representation:
(local.get $r1) (local.get $r1)
) )
(func $iszero_204_878_1509 (func $iszero_887
(param $x1 i64) (param $x1 i64)
(param $x2 i64) (param $x2 i64)
(param $x3 i64) (param $x3 i64)
@ -368,7 +368,7 @@ Text representation:
(local.get $r1) (local.get $r1)
) )
(func $eq_205_879_1510 (func $eq_888
(param $x1 i64) (param $x1 i64)
(param $x2 i64) (param $x2 i64)
(param $x3 i64) (param $x3 i64)
@ -392,7 +392,7 @@ Text representation:
(local.get $r1) (local.get $r1)
) )
(func $lt_206 (func $lt
(param $x1 i64) (param $x1 i64)
(param $x2 i64) (param $x2 i64)
(param $x3 i64) (param $x3 i64)

View File

@ -210,83 +210,83 @@ object "C_81" {
mstore(64, newFreePtr) mstore(64, newFreePtr)
} }
function fun_f_80(vloc_a_4, vloc_b_6, vloc_c_8, vloc_d_10) -> vloc__13, vloc__15, vloc__17, vloc__19 { function fun_f_80(var_a_4, var_b_6, var_c_8, var_d_10) -> var__13, var__15, var__17, var__19 {
let zero_value_for_type_t_uint256_1 := zero_value_for_split_t_uint256() let zero_t_uint256_1 := zero_value_for_split_t_uint256()
vloc__13 := zero_value_for_type_t_uint256_1 var__13 := zero_t_uint256_1
let zero_value_for_type_t_int256_2 := zero_value_for_split_t_int256() let zero_t_int256_2 := zero_value_for_split_t_int256()
vloc__15 := zero_value_for_type_t_int256_2 var__15 := zero_t_int256_2
let zero_value_for_type_t_uint256_3 := zero_value_for_split_t_uint256() let zero_t_uint256_3 := zero_value_for_split_t_uint256()
vloc__17 := zero_value_for_type_t_uint256_3 var__17 := zero_t_uint256_3
let zero_value_for_type_t_uint256_4 := zero_value_for_split_t_uint256() let zero_t_uint256_4 := zero_value_for_split_t_uint256()
vloc__19 := zero_value_for_type_t_uint256_4 var__19 := zero_t_uint256_4
let expr_23 := 0x02 let expr_23 := 0x02
let _5 := vloc_a_4 let _5 := var_a_4
let expr_24 := _5 let expr_24 := _5
let _6 := convert_t_rational_2_by_1_to_t_uint256(expr_23) let _6 := convert_t_rational_2_by_1_to_t_uint256(expr_23)
let expr_25 := checked_exp_t_rational_2_by_1_t_uint256(expr_24) let expr_25 := checked_exp_t_rational_2_by_1_t_uint256(expr_24)
let vloc_w_22 := expr_25 let var_w_22 := expr_25
let expr_29 := 0x02 let expr_29 := 0x02
let expr_30 := 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe let expr_30 := 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe
let expr_31 := expr_30 let expr_31 := expr_30
let _7 := vloc_b_6 let _7 := var_b_6
let expr_32 := _7 let expr_32 := _7
let _8 := convert_t_rational_minus_2_by_1_to_t_int256(expr_31) let _8 := convert_t_rational_minus_2_by_1_to_t_int256(expr_31)
let expr_33 := checked_exp_t_rational_minus_2_by_1_t_uint256(expr_32) let expr_33 := checked_exp_t_rational_minus_2_by_1_t_uint256(expr_32)
let vloc_x_28 := expr_33 let var_x_28 := expr_33
let expr_37 := 0x0a let expr_37 := 0x0a
let _9 := vloc_c_8 let _9 := var_c_8
let expr_38 := _9 let expr_38 := _9
let _10 := convert_t_rational_10_by_1_to_t_uint256(expr_37) let _10 := convert_t_rational_10_by_1_to_t_uint256(expr_37)
let expr_39 := checked_exp_t_rational_10_by_1_t_uint256(expr_38) let expr_39 := checked_exp_t_rational_10_by_1_t_uint256(expr_38)
let vloc_y_36 := expr_39 let var_y_36 := expr_39
let expr_47 := 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff let expr_47 := 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
let expr_48 := expr_47 let expr_48 := expr_47
let _11 := vloc_d_10 let _11 := var_d_10
let expr_49 := _11 let expr_49 := _11
let _12 := convert_t_rational_115792089237316195423570985008687907853269984665640564039457584007913129639935_by_1_to_t_uint256(expr_48) let _12 := convert_t_rational_115792089237316195423570985008687907853269984665640564039457584007913129639935_by_1_to_t_uint256(expr_48)
let expr_50 := checked_exp_t_rational_115792089237316195423570985008687907853269984665640564039457584007913129639935_by_1_t_uint256(expr_49) let expr_50 := checked_exp_t_rational_115792089237316195423570985008687907853269984665640564039457584007913129639935_by_1_t_uint256(expr_49)
let vloc_z_42 := expr_50 let var_z_42 := expr_50
let expr_53 := 0x00 let expr_53 := 0x00
let expr_54 := expr_53 let expr_54 := expr_53
let _13 := vloc_a_4 let _13 := var_a_4
let expr_55 := _13 let expr_55 := _13
let _14 := convert_t_rational_0_by_1_to_t_uint256(expr_54) let _14 := convert_t_rational_0_by_1_to_t_uint256(expr_54)
let expr_56 := checked_exp_t_rational_0_by_1_t_uint256(expr_55) let expr_56 := checked_exp_t_rational_0_by_1_t_uint256(expr_55)
vloc_w_22 := expr_56 var_w_22 := expr_56
let expr_57 := expr_56 let expr_57 := expr_56
let expr_60 := 0x01 let expr_60 := 0x01
let expr_61 := 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff let expr_61 := 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
let expr_62 := expr_61 let expr_62 := expr_61
let _15 := vloc_b_6 let _15 := var_b_6
let expr_63 := _15 let expr_63 := _15
let _16 := convert_t_rational_minus_1_by_1_to_t_int256(expr_62) let _16 := convert_t_rational_minus_1_by_1_to_t_int256(expr_62)
let expr_64 := checked_exp_t_rational_minus_1_by_1_t_uint256(expr_63) let expr_64 := checked_exp_t_rational_minus_1_by_1_t_uint256(expr_63)
vloc_x_28 := expr_64 var_x_28 := expr_64
let expr_65 := expr_64 let expr_65 := expr_64
let expr_68 := 0x01 let expr_68 := 0x01
let _17 := vloc_c_8 let _17 := var_c_8
let expr_69 := _17 let expr_69 := _17
let _18 := convert_t_rational_1_by_1_to_t_uint256(expr_68) let _18 := convert_t_rational_1_by_1_to_t_uint256(expr_68)
let expr_70 := checked_exp_t_rational_1_by_1_t_uint256(expr_69) let expr_70 := checked_exp_t_rational_1_by_1_t_uint256(expr_69)
vloc_y_36 := expr_70 var_y_36 := expr_70
let expr_71 := expr_70 let expr_71 := expr_70
let _19 := vloc_w_22 let _19 := var_w_22
let expr_73 := _19 let expr_73 := _19
let expr_77_component_1 := expr_73 let expr_77_component_1 := expr_73
let _20 := vloc_x_28 let _20 := var_x_28
let expr_74 := _20 let expr_74 := _20
let expr_77_component_2 := expr_74 let expr_77_component_2 := expr_74
let _21 := vloc_y_36 let _21 := var_y_36
let expr_75 := _21 let expr_75 := _21
let expr_77_component_3 := expr_75 let expr_77_component_3 := expr_75
let _22 := vloc_z_42 let _22 := var_z_42
let expr_76 := _22 let expr_76 := _22
let expr_77_component_4 := expr_76 let expr_77_component_4 := expr_76
vloc__13 := expr_77_component_1 var__13 := expr_77_component_1
vloc__15 := expr_77_component_2 var__15 := expr_77_component_2
vloc__17 := expr_77_component_3 var__17 := expr_77_component_3
vloc__19 := expr_77_component_4 var__19 := expr_77_component_4
leave leave
} }

View File

@ -51,14 +51,14 @@ object "C_59" {
dst := add(dst, _2) dst := add(dst, _2)
src := add(src, _2) src := add(src, _2)
} }
let ret, ret_1 := fun_sumArray_58(dst_1) let ret, ret_1 := fun_sumArray(dst_1)
let memPos := allocate_memory(_1) let memPos := allocate_memory(_1)
return(memPos, sub(abi_encode_uint256_t_string(memPos, ret, ret_1), memPos)) return(memPos, sub(abi_encode_uint256_string(memPos, ret, ret_1), memPos))
} }
} }
revert(0, 0) revert(0, 0)
} }
function abi_encode_uint256_t_string(headStart, value0, value1) -> tail function abi_encode_uint256_string(headStart, value0, value1) -> tail
{ {
mstore(headStart, value0) mstore(headStart, value0)
let _1 := 32 let _1 := 32
@ -97,23 +97,23 @@ object "C_59" {
{ {
value := shr(mul(offset, 8), slot_value) value := shr(mul(offset, 8), slot_value)
} }
function fun_sumArray_58(vloc__s_22_mpos) -> vloc, vloc__27_mpos function fun_sumArray(var_s_mpos) -> var, var_mpos
{ {
if iszero(lt(vloc, mload(vloc__s_22_mpos))) { panic_error_0x32() } if iszero(lt(var_mpos, mload(var_s_mpos))) { panic_error_0x32() }
let _1 := mload(mload(add(add(vloc__s_22_mpos, mul(vloc, 32)), 32))) let _1 := mload(mload(add(add(var_s_mpos, mul(var_mpos, 32)), 32)))
let _2, _3 := storage_array_index_access$_t_struct$_S_storage(vloc, vloc) let _2, _3 := storage_array_index_access_struct_S(var_mpos, var_mpos)
sstore(_2, _1) sstore(_2, _1)
if iszero(lt(0x01, mload(vloc__s_22_mpos))) { panic_error_0x32() } if iszero(lt(0x01, mload(var_s_mpos))) { panic_error_0x32() }
let _4 := mload(mload(add(vloc__s_22_mpos, 64))) let _4 := mload(mload(add(var_s_mpos, 64)))
if iszero(lt(vloc, 0x02)) { panic_error_0x32() } if iszero(lt(var_mpos, 0x02)) { panic_error_0x32() }
let slot := add(0x02, vloc) let slot := add(0x02, var_mpos)
let _5 := sload(slot) let _5 := sload(slot)
let shiftBits := mul(vloc, 8) let shiftBits := mul(var_mpos, 8)
let mask := shl(shiftBits, not(0)) let mask := shl(shiftBits, not(0))
sstore(slot, or(and(_5, not(mask)), and(shl(shiftBits, _4), mask))) sstore(slot, or(and(_5, not(mask)), and(shl(shiftBits, _4), mask)))
let _6, _7 := storage_array_index_access$_t_struct$_S_storage(0x02, vloc) let _6, _7 := storage_array_index_access_struct_S(0x02, var_mpos)
vloc := extract_from_storage_value_dynamict_uint256(sload(_6), _7) var := extract_from_storage_value_dynamict_uint256(sload(_6), _7)
vloc__27_mpos := copy_literal_to_memory_64902fd228f7ef267f3b474dd6ef84bae434cf5546eee948e7ca26df3eda1927() var_mpos := copy_literal_to_memory_64902fd228f7ef267f3b474dd6ef84bae434cf5546eee948e7ca26df3eda1927()
} }
function panic_error_0x32() function panic_error_0x32()
{ {
@ -127,7 +127,7 @@ object "C_59" {
mstore(4, 0x41) mstore(4, 0x41)
revert(0, 0x24) revert(0, 0x24)
} }
function storage_array_index_access$_t_struct$_S_storage(array, index) -> slot, offset function storage_array_index_access_struct_S(array, index) -> slot, offset
{ {
if iszero(lt(index, 0x02)) { panic_error_0x32() } if iszero(lt(index, 0x02)) { panic_error_0x32() }
slot := add(array, index) slot := add(array, index)

View File

@ -27,26 +27,26 @@ object "Arraysum_34" {
{ {
if callvalue() { revert(_1, _1) } if callvalue() { revert(_1, _1) }
if slt(add(calldatasize(), not(3)), _1) { revert(_1, _1) } if slt(add(calldatasize(), not(3)), _1) { revert(_1, _1) }
let vloc_sum := _1 let var_sum := _1
let vloc_i := _1 let var_i := _1
let _2 := sload(_1) let _2 := sload(_1)
for { } for { }
lt(vloc_i, _2) lt(var_i, _2)
{ {
if eq(vloc_i, not(0)) { panic_error_0x11() } if eq(var_i, not(0)) { panic_error_0x11() }
vloc_i := add(vloc_i, 1) var_i := add(var_i, 1)
} }
{ {
mstore(_1, _1) mstore(_1, _1)
vloc_sum := checked_add_t_uint256(vloc_sum, sload(add(keccak256(_1, 0x20), vloc_i))) var_sum := checked_add_uint256(var_sum, sload(add(keccak256(_1, 0x20), var_i)))
} }
let memPos := allocate_memory(_1) let memPos := allocate_memory(_1)
return(memPos, sub(abi_encode_uint(memPos, vloc_sum), memPos)) return(memPos, sub(abi_encode_uint256(memPos, var_sum), memPos))
} }
} }
revert(0, 0) revert(0, 0)
} }
function abi_encode_uint(headStart, value0) -> tail function abi_encode_uint256(headStart, value0) -> tail
{ {
tail := add(headStart, 32) tail := add(headStart, 32)
mstore(headStart, value0) mstore(headStart, value0)
@ -63,7 +63,7 @@ object "Arraysum_34" {
} }
mstore(64, newFreePtr) mstore(64, newFreePtr)
} }
function checked_add_t_uint256(x, y) -> sum function checked_add_uint256(x, y) -> sum
{ {
if gt(x, not(y)) { panic_error_0x11() } if gt(x, not(y)) { panic_error_0x11() }
sum := add(x, y) sum := add(x, y)

View File

@ -137,7 +137,7 @@ object \"D_16\" {
if iszero(expr_12_address) { revert_forward_1() } if iszero(expr_12_address) { revert_forward_1() }
let vloc_c_8_address := expr_12_address let var_c_8_address := expr_12_address
} }

View File

@ -85,12 +85,12 @@ object "test_11" {
mstore(64, newFreePtr) mstore(64, newFreePtr)
} }
function fun_f_10() -> vloc__5 { function fun_f_10() -> var__5 {
let zero_value_for_type_t_bool_1 := zero_value_for_split_t_bool() let zero_t_bool_1 := zero_value_for_split_t_bool()
vloc__5 := zero_value_for_type_t_bool_1 var__5 := zero_t_bool_1
let expr_7 := 0x01 let expr_7 := 0x01
vloc__5 := expr_7 var__5 := expr_7
leave leave
} }

View File

@ -21,13 +21,13 @@ object "C_7" {
mstore(64, 128) mstore(64, 128)
if iszero(lt(calldatasize(), 4)) if iszero(lt(calldatasize(), 4))
{ {
let selector := shift_right_224_unsigned(calldataload(0)) let selector := shift_right_unsigned(calldataload(0))
pop(selector) pop(selector)
} }
pop(iszero(calldatasize())) pop(iszero(calldatasize()))
revert(0, 0) revert(0, 0)
} }
function shift_right_224_unsigned(value) -> newValue function shift_right_unsigned(value) -> newValue
{ newValue := shr(224, value) } { newValue := shr(224, value) }
} }
} }

View File

@ -136,11 +136,11 @@ object \"C_11\" {
mstore(64, newFreePtr) mstore(64, newFreePtr)
} }
function fun_f_10() -> vloc__5_mpos { function fun_f_10() -> var__5_mpos {
let zero_value_for_type_t_string_memory_ptr_1_mpos := zero_value_for_split_t_string_memory_ptr() let zero_t_string_memory_ptr_1_mpos := zero_value_for_split_t_string_memory_ptr()
vloc__5_mpos := zero_value_for_type_t_string_memory_ptr_1_mpos var__5_mpos := zero_t_string_memory_ptr_1_mpos
vloc__5_mpos := convert_t_stringliteral_9f0adad0a59b05d2e04a1373342b10b9eb16c57c164c8a3bfcbf46dccee39a21_to_t_string_memory_ptr() var__5_mpos := convert_t_stringliteral_9f0adad0a59b05d2e04a1373342b10b9eb16c57c164c8a3bfcbf46dccee39a21_to_t_string_memory_ptr()
leave leave
} }

View File

@ -88,11 +88,11 @@ object \"C_11\" {
mstore(64, newFreePtr) mstore(64, newFreePtr)
} }
function fun_f_10() -> vloc__5 { function fun_f_10() -> var__5 {
let zero_value_for_type_t_bytes32_1 := zero_value_for_split_t_bytes32() let zero_t_bytes32_1 := zero_value_for_split_t_bytes32()
vloc__5 := zero_value_for_type_t_bytes32_1 var__5 := zero_t_bytes32_1
vloc__5 := convert_t_stringliteral_9f0adad0a59b05d2e04a1373342b10b9eb16c57c164c8a3bfcbf46dccee39a21_to_t_bytes32() var__5 := convert_t_stringliteral_9f0adad0a59b05d2e04a1373342b10b9eb16c57c164c8a3bfcbf46dccee39a21_to_t_bytes32()
leave leave
} }

View File

@ -92,12 +92,12 @@ object \"C_11\" {
mstore(64, newFreePtr) mstore(64, newFreePtr)
} }
function fun_f_10() -> vloc__5 { function fun_f_10() -> var__5 {
let zero_value_for_type_t_bytes4_1 := zero_value_for_split_t_bytes4() let zero_t_bytes4_1 := zero_value_for_split_t_bytes4()
vloc__5 := zero_value_for_type_t_bytes4_1 var__5 := zero_t_bytes4_1
let expr_7 := 0x61626364 let expr_7 := 0x61626364
vloc__5 := convert_t_rational_1633837924_by_1_to_t_bytes4(expr_7) var__5 := convert_t_rational_1633837924_by_1_to_t_bytes4(expr_7)
leave leave
} }

View File

@ -136,11 +136,11 @@ object \"C_11\" {
mstore(64, newFreePtr) mstore(64, newFreePtr)
} }
function fun_f_10() -> vloc__5_mpos { function fun_f_10() -> var__5_mpos {
let zero_value_for_type_t_string_memory_ptr_1_mpos := zero_value_for_split_t_string_memory_ptr() let zero_t_string_memory_ptr_1_mpos := zero_value_for_split_t_string_memory_ptr()
vloc__5_mpos := zero_value_for_type_t_string_memory_ptr_1_mpos var__5_mpos := zero_t_string_memory_ptr_1_mpos
vloc__5_mpos := convert_t_stringliteral_d6604f85ac07e2b33103a620b3d3d75b0473c7214912beded67b9b624d41c571_to_t_string_memory_ptr() var__5_mpos := convert_t_stringliteral_d6604f85ac07e2b33103a620b3d3d75b0473c7214912beded67b9b624d41c571_to_t_string_memory_ptr()
leave leave
} }

View File

@ -92,12 +92,12 @@ object \"C_11\" {
mstore(64, newFreePtr) mstore(64, newFreePtr)
} }
function fun_f_10() -> vloc__5 { function fun_f_10() -> var__5 {
let zero_value_for_type_t_bytes4_1 := zero_value_for_split_t_bytes4() let zero_t_bytes4_1 := zero_value_for_split_t_bytes4()
vloc__5 := zero_value_for_type_t_bytes4_1 var__5 := zero_t_bytes4_1
let expr_7 := 0xaabbccdd let expr_7 := 0xaabbccdd
vloc__5 := convert_t_rational_2864434397_by_1_to_t_bytes4(expr_7) var__5 := convert_t_rational_2864434397_by_1_to_t_bytes4(expr_7)
leave leave
} }

View File

@ -1081,13 +1081,13 @@
// let _2 := mload(0) // let _2 := mload(0)
// if slt(sub(_1, _2), 64) { revert(0, 0) } // if slt(sub(_1, _2), 64) { revert(0, 0) }
// sstore(0, and(calldataload(_2), sub(shl(160, 1), 1))) // sstore(0, and(calldataload(_2), sub(shl(160, 1), 1)))
// let x0, x1, x2, x3, x4 := abi_decode_addresst_uint256t_bytes_calldatat_enum$_Operation(mload(7), mload(8)) // let x0, x1, x2, x3, x4 := abi_decode_addresst_uint256t_bytes_calldatat_enum_Operation(mload(7), mload(8))
// sstore(x1, x0) // sstore(x1, x0)
// sstore(x3, x2) // sstore(x3, x2)
// sstore(1, x4) // sstore(1, x4)
// pop(abi_encode_bytes32_t_address_t_uint256_t_bytes32_t_enum$_Operation_t_uint256_t_uint256_t_uint256_t_address_t_address_t_uint(mload(30), mload(31), mload(32), mload(33), mload(34), mload(35), mload(36), mload(37), mload(38), mload(39), mload(40), mload(41))) // pop(abi_encode_bytes32_address_uint256_bytes32_enum_Operation_uint256_uint256_uint256_address_address_uint256(mload(30), mload(31), mload(32), mload(33), mload(34), mload(35), mload(36), mload(37), mload(38), mload(39), mload(40), mload(41)))
// } // }
// function abi_decode_addresst_uint256t_bytes_calldatat_enum$_Operation(headStart, dataEnd) -> value0, value1, value2, value3, value4 // function abi_decode_addresst_uint256t_bytes_calldatat_enum_Operation(headStart, dataEnd) -> value0, value1, value2, value3, value4
// { // {
// if slt(sub(dataEnd, headStart), 128) { revert(value4, value4) } // if slt(sub(dataEnd, headStart), 128) { revert(value4, value4) }
// value0 := and(calldataload(headStart), sub(shl(160, 1), 1)) // value0 := and(calldataload(headStart), sub(shl(160, 1), 1))
@ -1106,7 +1106,7 @@
// if iszero(lt(_3, 3)) { revert(value4, value4) } // if iszero(lt(_3, 3)) { revert(value4, value4) }
// value4 := _3 // value4 := _3
// } // }
// function abi_encode_bytes32_t_address_t_uint256_t_bytes32_t_enum$_Operation_t_uint256_t_uint256_t_uint256_t_address_t_address_t_uint(headStart, value10, value9, value8, value7, value6, value5, value4, value3, value2, value1, value0) -> tail // function abi_encode_bytes32_address_uint256_bytes32_enum_Operation_uint256_uint256_uint256_address_address_uint256(headStart, value10, value9, value8, value7, value6, value5, value4, value3, value2, value1, value0) -> tail
// { // {
// tail := add(headStart, 352) // tail := add(headStart, 352)
// mstore(headStart, value0) // mstore(headStart, value0)

View File

@ -486,17 +486,17 @@
// srcPtr := add(srcPtr, 0x20) // srcPtr := add(srcPtr, 0x20)
// pos := add(pos, 0x60) // pos := add(pos, 0x60)
// } // }
// let a, b, c, d := abi_decode_uint256t_uint256t_array$_t_uint256_$dynt_array$_t_array$_t_uint256_memory_$dyn(mload(0x20), mload(64)) // let a, b, c, d := abi_decode_uint256t_uint256t_array_uint256_dynt_array_array_uint256_memory_dyn(mload(0x20), mload(64))
// sstore(a, b) // sstore(a, b)
// sstore(c, d) // sstore(c, d)
// sstore(_1, pos) // sstore(_1, pos)
// } // }
// function abi_decode_t_array$_t_array$_t_uint256_memory_$dyn(offset, end) -> array // function abi_decode_array_array_uint256_memory_dyn(offset, end) -> array
// { // {
// let _1 := 0x1f // let _1 := 0x1f
// if iszero(slt(add(offset, _1), end)) { revert(array, array) } // if iszero(slt(add(offset, _1), end)) { revert(array, array) }
// let length := calldataload(offset) // let length := calldataload(offset)
// array := allocateMemory(array_allocation_size_t_array$_t_address_$dyn_memory(length)) // array := allocateMemory(array_allocation_size_array_address_dyn_memory(length))
// let dst := array // let dst := array
// mstore(array, length) // mstore(array, length)
// let _2 := 0x20 // let _2 := 0x20
@ -525,7 +525,7 @@
// src := _4 // src := _4
// } // }
// } // }
// function abi_decode_uint256t_uint256t_array$_t_uint256_$dynt_array$_t_array$_t_uint256_memory_$dyn(headStart, dataEnd) -> value0, value1, value2, value3 // function abi_decode_uint256t_uint256t_array_uint256_dynt_array_array_uint256_memory_dyn(headStart, dataEnd) -> value0, value1, value2, value3
// { // {
// if slt(sub(dataEnd, headStart), 128) { revert(value2, value2) } // if slt(sub(dataEnd, headStart), 128) { revert(value2, value2) }
// value0 := calldataload(headStart) // value0 := calldataload(headStart)
@ -537,7 +537,7 @@
// let _3 := add(headStart, offset) // let _3 := add(headStart, offset)
// if iszero(slt(add(_3, 0x1f), dataEnd)) { revert(value2, value2) } // if iszero(slt(add(_3, 0x1f), dataEnd)) { revert(value2, value2) }
// let length := calldataload(_3) // let length := calldataload(_3)
// let dst := allocateMemory(array_allocation_size_t_array$_t_address_$dyn_memory(length)) // let dst := allocateMemory(array_allocation_size_array_address_dyn_memory(length))
// let dst_1 := dst // let dst_1 := dst
// mstore(dst, length) // mstore(dst, length)
// dst := add(dst, _1) // dst := add(dst, _1)
@ -553,7 +553,7 @@
// value2 := dst_1 // value2 := dst_1
// let offset_1 := calldataload(add(headStart, 96)) // let offset_1 := calldataload(add(headStart, 96))
// if gt(offset_1, _2) { revert(value3, value3) } // if gt(offset_1, _2) { revert(value3, value3) }
// value3 := abi_decode_t_array$_t_array$_t_uint256_memory_$dyn(add(headStart, offset_1), dataEnd) // value3 := abi_decode_array_array_uint256_memory_dyn(add(headStart, offset_1), dataEnd)
// } // }
// function allocateMemory(size) -> memPtr // function allocateMemory(size) -> memPtr
// { // {
@ -562,7 +562,7 @@
// if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { revert(0, 0) } // if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { revert(0, 0) }
// mstore(64, newFreePtr) // mstore(64, newFreePtr)
// } // }
// function array_allocation_size_t_array$_t_address_$dyn_memory(length) -> size // function array_allocation_size_array_address_dyn_memory(length) -> size
// { // {
// if gt(length, 0xffffffffffffffff) { revert(size, size) } // if gt(length, 0xffffffffffffffff) { revert(size, size) }
// size := add(mul(length, 0x20), 0x20) // size := add(mul(length, 0x20), 0x20)

View File

@ -36,16 +36,16 @@
// //
// { // {
// { // {
// let a, b := abi_decode_t_bytes_calldata(mload(0), mload(1)) // let a, b := abi_decode_bytes_calldata(mload(0), mload(1))
// let a_1, b_1 := abi_decode_t_bytes_calldata(a, b) // let a_1, b_1 := abi_decode_bytes_calldata(a, b)
// let a_2, b_2 := abi_decode_t_bytes_calldata(a_1, b_1) // let a_2, b_2 := abi_decode_bytes_calldata(a_1, b_1)
// let a_3, b_3 := abi_decode_t_bytes_calldata(a_2, b_2) // let a_3, b_3 := abi_decode_bytes_calldata(a_2, b_2)
// let a_4, b_4 := abi_decode_t_bytes_calldata(a_3, b_3) // let a_4, b_4 := abi_decode_bytes_calldata(a_3, b_3)
// let a_5, b_5 := abi_decode_t_bytes_calldata(a_4, b_4) // let a_5, b_5 := abi_decode_bytes_calldata(a_4, b_4)
// let a_6, b_6 := abi_decode_t_bytes_calldata(a_5, b_5) // let a_6, b_6 := abi_decode_bytes_calldata(a_5, b_5)
// mstore(a_6, b_6) // mstore(a_6, b_6)
// } // }
// function abi_decode_t_bytes_calldata(offset, end) -> arrayPos, length // function abi_decode_bytes_calldata(offset, end) -> arrayPos, length
// { // {
// if iszero(slt(add(offset, 0x1f), end)) { revert(arrayPos, arrayPos) } // if iszero(slt(add(offset, 0x1f), end)) { revert(arrayPos, arrayPos) }
// length := calldataload(offset) // length := calldataload(offset)