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 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits