mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
Yul Optimizer: Remove dead code
This commit is contained in:
@@ -23,6 +23,7 @@
|
||||
#include <libyul/optimiser/Disambiguator.h>
|
||||
#include <libyul/optimiser/VarDeclInitializer.h>
|
||||
#include <libyul/optimiser/BlockFlattener.h>
|
||||
#include <libyul/optimiser/DeadCodeEliminator.h>
|
||||
#include <libyul/optimiser/FunctionGrouper.h>
|
||||
#include <libyul/optimiser/FunctionHoister.h>
|
||||
#include <libyul/optimiser/EquivalentFunctionCombiner.h>
|
||||
@@ -70,6 +71,7 @@ void OptimiserSuite::run(
|
||||
VarDeclInitializer{}(ast);
|
||||
FunctionHoister{}(ast);
|
||||
BlockFlattener{}(ast);
|
||||
DeadCodeEliminator{}(ast);
|
||||
FunctionGrouper{}(ast);
|
||||
EquivalentFunctionCombiner::run(ast);
|
||||
UnusedPruner::runUntilStabilised(*_dialect, ast, reservedIdentifiers);
|
||||
@@ -107,6 +109,7 @@ void OptimiserSuite::run(
|
||||
// still in SSA, perform structural simplification
|
||||
StructuralSimplifier{*_dialect}(ast);
|
||||
BlockFlattener{}(ast);
|
||||
DeadCodeEliminator{}(ast);
|
||||
UnusedPruner::runUntilStabilised(*_dialect, ast, reservedIdentifiers);
|
||||
}
|
||||
{
|
||||
@@ -158,6 +161,7 @@ void OptimiserSuite::run(
|
||||
ExpressionSimplifier::run(*_dialect, ast);
|
||||
StructuralSimplifier{*_dialect}(ast);
|
||||
BlockFlattener{}(ast);
|
||||
DeadCodeEliminator{}(ast);
|
||||
CommonSubexpressionEliminator{*_dialect}(ast);
|
||||
SSATransform::run(ast, dispenser);
|
||||
RedundantAssignEliminator::run(*_dialect, ast);
|
||||
@@ -192,6 +196,7 @@ void OptimiserSuite::run(
|
||||
// message once we perform code generation.
|
||||
StackCompressor::run(_dialect, ast, _optimizeStackAllocation, stackCompressorMaxIterations);
|
||||
BlockFlattener{}(ast);
|
||||
DeadCodeEliminator{}(ast);
|
||||
|
||||
VarNameCleaner{ast, *_dialect, reservedIdentifiers}(ast);
|
||||
yul::AsmAnalyzer::analyzeStrictAssertCorrect(_dialect, ast);
|
||||
|
||||
Reference in New Issue
Block a user