[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
Tue Nov 2 08:26:09 PDT 2021
martong added inline comments.
================
Comment at: clang/lib/StaticAnalyzer/Core/RangeConstraintManager.cpp:1699-1701
+ ProgramStateRef OldState;
+ do {
+ OldState = State;
----------------
steakhal wrote:
> IMO we should have a `llvm::Statistic` here, tracking the maximum iteration count to reach the fixed point and an average iteration count.
We can't do this once we reach the fixpoint with recursive `assume` calls.
================
Comment at: clang/lib/StaticAnalyzer/Core/RangeConstraintManager.cpp:1732
+ if (!State)
+ return false;
+ }
----------------
steakhal wrote:
> I'd love to see a coverage report of the tests you add with this patch.
Ok, I am going to check the coverage and add the missing cases.
================
Comment at: clang/test/Analysis/expr-inspection-printState-eq-classes.c:11
return;
- if (b != 0)
+ if (a != c)
return;
----------------
steakhal wrote:
> Why do you need to change this?
We don't need it, I removed.
================
Comment at: clang/test/Analysis/symbol-simplification-fixpoint-iteration-unreachable-code.cpp:16
+ return;
+ if (c + b != 0)
+ return;
----------------
steakhal wrote:
> Is it important to have this instead of `b + c`?
No, I changed it to `b+c` as you suggested.
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