Constant optimiser for Yul.

This commit is contained in:
chriseth
2019-05-28 11:35:07 +02:00
parent 4407af53b5
commit 1c16124a09
16 changed files with 375 additions and 16 deletions
+4
View File
@@ -24,6 +24,7 @@
#include <libyul/optimiser/VarDeclInitializer.h>
#include <libyul/optimiser/BlockFlattener.h>
#include <libyul/optimiser/ControlFlowSimplifier.h>
#include <libyul/optimiser/ConstantOptimiser.h>
#include <libyul/optimiser/DeadCodeEliminator.h>
#include <libyul/optimiser/FunctionGrouper.h>
#include <libyul/optimiser/FunctionHoister.h>
@@ -59,6 +60,7 @@ using namespace yul;
void OptimiserSuite::run(
Dialect const& _dialect,
GasMeter const& _meter,
Block& _ast,
AsmAnalysisInfo const& _analysisInfo,
bool _optimizeStackAllocation,
@@ -206,6 +208,8 @@ void OptimiserSuite::run(
ControlFlowSimplifier{_dialect}(ast);
FunctionGrouper{}(ast);
ConstantOptimiser{dynamic_cast<EVMDialect const&>(_dialect), _meter}(ast);
VarNameCleaner{ast, _dialect, reservedIdentifiers}(ast);
yul::AsmAnalyzer::analyzeStrictAssertCorrect(_dialect, ast);