Refactor Optimiser Steps Interface.

This commit is contained in:
chriseth
2019-09-24 14:52:01 +02:00
parent c4208a6ab8
commit 9ce1ca2340
49 changed files with 674 additions and 293 deletions
+5 -5
View File
@@ -25,6 +25,7 @@
#include <libyul/optimiser/NameCollector.h>
#include <libyul/optimiser/Substitution.h>
#include <libyul/optimiser/Semantics.h>
#include <libyul/optimiser/OptimiserStep.h>
#include <libyul/AsmData.h>
@@ -32,13 +33,12 @@ using namespace std;
using namespace dev;
using namespace yul;
void ExpressionInliner::run()
void ExpressionInliner::run(OptimiserStepContext& _context, Block& _ast)
{
InlinableExpressionFunctionFinder funFinder;
funFinder(m_block);
m_inlinableFunctions = funFinder.inlinableFunctions();
(*this)(m_block);
funFinder(_ast);
ExpressionInliner inliner{_context.dialect, funFinder.inlinableFunctions()};
inliner(_ast);
}
void ExpressionInliner::operator()(FunctionDefinition& _fun)