Using Path Spectra to Direct Function Cloning

While function cloning can improve the precision of interprocedural analysis and thus the opportunity for optimization by changing the structure of the call graph, its successful application relies on the cloning decisions. This paper explores the use of program spectra comparisons for guiding cloning decisions. Our hypothesis is that this approach provides a good heuristic for determining which calls contribute different dynamic interprocedural information and thus suggest good candidates for cloning for the purpose of improv-

[1]  Joseph A. Fisher,et al.  Trace Scheduling: A Technique for Global Microcode Compaction , 1981, IEEE Transactions on Computers.

[2]  Mary Hall Managing interprocedural optimization , 1992 .

[3]  David Grove,et al.  Selective specialization for object-oriented languages , 1995, PLDI '95.

[4]  Brad Calder,et al.  Value profiling , 1997, Proceedings of 30th Annual International Symposium on Microarchitecture.

[5]  Gregg Rothermel,et al.  An empirical investigation of program spectra , 1998, PASTE '98.

[6]  Ken Kennedy,et al.  A Methodology for Procedure Cloning , 1993, Computer languages.

[7]  Thomas Ball,et al.  Edge profiling versus path profiling: the showdown , 1998, POPL '98.

[8]  James R. Larus,et al.  Efficient path profiling , 1996, Proceedings of the 29th Annual IEEE/ACM International Symposium on Microarchitecture. MICRO 29.

[9]  Ronald L. Johnston The Dynamic Incremental Compiler of APL\3000 , 1979 .

[10]  Rajiv Gupta,et al.  Path profile guided partial redundancy elimination using speculation , 1998, Proceedings of the 1998 International Conference on Computer Languages (Cat. No.98CB36225).

[11]  Rajiv Gupta,et al.  Path profile guided partial dead code elimination using predication , 1997, Proceedings 1997 International Conference on Parallel Architectures and Compilation Techniques.

[12]  James R. Larus,et al.  The use of program profiling for software maintenance with applications to the year 2000 problem , 1997, ESEC '97/FSE-5.

[13]  Udi Manber,et al.  Fast text searching: allowing errors , 1992, CACM.