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



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to