aboutsummaryrefslogtreecommitdiffstats
path: root/libevmasm/ControlFlowGraph.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'libevmasm/ControlFlowGraph.cpp')
-rw-r--r--libevmasm/ControlFlowGraph.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/libevmasm/ControlFlowGraph.cpp b/libevmasm/ControlFlowGraph.cpp
index fc2144c7..d4801562 100644
--- a/libevmasm/ControlFlowGraph.cpp
+++ b/libevmasm/ControlFlowGraph.cpp
@@ -250,6 +250,10 @@ void ControlFlowGraph::gatherKnowledge()
KnownStatePointer state = item.state;
if (block.startState)
{
+ // We call reduceToCommonKnowledge even in the non-join setting to get the correct
+ // sequence number
+ if (!m_joinKnowledge)
+ state->reset();
state->reduceToCommonKnowledge(*block.startState, !item.blocksSeen.count(item.blockId));
if (*state == *block.startState)
continue;