Stack compressor.

This commit is contained in:
chriseth
2019-02-11 15:48:29 +01:00
parent 5a34743d88
commit 83083d2208
12 changed files with 282 additions and 49 deletions
+8
View File
@@ -42,6 +42,7 @@
#include <libyul/optimiser/SSATransform.h>
#include <libyul/optimiser/RedundantAssignEliminator.h>
#include <libyul/optimiser/StructuralSimplifier.h>
#include <libyul/optimiser/StackCompressor.h>
#include <libyul/optimiser/Suite.h>
#include <libyul/backends/evm/EVMDialect.h>
#include <libyul/AsmPrinter.h>
@@ -241,6 +242,13 @@ bool YulOptimizerTest::run(ostream& _stream, string const& _linePrefix, bool con
CommonSubexpressionEliminator{*m_dialect}(*m_ast);
UnusedPruner::runUntilStabilised(*m_dialect, *m_ast);
}
else if (m_optimizerStep == "stackCompressor")
{
disambiguate();
(FunctionGrouper{})(*m_ast);
StackCompressor::run(m_dialect, *m_ast);
(BlockFlattener{})(*m_ast);
}
else if (m_optimizerStep == "fullSuite")
OptimiserSuite::run(m_dialect, *m_ast, *m_analysisInfo);
else