Allow optimizer steps to run on FunctionDefinition and group suite.

This commit is contained in:
chriseth
2019-02-11 15:48:29 +01:00
parent b34e104173
commit 5a34743d88
11 changed files with 203 additions and 118 deletions
+11
View File
@@ -35,12 +35,23 @@ void Rematerialiser::run(Dialect const& _dialect, Block& _ast)
Rematerialiser{_dialect, _ast}(_ast);
}
void Rematerialiser::run(Dialect const& _dialect, FunctionDefinition& _function)
{
Rematerialiser{_dialect, _function}(_function);
}
Rematerialiser::Rematerialiser(Dialect const& _dialect, Block& _ast):
DataFlowAnalyzer(_dialect),
m_referenceCounts(ReferencesCounter::countReferences(_ast))
{
}
Rematerialiser::Rematerialiser(Dialect const& _dialect, FunctionDefinition& _function):
DataFlowAnalyzer(_dialect),
m_referenceCounts(ReferencesCounter::countReferences(_function))
{
}
void Rematerialiser::visit(Expression& _e)
{
if (_e.type() == typeid(Identifier))