diff options
author | chriseth <chris@ethereum.org> | 2018-10-12 03:16:37 +0800 |
---|---|---|
committer | chriseth <chris@ethereum.org> | 2018-10-16 22:18:39 +0800 |
commit | ffe44536fe30381f8365b7ce9276660be5a6656b (patch) | |
tree | e64f5582273d8a7124dbecb107b2ba38e8001658 /test/libyul/YulOptimizerTest.cpp | |
parent | a320eec7d38f98a1fbb9f6267e5e30cfae5c59cf (diff) | |
download | dexon-solidity-ffe44536fe30381f8365b7ce9276660be5a6656b.tar dexon-solidity-ffe44536fe30381f8365b7ce9276660be5a6656b.tar.gz dexon-solidity-ffe44536fe30381f8365b7ce9276660be5a6656b.tar.bz2 dexon-solidity-ffe44536fe30381f8365b7ce9276660be5a6656b.tar.lz dexon-solidity-ffe44536fe30381f8365b7ce9276660be5a6656b.tar.xz dexon-solidity-ffe44536fe30381f8365b7ce9276660be5a6656b.tar.zst dexon-solidity-ffe44536fe30381f8365b7ce9276660be5a6656b.zip |
Add a "full simplify" test that applies multiple elementary transforms.
Diffstat (limited to 'test/libyul/YulOptimizerTest.cpp')
-rw-r--r-- | test/libyul/YulOptimizerTest.cpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/test/libyul/YulOptimizerTest.cpp b/test/libyul/YulOptimizerTest.cpp index bbae9bb4..d1990edb 100644 --- a/test/libyul/YulOptimizerTest.cpp +++ b/test/libyul/YulOptimizerTest.cpp @@ -148,6 +148,18 @@ bool YulOptimizerTest::run(ostream& _stream, string const& _linePrefix, bool con disambiguate(); ExpressionSimplifier::run(*m_ast); } + else if (m_optimizerStep == "fullSimplify") + { + disambiguate(); + NameDispenser nameDispenser; + nameDispenser.m_usedNames = NameCollector(*m_ast).names(); + ExpressionSplitter{nameDispenser}(*m_ast); + CommonSubexpressionEliminator{}(*m_ast); + ExpressionSimplifier::run(*m_ast); + UnusedPruner::runUntilStabilised(*m_ast); + ExpressionJoiner::run(*m_ast); + ExpressionJoiner::run(*m_ast); + } else if (m_optimizerStep == "unusedPruner") { disambiguate(); |