In this paper, we evaluate the benefits achievable from pointer analysis an
d other memory disambiguation techniques for C/C++ programs, using the fram
ework of the production compiler for the Intel (R) Itanium (TM) processor.
Most of the prior work on memory disambiguation has primarily focused on po
inter analysis, and either presents only static estimates of the accuracy o
f the analysis (such as average points-to set size), or provides performanc
e data in the context of certain individual optimizations. In contrast, our
study is based on a complete memory disambiguation framework that uses a w
hole set of techniques including pointer analysis. Further, it presents how
various compiler analyses and optimizations interact with the memory disam
biguator, evaluates how much they benefit from disambiguation, and measures
the eventual impact on the performance of the program. The paper also anal
yzes the types of disambiguation queries that are typically received by the
disambiguator, which disambiguation techniques prove most effective in res
olving them, and what type of queries prove difficult to be resolved. The s
tudy is based on empirical data collected for the SPEC CINT2000 C/C++ progr
ams, running on the Itanium processor.