HomePhabricator

[Analyzer] Instead of recording comparisons in interator checkers do an eager…

Description

[Analyzer] Instead of recording comparisons in interator checkers do 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

Details

Committed
baloghadamsoftwareApr 23 2019, 12:15 AM
Differential Revision
D53701: [Analyzer] Instead of recording comparisons in interator checkers do an eager state split
Branches
Unknown
Tags
Unknown