aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp
diff options
context:
space:
mode:
authorGabor Marton <gabor.marton@ericsson.com>2022-05-27 20:44:43 +0200
committerGabor Marton <gabor.marton@ericsson.com>2022-06-07 08:36:11 +0200
commitf66f4d3b07b2226cf14bd7a0f2056dfb2d26a89f (patch)
tree0a7339e7145a29dd6f8ccb07e7e752396466f410 /llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp
parenta7b154aa1770a2223be2e99735fab54c1c081007 (diff)
downloadllvm-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