aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/CodeGen/MachineModuleSlotTracker.cpp
diff options
context:
space:
mode:
authorDonĂ¡t Nagy <donat.nagy@ericsson.com>2025-02-12 11:56:02 +0100
committerGitHub <noreply@github.com>2025-02-12 11:56:02 +0100
commitedbc1fb228acd7746d91cd72d476c063704504b8 (patch)
tree81dda08bdff20b71b77857a1f8830411373b3754 /llvm/lib/CodeGen/MachineModuleSlotTracker.cpp
parentd51750dba1c8fff8ea774a259f1263093c2ac434 (diff)
downloadllvm-edbc1fb228acd7746d91cd72d476c063704504b8.zip
llvm-edbc1fb228acd7746d91cd72d476c063704504b8.tar.gz
llvm-edbc1fb228acd7746d91cd72d476c063704504b8.tar.bz2
[analyzer] Add option assume-at-least-one-iteration (#125494)
This commit adds the new analyzer option `assume-at-least-one-iteration`, which is `false` by default, but can be set to `true` to ensure that the analyzer always assumes at least one iteration in loops. In some situations this "loop is skipped" execution path is an important corner case that may evade the notice of the developer and hide significant bugs -- however, there are also many situations where it's guaranteed that at least one iteration will happen (e.g. some data structure is always nonempty), but the analyzer cannot realize this and will produce false positives when it assumes that the loop is skipped. This commit refactors some logic around the implementation of the new feature, but the only functional change is introducing the new analyzer option. If the new option is left in its default state (false), then the analysis is functionally equivalent to an analysis done with a version before this commit.
Diffstat (limited to 'llvm/lib/CodeGen/MachineModuleSlotTracker.cpp')
0 files changed, 0 insertions, 0 deletions