[PATCH] D12358: [Analyzer] Handling constant bound loops

Devin Coughlin via cfe-commits cfe-commits at lists.llvm.org
Sat Sep 12 12:16:45 PDT 2015


dcoughlin added a comment.

I looked at the behavior of invalidateRegions() under the patch. It looks like MemSpaceRegions //are// being added to the worklist but these regions don't have clusters associated with them so invalidating the regions themselves doesn't remove any bindings.

Ted: What would you think about extending the logic in GenerateClusters() that invalidates globals for function calls to handle this more general case? That logic already checks to see if a region is in a particular global MemSpaceRegion and -- if so -- adds it to the worklist.

We could, for example, add a new RegionAndSymbolInvalidationTraits (e.g., TK_InvalidateEntireMemSpace). Clients of invalidateRegions could set this trait on the MemSpace they want to invalidate and GenerateClusters() could add any region with a memory space that has this trait to the work list. Does this seem like a reasonable approach?


http://reviews.llvm.org/D12358





More information about the cfe-commits mailing list