flow: don't call scope hooks until after the END_FUNC_HOOKs
This feels wrong, but it's the definitely practical thing and *probably*
it's actually the right thing. Here is why.
The situation is that we're interested in who parameters are set so we can
load information to the cross function db. But often we do stuff like:
struct whatever *p = parameter->foo->bar->baz->p;
So checks want access to "p" at the END_FUNC_HOOKs (if the function is
void, if it's not void then we get the information at the return statement
so it's within scope). Of course, it's possible for people to make
assignments like that at an inside scope and instead of at the start of
the function but 97% of the time that's where it is so that's fine.
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>