[PATCH] D12358: [Analyzer] Handling constant bound loops
Ted Kremenek via cfe-commits
cfe-commits at lists.llvm.org
Wed Sep 2 23:20:19 PDT 2015
krememek added a comment.
In http://reviews.llvm.org/D12358#238303, @seaneveson wrote:
> In http://reviews.llvm.org/D12358#237099, @krememek wrote:
>
> > To get the conservative invalidation that Anna suggests (actually, a little less conservative), I think you can just pass in a two MemRegions as the input to that method and get a new ProgramState with the appropriate regions invalidated.
>
>
> Thank you for the suggestion. Unfortunately nothing seems to get invalidated when I call invalidateRegions, in the following code:
>
> const StackFrameContext *STC = LCtx->getCurrentStackFrame();
> MemRegionManager &MRMgr = svalBuilder.getRegionManager();
> const MemRegion *Regions[] = {
> MRMgr.getStackLocalsRegion(STC),
> MRMgr.getStackArgumentsRegion(STC),
> MRMgr.getGlobalsRegion()
> };
> ProgramStateRef State;
> State = PrevState->invalidateRegions(Regions, Cond, BlockCount, LCtx, false);
>
>
> Do you have any suggestions on what I have done wrong?
I suspect this has to do with `invalidateRegions` itself. I will take a look. In the meantime, can you provide an updated patch that I can try out so I can step through the algorithm (if necessary) in the debugger and reproduce what you are seeing?
http://reviews.llvm.org/D12358
More information about the cfe-commits
mailing list