Abstract
Since the C language imposes little restriction on the use of function pointers, the task of call graph construction for C programs is far more dificult than that found in Fortran programs. From the experience of implementing a call graph extractor in the IMPACT compiler, we found the call graph construction problem has evolved into an interprocedural pointer analysis problem. In this paper, we report several interesting function pointer usage patterns found in the SPECint92 and SPECint95 benchmarks. They can be considered as critical issues in the design of a complete call graph extractor.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
A. Lakhotia, Constructing call multigraphs using dependence graphs, in Conference Record of the 20th Annual ACM Symposium on Principles of Programming Languages, January 1993.
M. W. Hall and K. Kennedy, Efficient call graph analysis, ACM Letters on Programming Languages and Systems, vol. 1, pp. 227–242, September 1992.
B. C. Cheng and W. W. Hwu, A practical interprocedural pointer analysis framework, Tech. Rep. IMPACT-99-01, Center for Reliable and High-Performance Computing, University of Illinois, Urbana, IL, 1999.
B. Cheng and W. W. Hwu, An empirical study of function pointers using spec benchmarks, Tech. Rep. IMPACT-99-02, Center for Reliable and High-Performance Computing, University of Illinois, Urbana, IL, May 1999.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2000 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Cheng, BC., Hwu, Wm.W. (2000). An Empirical Study of Function Pointers Using SPEC Benchmarks. In: Carter, L., Ferrante, J. (eds) Languages and Compilers for Parallel Computing. LCPC 1999. Lecture Notes in Computer Science, vol 1863. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-44905-1_38
Download citation
DOI: https://doi.org/10.1007/3-540-44905-1_38
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-67858-8
Online ISBN: 978-3-540-44905-8
eBook Packages: Springer Book Archive