Polaris: _AccessRegion Class Reference

_AccessRegion Class Reference

List of all members.

Public Member Functions

 _AccessRegion (const EquivalenceMember &equiv)
Boolean intersects_with (const _AccessRegion &other) const

Public Attributes

int lb
int ub

Constructor & Destructor Documentation

_AccessRegion::_AccessRegion const EquivalenceMember equiv  ) 
 

Removed the check to see whether the var is an array. This is not conservative enough if you want to be conservative, since it assumes that out-of-bounds accesses could happen beyond the upper bound, but not less than the lower bound. If programmers are being "bad" they could access out-of-bounds to the left just as easily as to the right. But, we don't need to be this conservative, because one of the principles on which Polaris is based is that if the program isn't standard-conforming, then it's not our fault if Bad Things Happen. We have to assume that variables aren't accessed out of bounds, because otherwise there could be dependence between every pair of array accesses, and we would almost have to give up. -- Jay Hoeflinger if (var.is_array())

else

Definition at line 21 of file equivalence_util.cc.

References lb, Symbol::size(), and ub.


Member Function Documentation

Boolean _AccessRegion::intersects_with const _AccessRegion other  )  const
 

Definition at line 48 of file equivalence_util.cc.

References lb, and ub.

Referenced by equiv_aliases().


Member Data Documentation

int _AccessRegion::lb
 

Definition at line 14 of file equivalence_util.cc.

Referenced by _AccessRegion(), and intersects_with().

int _AccessRegion::ub
 

Definition at line 15 of file equivalence_util.cc.

Referenced by _AccessRegion(), and intersects_with().


The documentation for this class was generated from the following file:
 © 1995-2005 University of Illinois, Urbana-Champaign. All rights reserved.  Fri Mar 25 23:06:35 2005