computer implemented method for determining whether an array within a loop can be privatized for that loop is generally shown at a block 10 all target regions within the array are identified the target regions include regions that are accessed by the loop wherein access to such region is controlled by a guard gar at a block 12 a first set of target regions consisting of all elements that may be overwritten maydef is identified at a block 14 a second set of target regions consisting of all elements that will definitely be overwritten mustdef is identified at a block 16 a third set of target regions consisting of all elements having a use not preceded by a definition along a path from a header of the loop upexpuse is identified at a block 18 a fourth set of target regions consisting of all array elements that are to be accessed by code intended to be executed after the loop has been executed liveonexit is identified at a block 20 it is determined whether in any iteration of the loop a target region in the first set of target regions overlaps any of the target regions in the third set of target regions if a target region in the first set of target regions overlaps any of the target regions in the third set of target regions then the routine quits at a block 22 if a target region in the first set of target regions does not overlap any of the target regions in the third set of target regions then it is determined at a block 24 whether that target region overlaps any of the target regions in the fourth set of target.