<div dir="ltr">Hello,<div><br></div><div>I've been working on new checker that registers for region change update. Together with Artem Dergachev, we noticed that the function</div><div><i>wantsRegionChangeUpdate </i>never seems to be called. The heavy work necessary to fill data structures for <i>checkRegionChanges </i>is being done regardless of it in <i>ProgramState::invalidateRegionsImpl.</i> The documentation for <i>checkRegionChanges</i> says the following:</div><div>"Note that this callback will not be invoked unless wantsRegionChangeUpdate returns true"</div><div> and for <i>wantsRegionChangeUpdate:</i></div><div>"Since it is not necessarily cheap to compute which regions are being changed, this allows the analyzer core to skip the more expensive  <i>checkRegionChanges</i> when no checkers are tracking any state." <i><br></i></div><div><br></div><div>My question is whether someone can confirm that this is indeed an invalid behavior? For me it looks like it used to work differently and at some point someone changed the logic rendering <i>wantsRegionChangeUpdate </i>useless.</div><div>If this indeed is a bug, I suggest we might wish to consult <i>CheckerManager </i> in <i>ProgramState::invalidateRegionsImpl</i> <i> </i>whether there is some one checker registered for an update and only then prepare the input data in order to improve performance.</div><div><br></div><div>Kind regards,</div><div>Krzysztof Wiśniewski</div></div>