ai_baset::do_function_call will trigger updates of the callee when new inputs are provided, state computed. Any later updates of that callee, however, will not be propagated back to all possible call sites.
Interestingly, though, interval analysis seems to be propagating something (though broken) back. An example:
int d=0;
void f1() { d=1; }
int main()
{
int x=2;
f1();
if(x && d) return 1;
return 0;
}