An Overview of the Intel® IA64 Compiler
1999
Abstract
The IA-64 architecture is designed with a unique combination of rich features so that it overcomes the limitations of traditional architectures and provides performance scalability for the future. The IA-64 features expose new opportunities for the compiler to optimize applications. We have incorporated into the Intel IA-64 compiler the key technology necessary to exploit these new optimization opportunities and to
References (21)
- E. Morel and C. Renvoise, "Global optimization by suppression of partial redundancies," Comm. ACM, 22(2), February 1979, pp. 96-103.
- F. Chow, S. Chan, R. Kennedy, S. Liu, R. Lo, and P. Tu, "A new algorithm for partial redundancy elimination based on SSA form," in Proceedings of the ACM SIGPLAN '97 Conference on Programming Language Design and Implementation, June 1997, pp. 273-286.
- B. R. Rau and C. D. Glaeser, "Some Scheduling Techniques and an Easily Schedulable Horizontal Architecture for High-Performance Scientific
- Computing," in Proceedings of the 20th Annual Workshop on Microprogramming and Microarchitecture, October 1981, pp. 183-198.
- M. S. Lam, "Software Pipelining: An Effective Scheduling Technique for {VLIW} Machines," in Proceedings of the ACM SIGPLAN 1988 Conference on Programming Language Design and Implementation, June 1988, pp. 318-328.
- J. C. Dehnert, P. Y. Hsu, and J. P. Bratt, "Overlapped Loop Support in the Cydra 5," in Proceedings of the Third International Conference on Architectural Support for Programming Languages and Operating Systems, April 1989, pp. 26-38.
- B. R. Rau, M. S. Schlansker, and P. P. Tirumalai, "Code Generation Schema for Modulo-Scheduled Loops," in Proceedings of the 25th Annual International Symposium on Microarchitecture, December 1992, pp. 158-169.
- IA-64 Application Developer's Architecture Guide, Order Number 245188-001, May 1999.
- B. R. Rau, "Iterative Modulo Scheduling: An Algorithm for Software Pipelining Loops," in Proceedings of the 27th International Symposium on Microarchitecture, December 1994, pp. 63-74.
- J. Bharadwaj, K.N. Menezes, and C. McKinsey, "Wavefront Scheduling: Path-Based Data Representation and Scheduling of Subgraphs," to appear in Proceedings of the 32nd Annual International Symposium on Microarchitecture (MICRO32), (Haifa, Israel), December 1999.
- K. D. Cooper and K. Kennedy, "Interprocedural Side- Effect Analysis in Linear Time," in Proceedings of the ACM SIGPLAN '88 Conference on Programming Language Design and Implementation, June 1988, pp. 57-66.
- J. Knoop, O. Ruthing, and B. Steffen, "Lazy code motion" in Proceedings of the ACM SIGPLAN '92 Conference on Programming Language Design and Implementation, pp. 224-234, June 1992.
- B. Steensgaard, "Points-to Analysis in Almost Linear Time" in Proceedings of the Twenty-Third Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pp. 32-41, January 1996.
- C. Dulong, "The IA-64 Architecture at Work," IEEE Computer, July 1998.
- S. Carr, "Memory-Hierarchy Management" Ph.D. Thesis, Rice University, July 1994.
- S. Carr and K. Kennedy, "Scalar Replacement in the Presence of Conditional Control Flow," Technical Report CRPC-TR92283, Rice University, November 1992.
- S. Muchnik, Advanced Compiler Design Implementation, Morgan Kaufman, 1997.
- M. Wolf and M. Lam, A Loop Transformation Theory and an Algorithm to Maximize Parallelism, Parallel Distributed Systems, Volume 2 (4), pp. 452-471, October, 1991.
- W. Li and K. Pingali, "A Singular Loop Transformation Framework Based on Non-Singular Matrices," International Journal of Parallel Programming, Volume 22 (2), 1994.
- T. Mowry, "Tolerating Latency Through Software- Controlled Data Prefetching," Ph.D. Thesis, Stanford University, March 1994, Technical Report CSL-TR-94- 626.
- V. Santhanam, E. Gornish, and W. Hsu, "Data Prefetching on the HP PA-8000," in Proceedings of the 24th Annual International Symposium on Computer Architecture, June 1997, pp. 264-273.