Take user function side-effects into account for unused pruner.

This commit is contained in:
chriseth
2019-09-02 17:41:51 +02:00
parent 1c5845e3f2
commit 127bcfc69d
8 changed files with 72 additions and 26 deletions
+3 -1
View File
@@ -32,6 +32,7 @@
#include <libyul/optimiser/BlockFlattener.h>
#include <libyul/optimiser/Disambiguator.h>
#include <libyul/optimiser/CallGraphGenerator.h>
#include <libyul/optimiser/CommonSubexpressionEliminator.h>
#include <libyul/optimiser/ControlFlowSimplifier.h>
#include <libyul/optimiser/NameCollector.h>
@@ -54,6 +55,7 @@
#include <libyul/optimiser/SSATransform.h>
#include <libyul/optimiser/StackCompressor.h>
#include <libyul/optimiser/StructuralSimplifier.h>
#include <libyul/optimiser/Semantics.h>
#include <libyul/optimiser/VarDeclInitializer.h>
#include <libyul/optimiser/VarNameCleaner.h>
@@ -187,7 +189,7 @@ public:
(ControlFlowSimplifier{m_dialect})(*m_ast);
break;
case 'u':
UnusedPruner::runUntilStabilised(m_dialect, *m_ast);
UnusedPruner::runUntilStabilisedOnFullAST(m_dialect, *m_ast);
break;
case 'D':
DeadCodeEliminator{m_dialect}(*m_ast);