vsavchenko added a comment. Thanks for working on improvements of the solver and constraints! However, I have some tough questions about this patch.
What I really want to understand here is motivation. Why do we need to have `add` operation semantics like this in the first place? My guess is that "the user" will be in the following patch. Additionally, I don't really like the idea of replacing something simple and fast (old `add` methods`) with something more complex unconditionally. Old users still don't need this additional logic. C++ has always been the language where we "pay for what we use". So, with good motivation, I'd still prefer methods like `add` and `addUnchecked` or smith similar. ================ Comment at: clang/include/clang/StaticAnalyzer/Core/PathSensitive/RangedConstraintManager.h:128 /// - /// Complexity: O(N + M) + /// Complexity: O(N + Mlog(N)) /// where N = size(LHS), M = size(RHS) ---------------- This most certainly can be done in `O(N + M)` the same way the intersection is done. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D99797/new/ https://reviews.llvm.org/D99797 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits