Add toEVMInstruction helper

Co-authored-by: Harikrishnan Mulackal <webmail.hari@gmail.com>
This commit is contained in:
Alex Beregszaszi
2021-04-23 22:56:50 +01:00
co-authored by Harikrishnan Mulackal
parent 1db3278f6a
commit d508544340
5 changed files with 32 additions and 19 deletions
+10
View File
@@ -21,6 +21,8 @@
#include <libyul/optimiser/OptimizerUtilities.h>
#include <libyul/backends/evm/EVMDialect.h>
#include <libyul/Dialect.h>
#include <libyul/AST.h>
@@ -47,3 +49,11 @@ bool yul::isRestrictedIdentifier(Dialect const& _dialect, YulString const& _iden
{
return _identifier.empty() || TokenTraits::isYulKeyword(_identifier.str()) || _dialect.reservedIdentifier(_identifier);
}
optional<evmasm::Instruction> yul::toEVMInstruction(Dialect const& _dialect, YulString const& _name)
{
if (auto const* dialect = dynamic_cast<EVMDialect const*>(&_dialect))
if (BuiltinFunctionForEVM const* builtin = dialect->builtin(_name))
return builtin->instruction;
return nullopt;
}