[clang] [clang][dataflow] Make cap on block visits configurable by caller. (PR #77481)

via cfe-commits cfe-commits at lists.llvm.org
Fri Jan 12 00:17:18 PST 2024


================
@@ -261,14 +270,23 @@ auto createAnalysis(ASTContext &ASTCtx, Environment &Env)
 ///   iterations.
 /// - This limit is still low enough to keep runtimes acceptable (on typical
 ///   machines) in cases where we hit the limit.
+///
+/// `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.
----------------
martinboehme wrote:

```suggestion
/// `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 infinite 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 accommodate what seems like any reasonable CFG, but still small enough to
/// limit the cost of hitting the limit.
```

https://github.com/llvm/llvm-project/pull/77481


More information about the cfe-commits mailing list