Merge pull request #2102 from chriseth/sol_iszeroiszero

Optimize double ISZERO.
This commit is contained in:
Gav Wood 2015-06-07 14:12:29 +09:00
commit 523fd10c54

View File

@ -440,6 +440,16 @@ BOOST_AUTO_TEST_CASE(cse_double_negation)
checkCSE({Instruction::DUP5, Instruction::NOT, Instruction::NOT}, {Instruction::DUP5}); checkCSE({Instruction::DUP5, Instruction::NOT, Instruction::NOT}, {Instruction::DUP5});
} }
BOOST_AUTO_TEST_CASE(cse_double_iszero)
{
checkCSE({Instruction::GT, Instruction::ISZERO, Instruction::ISZERO}, {Instruction::GT});
checkCSE({Instruction::GT, Instruction::ISZERO}, {Instruction::GT, Instruction::ISZERO});
checkCSE(
{Instruction::ISZERO, Instruction::ISZERO, Instruction::ISZERO},
{Instruction::ISZERO}
);
}
BOOST_AUTO_TEST_CASE(cse_associativity) BOOST_AUTO_TEST_CASE(cse_associativity)
{ {
AssemblyItems input{ AssemblyItems input{