Why is this too general of an assumption? For example, couldn't we be invalidating a field?
On May 11, 2009, at 7:28 AM, Zhongxing Xu <[email protected]> wrote: > Author: zhongxingxu > Date: Mon May 11 09:28:14 2009 > New Revision: 71431 > > URL: http://llvm.org/viewvc/llvm-project?rev=71431&view=rev > Log: > TypedRegion is a too general assumption. Usually we only want to > invalidate > the VarRegion as a super region of an ElementRegion. > > Modified: > cfe/trunk/lib/Analysis/CFRefCount.cpp > > Modified: cfe/trunk/lib/Analysis/CFRefCount.cpp > URL: > http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Analysis/CFRefCount.cpp?rev=71431&r1=71430&r2=71431&view=diff > > === > === > === > ===================================================================== > --- cfe/trunk/lib/Analysis/CFRefCount.cpp (original) > +++ cfe/trunk/lib/Analysis/CFRefCount.cpp Mon May 11 09:28:14 2009 > @@ -2660,7 +2660,7 @@ > if (R) { > // Are we dealing with an ElementRegion? If the element > type is > // a basic integer type (e.g., char, int) and the > underying region > - // is also typed then strip off the ElementRegion. > + // is a variable region then strip off the ElementRegion. > // FIXME: We really need to think about this for the > general case > // as sometimes we are reasoning about arrays and other > times > // about (char*), etc., is just a form of passing raw > bytes. > @@ -2674,8 +2674,8 @@ > // still allowing us to do checker-specific logic (e.g., > // invalidating reference counts), probably via callbacks. > if (ER->getElementType()->isIntegralType()) > - if (const TypedRegion *superReg = > - dyn_cast<TypedRegion>(ER->getSuperRegion())) > + if (const VarRegion *superReg = > + dyn_cast<VarRegion>(ER->getSuperRegion())) > R = superReg; > // FIXME: What about layers of ElementRegions? > } > > > _______________________________________________ > cfe-commits mailing list > [email protected] > http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits _______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
