aboutsummaryrefslogtreecommitdiffstats
path: root/test/libyul/YulOptimizerTest.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'test/libyul/YulOptimizerTest.cpp')
-rw-r--r--test/libyul/YulOptimizerTest.cpp44
1 files changed, 22 insertions, 22 deletions
diff --git a/test/libyul/YulOptimizerTest.cpp b/test/libyul/YulOptimizerTest.cpp
index 0c782b17..1b392e0f 100644
--- a/test/libyul/YulOptimizerTest.cpp
+++ b/test/libyul/YulOptimizerTest.cpp
@@ -117,11 +117,11 @@ bool YulOptimizerTest::run(ostream& _stream, string const& _linePrefix, bool con
else if (m_optimizerStep == "commonSubexpressionEliminator")
{
disambiguate();
- (CommonSubexpressionEliminator{})(*m_ast);
+ (CommonSubexpressionEliminator{*m_dialect})(*m_ast);
}
else if (m_optimizerStep == "expressionSplitter")
{
- NameDispenser nameDispenser(*m_ast);
+ NameDispenser nameDispenser{*m_dialect, *m_ast};
ExpressionSplitter{nameDispenser}(*m_ast);
}
else if (m_optimizerStep == "expressionJoiner")
@@ -132,7 +132,7 @@ bool YulOptimizerTest::run(ostream& _stream, string const& _linePrefix, bool con
else if (m_optimizerStep == "splitJoin")
{
disambiguate();
- NameDispenser nameDispenser(*m_ast);
+ NameDispenser nameDispenser{*m_dialect, *m_ast};
ExpressionSplitter{nameDispenser}(*m_ast);
ExpressionJoiner::run(*m_ast);
ExpressionJoiner::run(*m_ast);
@@ -150,14 +150,14 @@ bool YulOptimizerTest::run(ostream& _stream, string const& _linePrefix, bool con
else if (m_optimizerStep == "expressionInliner")
{
disambiguate();
- ExpressionInliner(*m_ast).run();
+ ExpressionInliner(*m_dialect, *m_ast).run();
}
else if (m_optimizerStep == "fullInliner")
{
disambiguate();
(FunctionHoister{})(*m_ast);
(FunctionGrouper{})(*m_ast);
- NameDispenser nameDispenser(*m_ast);
+ NameDispenser nameDispenser{*m_dialect, *m_ast};
ExpressionSplitter{nameDispenser}(*m_ast);
FullInliner(*m_ast, nameDispenser).run();
ExpressionJoiner::run(*m_ast);
@@ -171,54 +171,54 @@ bool YulOptimizerTest::run(ostream& _stream, string const& _linePrefix, bool con
else if (m_optimizerStep == "rematerialiser")
{
disambiguate();
- Rematerialiser::run(*m_ast);
+ Rematerialiser::run(*m_dialect, *m_ast);
}
else if (m_optimizerStep == "expressionSimplifier")
{
disambiguate();
- ExpressionSimplifier::run(*m_ast);
+ ExpressionSimplifier::run(*m_dialect, *m_ast);
}
else if (m_optimizerStep == "fullSimplify")
{
disambiguate();
- NameDispenser nameDispenser(*m_ast);
+ NameDispenser nameDispenser{*m_dialect, *m_ast};
ExpressionSplitter{nameDispenser}(*m_ast);
- CommonSubexpressionEliminator{}(*m_ast);
- ExpressionSimplifier::run(*m_ast);
- UnusedPruner::runUntilStabilised(*m_ast);
+ CommonSubexpressionEliminator{*m_dialect}(*m_ast);
+ ExpressionSimplifier::run(*m_dialect, *m_ast);
+ UnusedPruner::runUntilStabilised(*m_dialect, *m_ast);
ExpressionJoiner::run(*m_ast);
ExpressionJoiner::run(*m_ast);
}
else if (m_optimizerStep == "unusedPruner")
{
disambiguate();
- UnusedPruner::runUntilStabilised(*m_ast);
+ UnusedPruner::runUntilStabilised(*m_dialect, *m_ast);
}
else if (m_optimizerStep == "ssaTransform")
{
disambiguate();
- NameDispenser nameDispenser(*m_ast);
+ NameDispenser nameDispenser{*m_dialect, *m_ast};
SSATransform::run(*m_ast, nameDispenser);
}
else if (m_optimizerStep == "redundantAssignEliminator")
{
disambiguate();
- RedundantAssignEliminator::run(*m_ast);
+ RedundantAssignEliminator::run(*m_dialect, *m_ast);
}
else if (m_optimizerStep == "ssaPlusCleanup")
{
disambiguate();
- NameDispenser nameDispenser(*m_ast);
+ NameDispenser nameDispenser{*m_dialect, *m_ast};
SSATransform::run(*m_ast, nameDispenser);
- RedundantAssignEliminator::run(*m_ast);
+ RedundantAssignEliminator::run(*m_dialect, *m_ast);
}
else if (m_optimizerStep == "structuralSimplifier")
{
disambiguate();
- StructuralSimplifier{}(*m_ast);
+ StructuralSimplifier{*m_dialect}(*m_ast);
}
else if (m_optimizerStep == "fullSuite")
- OptimiserSuite::run(*m_ast, *m_analysisInfo);
+ OptimiserSuite::run(*m_dialect, *m_ast, *m_analysisInfo);
else
{
FormattedScope(_stream, _formatted, {formatting::BOLD, formatting::RED}) << _linePrefix << "Invalid optimizer step: " << m_optimizerStep << endl;
@@ -260,11 +260,11 @@ void YulOptimizerTest::printIndented(ostream& _stream, string const& _output, st
bool YulOptimizerTest::parse(ostream& _stream, string const& _linePrefix, bool const _formatted)
{
- shared_ptr<yul::Dialect> dialect = m_yul ? yul::Dialect::yul() : yul::EVMDialect::strictAssemblyForEVM();
+ m_dialect = m_yul ? yul::Dialect::yul() : yul::EVMDialect::strictAssemblyForEVM();
ErrorList errors;
ErrorReporter errorReporter(errors);
shared_ptr<Scanner> scanner = make_shared<Scanner>(CharStream(m_source, ""));
- m_ast = yul::Parser(errorReporter, dialect).parse(scanner, false);
+ m_ast = yul::Parser(errorReporter, m_dialect).parse(scanner, false);
if (!m_ast || !errorReporter.errors().empty())
{
FormattedScope(_stream, _formatted, {formatting::BOLD, formatting::RED}) << _linePrefix << "Error parsing source." << endl;
@@ -277,7 +277,7 @@ bool YulOptimizerTest::parse(ostream& _stream, string const& _linePrefix, bool c
errorReporter,
dev::test::Options::get().evmVersion(),
boost::none,
- dialect
+ m_dialect
);
if (!analyzer.analyze(*m_ast) || !errorReporter.errors().empty())
{
@@ -290,7 +290,7 @@ bool YulOptimizerTest::parse(ostream& _stream, string const& _linePrefix, bool c
void YulOptimizerTest::disambiguate()
{
- *m_ast = boost::get<Block>(Disambiguator(*m_analysisInfo)(*m_ast));
+ *m_ast = boost::get<Block>(Disambiguator(*m_dialect, *m_analysisInfo)(*m_ast));
m_analysisInfo.reset();
}