implied: don't use incomplete states
commite9ad3af70aa69d0357c62ed1e8cb84b50d5ec360
authorDan Carpenter <dan.carpenter@oracle.com>
Tue, 5 Feb 2019 08:03:56 +0000 (5 11:03 +0300)
committerDan Carpenter <dan.carpenter@oracle.com>
Tue, 5 Feb 2019 08:03:56 +0000 (5 11:03 +0300)
treea9aada09893c8b2823c9eea9c3d500837b5e9278
parent3f5eaa5feda8d667f9fd12ca138405b11d44da1d
implied: don't use incomplete states

What happens here is that we have an if statement like so:

if (as->usbm) {

The smatch_implied.c code thinks it can figure out what as->usbm should
be but it takes too long so it just says "0,4096-ptr_max".  Then the
smatch_extra.c code say it is 4096-ptr_max.  But then the implied code
over writes it with its own incomplete 0,4096-ptr_max state.  This patch
says that if we don't know then don't bother saving it.

I wanted to say that it was only necessary for the gate_sm, but when I
tested that it didn't work so I didn't investigate but just went with this
version.  It's hard for me to say if using incomplete states is ever really
useful...

I also merged a debugging change which is not 100% related.

Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
smatch_implied.c