diff options
author | Daniel Kirchner <daniel@ekpyron.org> | 2019-01-11 03:29:30 +0800 |
---|---|---|
committer | Daniel Kirchner <daniel@ekpyron.org> | 2019-01-16 00:21:03 +0800 |
commit | 81f24f24e6d827d45b1ae1b22e88388d30db3dd0 (patch) | |
tree | 8ee5ba7ba90b8dcee23437d0acc120d20347c320 /libyul/optimiser/Suite.cpp | |
parent | 6146c59a1aa4c082226a6051aa89a28446b0041d (diff) | |
download | dexon-solidity-81f24f24e6d827d45b1ae1b22e88388d30db3dd0.tar.gz dexon-solidity-81f24f24e6d827d45b1ae1b22e88388d30db3dd0.tar.zst dexon-solidity-81f24f24e6d827d45b1ae1b22e88388d30db3dd0.zip |
Add equivalent function combiner as Yul optimizer step.
Diffstat (limited to 'libyul/optimiser/Suite.cpp')
-rw-r--r-- | libyul/optimiser/Suite.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/libyul/optimiser/Suite.cpp b/libyul/optimiser/Suite.cpp index 48914cf8..38c0bf49 100644 --- a/libyul/optimiser/Suite.cpp +++ b/libyul/optimiser/Suite.cpp @@ -25,6 +25,7 @@ #include <libyul/optimiser/BlockFlattener.h> #include <libyul/optimiser/FunctionGrouper.h> #include <libyul/optimiser/FunctionHoister.h> +#include <libyul/optimiser/EquivalentFunctionCombiner.h> #include <libyul/optimiser/ExpressionSplitter.h> #include <libyul/optimiser/ExpressionJoiner.h> #include <libyul/optimiser/ExpressionInliner.h> @@ -62,6 +63,8 @@ void OptimiserSuite::run( (FunctionHoister{})(ast); (BlockFlattener{})(ast); (FunctionGrouper{})(ast); + EquivalentFunctionCombiner::run(ast); + UnusedPruner::runUntilStabilised(_dialect, ast, reservedIdentifiers); (ForLoopInitRewriter{})(ast); (BlockFlattener{})(ast); StructuralSimplifier{_dialect}(ast); @@ -101,6 +104,7 @@ void OptimiserSuite::run( CommonSubexpressionEliminator{_dialect}(ast); (FunctionGrouper{})(ast); + EquivalentFunctionCombiner::run(ast); FullInliner{ast, dispenser}.run(); SSATransform::run(ast, dispenser); |