martong marked 4 inline comments as done. martong added a comment. > Consequently, a SmallPtrSet with 4 as the small buffer size would be better > than the SmallVector
Ahh, SmallVector is still better, because with the set we need to do a search in the `erase, which compares badly to a simple decrement in the vector's pop_back. ================ Comment at: clang/include/clang/StaticAnalyzer/Core/PathSensitive/ConstraintManager.h:21 #include "llvm/ADT/Optional.h" +#include "llvm/ADT/SmallSet.h" #include "llvm/Support/SaveAndRestore.h" ---------------- steakhal wrote: > Unused. Thx. ================ Comment at: clang/include/clang/StaticAnalyzer/Core/PathSensitive/ConstraintManager.h:154 + bool contains(const ProgramState *S) const { + return llvm::find(Aux, S) != Aux.end(); + } ---------------- steakhal wrote: > Use `llvm::is_contained()` instead. Ok. ================ Comment at: clang/lib/StaticAnalyzer/Core/ConstraintManager.cpp:60 + AssumeStack.push(RawSt); + auto AssumeStackBuilder = + llvm::make_scope_exit([this]() { AssumeStack.pop(); }); ---------------- steakhal wrote: > Don't we call these 'Guards'? Yeah, we tend to call them guards in the context of exception safety and resource management. But, I think, "builder" is more expressive here. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D126560/new/ https://reviews.llvm.org/D126560 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits