Design And Implementation Of A Portable Global Code Optimizer

iii ACKNOWLEDGEMENTS I w ould rst like to thank my advisor, Professor Wen-mei Hwu, for his guidance, his support, and, most importantly, his patience. I have learned a great deal from him during my y ears in graduate school, and I look forward to working together in the future. I wish to extend my appreciation to two people, Pohua Chang and William Chen, with whom I have w orked very closely in the past few years. Pohua wrote most of the IMPACT-I C compiler. He also helped with the formulation of many of the optimizations, helped with initial implementation, and assisted with many of the diiculties encountered along the way. William wrote the rst code generator for the compiler and helped with much of the debugging of the optimizer. Without both of them, this project would never have been nished. I also would like to thank three other people, Nancy Warter, and my t w o oocemates, Sadun Anik and Tom Conte. Nancy and I have s p e n t many long nights writing papers together. Sadun and Tom have answered my endless supply of day t o d a y questions. Finally, I wish to thank everyone above and all of my other friends who have made my life in graduate school very enjoyable.

[1]  Wen-mei W. Hwu,et al.  Trace Selection For Compiling Large C Application Programs To Microcode , 1988, [1988] Proceedings of the 21st Annual Workshop on Microprogramming and Microarchitecture - MICRO '21.

[2]  John R. Ellis,et al.  Bulldog: A Compiler for VLIW Architectures , 1986 .

[3]  W. W. Hwu,et al.  Achieving high instruction cache performance with an optimizing compiler , 1989, ISCA '89.

[4]  T. M. Conte,et al.  Comparing software and hardware schemes for reducing the cost of branches , 1989, ISCA '89.

[5]  Andrew S. Tanenbaum,et al.  A practical tool kit for making portable compilers , 1983, Commun. ACM.

[6]  Po-Hua Chang,et al.  Compiler support for multiple-instruction-issue architectures , 1991 .

[7]  Martin Hopkins,et al.  An overview of the PL.8 compiler , 1982, SIGP.

[8]  Gary A. Kildall,et al.  A unified approach to global program optimization , 1973, POPL.

[9]  Alfred V. Aho,et al.  Compilers: Principles, Techniques, and Tools , 1986, Addison-Wesley series in computer science / World student series edition.

[10]  David W. Wall,et al.  Global register allocation at link time , 1986, SIGPLAN '86.

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

[12]  Wen-mei W. Hwu,et al.  Control flow optimization for supercomputer scalar processing , 1989, ICS '89.

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