Yul: Introduces a block flattening pass + tests

This commit is contained in:
Christian Parpart
2018-10-15 18:21:34 +02:00
committed by Christian Parpart
parent 2384947521
commit 04612936c2
8 changed files with 171 additions and 2 deletions
+6
View File
@@ -21,6 +21,7 @@
#include <test/Options.h>
#include <libyul/optimiser/BlockFlattener.h>
#include <libyul/optimiser/Disambiguator.h>
#include <libyul/optimiser/CommonSubexpressionEliminator.h>
#include <libyul/optimiser/NameCollector.h>
@@ -93,6 +94,11 @@ bool YulOptimizerTest::run(ostream& _stream, string const& _linePrefix, bool con
if (m_optimizerStep == "disambiguator")
disambiguate();
else if (m_optimizerStep == "blockFlattener")
{
disambiguate();
BlockFlattener{}(*m_ast);
}
else if (m_optimizerStep == "commonSubexpressionEliminator")
{
disambiguate();