mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
Use builtin iszero for for loop condition rewriting.
This commit is contained in:
committed by
Daniel Kirchner
parent
324cc71b13
commit
4f80117eef
@@ -70,6 +70,7 @@ struct EVMDialect: public Dialect
|
||||
|
||||
BuiltinFunctionForEVM const* discardFunction() const override { return builtin("pop"_yulstring); }
|
||||
BuiltinFunctionForEVM const* equalityFunction() const override { return builtin("eq"_yulstring); }
|
||||
BuiltinFunctionForEVM const* booleanNegationFunction() const override { return builtin("iszero"_yulstring); }
|
||||
|
||||
static EVMDialect const& looseAssemblyForEVM(langutil::EVMVersion _version);
|
||||
static EVMDialect const& strictAssemblyForEVM(langutil::EVMVersion _version);
|
||||
|
||||
@@ -47,6 +47,7 @@ struct WasmDialect: public Dialect
|
||||
BuiltinFunction const* builtin(YulString _name) const override;
|
||||
BuiltinFunction const* discardFunction() const override { return builtin("drop"_yulstring); }
|
||||
BuiltinFunction const* equalityFunction() const override { return builtin("i64.eq"_yulstring); }
|
||||
BuiltinFunction const* booleanNegationFunction() const override { return builtin("i64.eqz"_yulstring); }
|
||||
|
||||
std::set<YulString> fixedFunctionNames() const override { return {"main"_yulstring}; }
|
||||
|
||||
|
||||
Reference in New Issue
Block a user