Abstract
Interprocedural analysis and optimization are very important for compilers to exploit parallelism of modern high-performance computer systems. But it is very complicated, easy to make mistakes and difficult to maintain and port. To solve the problem, we construct an automatic generator of interprocedural analyzers and optimizers—IGEN. In IGEN, first a new model to describe the interprocedural data-flow problem is designed. It is fit for all traditional data-flow problems and can be used in context-sensitive algorithms. Then, the structure and the working environment of IGEN are described in detail. Finally, the implementation of IGEN and our experimental result are given.
Similar content being viewed by others
Explore related subjects
Discover the latest articles, news and stories from top researchers in related subjects.References
Kildall G A. A unified approach to global program optimization. InProceedings of the 1st Annual ACM Symposium on Principles of Programming Languages, 1973, pp.194–206.
Muchnick S S. Advanced Compiler Design and Implementation. Morgan Kaufmann Publishers, San Francisco, California, 1997.
Emami M, Ghiya R, Hendren L J. Context-sensitive interporcedureal point-to analysis in the presence of function pointers. InProceedings of the ACM SIGPLAN’94 Conference on Programming Language Design and Implementation, June, 1994, pp.242–256.
Liu Qiang. Study on interprocedural analysis techniques in the presence of pointer aliasing [Dissertation]. Institute of Computing Technology, the Chinese Academy of Sciences, 1998.
Wilson R P, Lam M S. Efficient context-sensitive pointer analysis for C programs. InProceedings of the ACM SIGPLAN’95 Conference on Programming Language Design and Implementations, 1995, pp.1–12.
Hall M W, Seema Hiranandani, Ken Kennedy, Chaw-Wen Tseng. Interprocedure compilation on Fortran D.Journal of Parallel and Distributed Computing, 1996, 38(2): 114–129.
Callahan D. The program summary graph and flow-sensitive interprocedural data flow analysis. InProceedings of PLDI’88, June, 1988, 23(7): 47–56.
Landi W, Ryder B G, Zhang S. Interprocedural modification side effect analysis with pointer aliasing. InSIGPLAN 93 Symposium on Programming Language Design and Implementation, June, 1993, 28(6): 56–67.
Pande H D, William Landi. Interprocedural Def-Use associations in C program. InProceedings of Symposium on Testing, Analysis and Verification, 1991, pp.139–153.
Hall M W. FLAT: A framework for interprocedural analysis and transformation. InProceedings of the 6th International Workshop of Languages and Compilers for Parallel Computing, Oregon, USA, August, 1993, pp.522–545, LNCS 768.
Steven W K Tjiang, John L Hennessy. Sharlit—A tool for building optimizers. InProceedings of PLDI’92, 1992, 27(7): 82–93.
Steven W K Tjiang. Automatic generation of data flow analyzers: A tool for building optimizers [Dissertation]. Stanford University, 1993.
Devanbu P, Rosenblum D, Wolf A. Generating testing and analysis tool with Aria.ACM Trans. Software Engineering and Methodology, January, 1996, 5: 42–62.
Mary Jean Harrold. Aristotle: A system for research on and development of program-analysis-based tools. Technical Report OSU-CISRC-3/97-TR17, March, 1997, http://www.cis.ohio-state.edu/~harrold/organnon/devl/code, 1997.
Gerardo Canfora, Aniello Cimitile. An extensible system for source code analysis.IEEE Transactions on Software Engineering, September, 1998, 24(9): 256–265.
Author information
Authors and Affiliations
Corresponding author
Additional information
This work is supported by the National Natural Science Foundation of China under Grant No.69933020.
LIAN Ruiqi received her Ph.D. degree in computer science from the Institute of Computing Technology (ICT), Chinese Academy of Sciences in 2001 and her B.S. degree from the same institute in 1998. She is an associate professor in ICT and her major is advanced compiling technology.
ZHANG Zhaoqing is a professor at the Advanced Compiler Technology Laboratory, Division of Computer Systems, Institute of Computing Technology, Chinese Academy of Sciences. She graduated from Peking University in 1960. Her research interests include advanced compiler technology, parallel programming environments, binary translation.
QIAO Ruliang is a professor at the Advanced Compiler Technology Laboratory, Division of Computer Systems, Institute of Computing Technology, Chinese Academy of Sciences. He graduated from Peking University in 1960. His research interests include advanced compiler technology, translation from COBOL to JAVA.
Rights and permissions
About this article
Cite this article
Lian, R., Zhang, Z. & Qiao, R. Automatic generation of interprocedural data-flow analyzers and optimizers. J. Compt. Sci. & Technol. 17, 708–717 (2002). https://doi.org/10.1007/BF02960761
Received:
Revised:
Issue Date:
DOI: https://doi.org/10.1007/BF02960761