[PATCH] D106823: [analyzer][solver] Iterate to a fixpoint during symbol simplification with constants
Gabor Marton via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Fri Oct 1 07:01:05 PDT 2021
martong added inline comments.
================
Comment at: clang/lib/StaticAnalyzer/Core/RangeConstraintManager.cpp:2108
+LLVM_NODISCARD ProgramStateRef
+EquivalenceClass::removeMember(ProgramStateRef State, const SymbolRef Old) {
+
----------------
Remove `const `
================
Comment at: clang/lib/StaticAnalyzer/Core/RangeConstraintManager.cpp:2123
+ ClsMembers = F.remove(ClsMembers, Old);
+ assert(!ClsMembers.isEmpty() &&
+ "Class should have had at least two members before member removal");
----------------
Comment that this is a precondition.
================
Comment at: clang/lib/StaticAnalyzer/Core/RangeConstraintManager.cpp:2156
+ assert(find(State, MemberSym) == find(State, SimplifiedMemberSym));
+ // Remove the old and more complex symbol.
+ State = find(State, MemberSym).removeMember(State, MemberSym);
----------------
TODO add Performance and complexity essay here.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D106823/new/
https://reviews.llvm.org/D106823
More information about the cfe-commits
mailing list