diff options
author | Gabor Marton <gabor.marton@ericsson.com> | 2022-05-27 20:44:43 +0200 |
---|---|---|
committer | Gabor Marton <gabor.marton@ericsson.com> | 2022-06-07 08:36:11 +0200 |
commit | f66f4d3b07b2226cf14bd7a0f2056dfb2d26a89f (patch) | |
tree | 0a7339e7145a29dd6f8ccb07e7e752396466f410 /llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp | |
parent | a7b154aa1770a2223be2e99735fab54c1c081007 (diff) | |
download | llvm-f66f4d3b07b2226cf14bd7a0f2056dfb2d26a89f.zip llvm-f66f4d3b07b2226cf14bd7a0f2056dfb2d26a89f.tar.gz llvm-f66f4d3b07b2226cf14bd7a0f2056dfb2d26a89f.tar.bz2 |
[analyzer] Track assume call stack to detect fixpoint
Assume functions might recurse (see `reAssume` or `tryRearrange`).
During the recursion, the State might not change anymore, that means we
reached a fixpoint. In this patch, we avoid infinite recursion of assume
calls by checking already visited States on the stack of assume function
calls. This patch renders the previous "workaround" solution (D47155)
unnecessary. Note that this is not an NFC patch. If we were to limit the
maximum stack depth of the assume calls to 1 then would it be equivalent
with the previous solution in D47155.
Additionally, in D113753, we simplify the symbols right at the beginning
of evalBinOpNN. So, a call to `simplifySVal` in `getKnownValue` (added
in D51252) is no longer needed.
Fixes https://github.com/llvm/llvm-project/issues/55851
Differential Revision: https://reviews.llvm.org/D126560
Diffstat (limited to 'llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp')
0 files changed, 0 insertions, 0 deletions