mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
Rematerialize zero literals
This commit is contained in:
@@ -158,6 +158,10 @@ void CodeCost::operator()(Literal const& _literal)
|
||||
case LiteralKind::Number:
|
||||
for (u256 n = u256(_literal.value.str()); n >= 0x100; n >>= 8)
|
||||
cost++;
|
||||
if (valueOfLiteral(_literal) == 0)
|
||||
if (auto evmDialect = dynamic_cast<EVMDialect const*>(&m_dialect))
|
||||
if (evmDialect->evmVersion().hasPush0())
|
||||
--m_cost;
|
||||
break;
|
||||
case LiteralKind::String:
|
||||
cost = _literal.value.str().size();
|
||||
|
||||
Reference in New Issue
Block a user