[clang] [clang][dataflow] Make cap on block visits configurable by caller. (PR #77481)
Yitzhak Mandelbaum via cfe-commits
cfe-commits at lists.llvm.org
Fri Jan 19 11:49:00 PST 2024
================
@@ -186,6 +186,14 @@ template <typename LatticeT> struct DataflowAnalysisState {
/// the dataflow analysis cannot be performed successfully. Otherwise, calls
/// `PostVisitCFG` on each CFG element with the final analysis results at that
/// program point.
+///
+/// `MaxBlockVisits` caps the number of block visits during analysis. It doesn't
+/// distinguish between repeat visits to the same block and visits to distinct
+/// blocks. This parameter is a backstop to prevent infintite loops, in the case
+/// of bugs in the lattice and/or transfer functions that prevent the analysis
+/// from converging. The default value is essentially arbitrary -- large enough
+/// to accomodate what seems like any reasonable CFG, but still small enough to
+/// limit the cost of hitting the limit.
----------------
ymand wrote:
Done.
https://github.com/llvm/llvm-project/pull/77481
More information about the cfe-commits
mailing list