[all-commits] [llvm/llvm-project] ea52e8: [NFCI][analyzer] Spread use of CoreEngine::makeNod...

Donát Nagy via All-commits all-commits at lists.llvm.org
Thu Feb 26 07:46:59 PST 2026


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: ea52e855f2a29943f7461a76f80fe90120704fe9
      https://github.com/llvm/llvm-project/commit/ea52e855f2a29943f7461a76f80fe90120704fe9
  Author: Donát Nagy <donat.nagy at ericsson.com>
  Date:   2026-02-26 (Thu, 26 Feb 2026)

  Changed paths:
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CoreEngine.h
    M clang/lib/StaticAnalyzer/Core/CoreEngine.cpp

  Log Message:
  -----------
  [NFCI][analyzer] Spread use of CoreEngine::makeNode (#183540)

Simplify the code of `CoreEngine` by using the method
`CoreEngine::makeNode` (which was introduced recently in commit
1a81673922a3f5b75f342e416e925a69822c4613) and removing two similar, but
less practical utility methods.

This is technically speaking not an NFC change, because previously these
were able to generate non-sink nodes with `PosteriorlyOverconstrained`
state (which is logically unsound) and now the check in `makeNode`
prevents that.

However I labelled this as an NFCI change, as I'm fairly confident that
this won't lead to any observable changes because:
- `PosteriorlyOverconstrained` states are very rare.
- A state derived from a `PosteriorlyOverconstrained` state is also
posteriorly overconstrained, so even without this commit
`PosteriorlyOverconstrained` paths would been sunk soon at the next
transition that properly checks for it.

Note that simulated paths with a `PosteriorlyOverconstrained` state do
not correspond to real paths that can occur during the actual execution
of the program, so the analyzer should stop following them as soon as
possible. For more explanation see the doc-comment above the data member
`bool PosteriorlyOverconstrained` within `ProgramState`.



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list