Interprocedural optimization: Experimental results

The problem of tracking data flow across procedure boundaries has a long history of theoretical study by people who believed that such information would be useful for code optimization. Building upon previous work, an algorithm for interprocedural data flow analysis has been implemented. The algorithm produces three flow‐insensitive summary sets: MOD, USE and ALIASES. The utility of the resulting information was investigated using an optimizing Pascal compiler. Over a sampling of 27 bench‐marks, new optimizations performed as a result of interprocedural summary information contributed almost nothing to program execution speed. Finally, related optimization techniques of possibly greater potential are discussed.

[1]  Ron Cytron,et al.  An Overview of the PTRAN Analysis System for Multiprocessing , 1988, J. Parallel Distributed Comput..

[2]  Frances E. Allen,et al.  Interprocedural Data Flow Analysis , 1974, IFIP Congress.

[3]  John Banning,et al.  : An Efficient , 2022 .

[4]  Fred C. Chow,et al.  A portable machine-independent global optimizer--design and measurements , 1984 .

[5]  William E. Weihl,et al.  Interprocedural data flow analysis in the presence of pointers, procedure variables, and label variables , 1980, POPL '80.

[6]  Jeffrey M. Barth An interprocedural data flow analysis algorithm , 1977, POPL '77.

[7]  Jeffrey D. Ullman,et al.  Introduction to Automata Theory, Languages and Computation , 1979 .

[8]  Lawrence C. Widdoes,et al.  The SCALD Physical Design Subsystem , 1978, 15th Design Automation Conference.

[9]  David B. Lomet Data Flow Analysis in the Presence of Procedure Calls , 1977, IBM J. Res. Dev..

[10]  Linda Marie Torczon Compilation dependences in an ambitious optimizing compiler (interprocedural, recompilation) , 1985 .

[11]  R. M. Mattheyses,et al.  A Linear-Time Heuristic for Improving Network Partitions , 1982, 19th Design Automation Conference.

[12]  David Callahan,et al.  The program summary graph and flow-sensitive interprocedual data flow analysis , 1988, PLDI '88.

[13]  Jack J. Dongarra,et al.  A collection of parallel linear equations routines for the Denelcor HEP , 1984, Parallel Comput..

[14]  Peter Steenkiste,et al.  LISP on a reduced-instruction-set-processor , 1986, LFP '86.

[15]  Thomas C. Spillman,et al.  Exposing Side-Effects in a PL/I Optimizing Compiler , 1971, IFIP Congress.

[16]  Ian Thomas,et al.  The object management system of PCTE as a software engineering database management system , 1987, SDE 2.

[17]  Ken Kennedy,et al.  Efficient computation of flow insensitive interprocedural summary information , 1984, SIGPLAN '84.