Skip to content

Commit

Permalink
[Analyzer] Instead of recording comparisons in interator checkers do …
Browse files Browse the repository at this point in the history
…an eager state split

Currently iterator checkers record comparison of iterator positions
and process them for keeping track the distance between them (e.g.
whether a position is the same as the end position). However this
makes some processing unnecessarily complex and it is not needed at
all: we only need to keep track between the abstract symbols stored
in these iterator positions. This patch changes this and opens the
path to comparisons to the begin() and end() symbols between the
container (e.g. size, emptiness) which are stored as symbols, not
iterator positions. The functionality of the checker is unchanged.

Differential Revision: https://reviews.llvm.org/D53701

llvm-svn: 358951
  • Loading branch information
Adam Balogh committed Apr 23, 2019
1 parent d986e41 commit 54976e7
Showing 1 changed file with 126 additions and 258 deletions.

0 comments on commit 54976e7

Please sign in to comment.