General data dependence test for dynamic, pointer-based data structures

Joseph Hummel*, Laurie J. Hendren, Alexandru Nicolau

*Corresponding author for this work

Research output: Chapter in Book/Report/Conference proceedingConference contribution

57 Scopus citations

Abstract

Optimizing compilers require accurate dependence testing to enable numerous, performance-enhancing transformations. However, data dependence testing is a difficult problem, particularly in the presence of pointers. Though existing approaches work well for pointers to named memory locations (i.e. other variables), they are overly conservative in the case of pointers to unnamed memory locations. The latter occurs in the context of dynamic, pointer-based data structures, used in a variety of applications ranging from system software to computational geometry to N-body and circuit simulations. In this paper we present a new technique for performing more accurate data dependence testing in the presence of dynamic, pointer-based data structures. We will demonstrate its effectiveness by breaking false dependences that existing approaches cannot, and provide results which show that removing these dependences enables significant parallelization of a real application.

Original languageEnglish (US)
Title of host publicationProceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI)
PublisherPubl by ACM
Pages218-229
Number of pages12
ISBN (Print)089791662X
StatePublished - 1994
EventProceedings of the ACM SIGPLAN'94 Conference on Programming Language Design and Implementation (PLDI) - Orlando, FL, USA
Duration: Jun 20 1994Jun 24 1994

Publication series

NameProceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI)

Conference

ConferenceProceedings of the ACM SIGPLAN'94 Conference on Programming Language Design and Implementation (PLDI)
CityOrlando, FL, USA
Period6/20/946/24/94

ASJC Scopus subject areas

  • Software

Fingerprint

Dive into the research topics of 'General data dependence test for dynamic, pointer-based data structures'. Together they form a unique fingerprint.

Cite this