Detecting loop-carried dependences in programs with dynamic data structures

  • Authors:
  • Angeles Navarro;Francisco Corbera;Adrian Tineo;Rafael Asenjo;Emilio L. Zapata

  • Affiliations:
  • Department of Computer Architecture, University of Malaga, Campus de Teatinos, E-29071 Malaga, Spain;Department of Computer Architecture, University of Malaga, Campus de Teatinos, E-29071 Malaga, Spain;Department of Computer Architecture, University of Malaga, Campus de Teatinos, E-29071 Malaga, Spain;Department of Computer Architecture, University of Malaga, Campus de Teatinos, E-29071 Malaga, Spain;Department of Computer Architecture, University of Malaga, Campus de Teatinos, E-29071 Malaga, Spain

  • Venue:
  • Journal of Parallel and Distributed Computing
  • Year:
  • 2007

Quantified Score

Hi-index 0.00

Visualization

Abstract

The problem of data dependences detection in codes based on dynamic data structures, is crucial to various compiler optimizations. The approach presented in this paper focuses on detecting data dependences induced by heap-directed pointers on loops that access dynamic data structures. Knowledge about the shape of the data structure accessible from a heap-directed pointer provides critical information for disambiguating heap accesses originating from it. The new approach is based on a previously developed shape analysis that maintains topological information of the connections among the different nodes (memory locations) in the data structure. As a novelty, our approach carries out abstract interpretation of the statements being analyzed, annotating memory locations with read/write information. This information will be later used in a very accurate data dependence test which we describe in this paper. We also discuss its application to several different benchmarks.