aboutsummaryrefslogtreecommitdiffstats
path: root/libevmasm/ControlFlowGraph.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'libevmasm/ControlFlowGraph.cpp')
-rw-r--r--libevmasm/ControlFlowGraph.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/libevmasm/ControlFlowGraph.cpp b/libevmasm/ControlFlowGraph.cpp
index fc2144c7..61b24e4b 100644
--- a/libevmasm/ControlFlowGraph.cpp
+++ b/libevmasm/ControlFlowGraph.cpp
@@ -250,7 +250,10 @@ void ControlFlowGraph::gatherKnowledge()
KnownStatePointer state = item.state;
if (block.startState)
{
- state->reduceToCommonKnowledge(*block.startState, !item.blocksSeen.count(item.blockId));
+ if (m_joinKnowledge)
+ state->reduceToCommonKnowledge(*block.startState, !item.blocksSeen.count(item.blockId));
+ else
+ state->reset();
if (*state == *block.startState)
continue;
}