Jump to content

Array-access analysis

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Liao (talk | contribs) at 03:14, 18 February 2006 (add context). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

In computer science, array access analysis is one of compiler analysis used to decide the read and write access patterns to elements or portions of arrays.

The major data type manipulated in scientific programs is obviously array. The define/use analysis on a whole array is insufficent to aggressive compiler optimizations like auto parallelization and array privatization. Array access analyis aims to get the knowledge of which portion or even elements of the array is accessed by a certain code segment(basic block,loops, or even procedure level).

Array access analysis can be largely categoried into exact (or reference-list-based) and summary methods for the different tradeoff of accuracy and complexity. Exact methods are precise but very costly in terms of computation and space storage, while summary methods are approximate but can be done fast and economically.

Typical exact array access analyis are: linearization and atom images. Summary methods can be futher divided into array sections, bounded regular sections using triplet notation, linear-constraint methods such as data access descriptors and array region analysis.