When working through longer functions when using verifiable-C, it is often the case that LOCAL variables are no longer needed after a certain point. In particular, the C-light translated code often adds many LOCAL variables that are only used briefly.
Is there a tactic or lemma in VST that I can use to discard a LOCAL variable when I know that it will no longer be needed. This can help reduce the clutter in the LOCAL context. I'm also hoping that it will be able to speed up VST as well as I find that it gets slower as my LOCAL context gets bigger and bigger (though the slowdown might be unrelated).
I did try the suggested
deadvars!tactic, but when the remaining statements is large, thedeadvars!tactic turn out to be quite slow.However, I did find the
drop_LOCALstactic in the manual, and while using it might be a little less robust, it worked well and improved the memory use of checking my script (a bit less than I had hoped, but it was a definite improvement).