ymandel accepted this revision.
ymandel added inline comments.
This revision is now accepted and ready to land.


================
Comment at: clang/include/clang/Analysis/FlowSensitive/Solver.h:39
+  ///  All elements in `Vals` must be non-null.
+  virtual Result solve(llvm::DenseSet<BoolValue *> Vals) = 0;
+};
----------------
Which `Result` is expected if the `Solver` gives up, assuming that's allowed in 
this API.


================
Comment at: clang/lib/Analysis/FlowSensitive/WatchedLiteralsSolver.cpp:193
+  // The general strategy of the algorithm implemented below is to map each
+  // sub-values in `Vals` to a unique variable and use these variables in
+  // the resulting CNF expression to avoid exponential blow up. The number of
----------------



================
Comment at: clang/lib/Analysis/FlowSensitive/WatchedLiteralsSolver.cpp:373
+
+  Solver::Result solve() && {
+    size_t I = 0;
----------------
Why this constraint?


================
Comment at: clang/lib/Analysis/FlowSensitive/WatchedLiteralsSolver.cpp:456
+      } else {
+        I++;
+      }
----------------
nit: `++I`, for consistency?


================
Comment at: clang/lib/Analysis/FlowSensitive/WatchedLiteralsSolver.cpp:529
+      // Assert the invariant that the watched literal is always the first one
+      // in the clause holds.
+      // FIXME: Consider replacing this with a test case that fails if the
----------------



================
Comment at: clang/lib/Analysis/FlowSensitive/WatchedLiteralsSolver.cpp:594
+  /// Returns true if and only if all unassigned variables that are forming
+  /// warched literals are active.
+  bool unassignedVarsFormingWatchedLiteralsAreActive() const {
----------------



Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D120289/new/

https://reviews.llvm.org/D120289

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to