[Yul] Run optimizer on all dialects.

This commit is contained in:
chriseth
2019-06-19 10:01:16 +02:00
parent ee89a0353e
commit cc5045a56e
8 changed files with 29 additions and 20 deletions
+6 -2
View File
@@ -60,7 +60,7 @@ using namespace yul;
void OptimiserSuite::run(
Dialect const& _dialect,
GasMeter const& _meter,
GasMeter const* _meter,
Block& _ast,
AsmAnalysisInfo const& _analysisInfo,
bool _optimizeStackAllocation,
@@ -68,6 +68,7 @@ void OptimiserSuite::run(
)
{
set<YulString> reservedIdentifiers = _externallyUsedIdentifiers;
reservedIdentifiers += _dialect.fixedFunctionNames();
Block ast = boost::get<Block>(Disambiguator(_dialect, _analysisInfo, reservedIdentifiers)(_ast));
@@ -210,7 +211,10 @@ void OptimiserSuite::run(
FunctionGrouper{}(ast);
if (EVMDialect const* dialect = dynamic_cast<EVMDialect const*>(&_dialect))
ConstantOptimiser{*dialect, _meter}(ast);
{
yulAssert(_meter, "");
ConstantOptimiser{*dialect, *_meter}(ast);
}
VarNameCleaner{ast, _dialect, reservedIdentifiers}(ast);
yul::AsmAnalyzer::analyzeStrictAssertCorrect(_dialect, ast);