"Refinement" of hack to bound loop-traversals: visit any block at a maximum of 3 times along a given path.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47766 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/Analysis/GRCoreEngine.cpp b/Analysis/GRCoreEngine.cpp
index 0e8be29..4eb024f 100644
--- a/Analysis/GRCoreEngine.cpp
+++ b/Analysis/GRCoreEngine.cpp
@@ -136,11 +136,11 @@
// This path is done. Don't enqueue any more nodes.
return;
}
+
+ // FIXME: Should we allow ProcessBlockEntrance to also manipulate state?
- // FIXME: we will dispatch to a function that
- // manipulates the state at the entrance to a block.
-
- GenerateNode(BlockEntrance(Blk), Pred->State, Pred);
+ if (ProcessBlockEntrance(Blk, Pred->State, WList->getBlockCounter()))
+ GenerateNode(BlockEntrance(Blk), Pred->State, Pred);
}
void GRCoreEngineImpl::HandleBlockEntrance(const BlockEntrance& L,