首页 | 本学科首页   官方微博 | 高级检索  
     


The multiflow trace scheduling compiler
Authors:P. Geoffrey Lowney  Stefan M. Freudenberger  Thomas J. Karzes  W. D. Lichtenstein  Robert P. Nix  John S. O'Donnell  John C. Ruttenberg
Affiliation:(1) Digital Equipment Corporation, HLO2-3/J03, 77 Reed Road, 01749 Hudson, MA;(2) Hewlett-Packard Laboratories, 1501 Page Mill Rd., 94304 Palo Alto, CA;(3) D.E. Shaw and Co., 39th Floor, Tower 45, 120 West 45th St., 10036 New York, NY;(4) Thinking Machines Corp., 245 First St., 02138 Cambridge, MA;(5) Digital Equipment Corporation, 85 Swanson Rd, 01719 Boxborough, MA;(6) Equator Technologies, 1738 26th Avenue East, 98112 Seattle, WA;(7) Silicon Graphics, 31 Cherry St., 06460 Milford, CT
Abstract:The Multiflow compiler uses the trace scheduling algorithm to find and exploit instruction-level parallelism beyond basic blocks. The compiler generates code for VLIW computers that issue up to 28 operations each cycle and maintain more than 50 operations in flight. At Multiflow the compiler generated code for eight different target machine architectures and compiled over 50 million lines of Fortran and C applications and systems code. The requirement of finding large amounts of parallelism in ordinary programs, the trace scheduling algorithm, and the many unique features of the Multiflow hardware placed novel demands on the compiler. New techniques in instruction scheduling, register allocation, memory-bank management, and intermediate-code optimizations were developed, as were refinements to reduce the overhead of trace scheduling. This article describes the Multiflow compiler and reports on the Multiflow practice and experience with compiling for instruction-level parallelism beyond basic blocks.
Keywords:Trace scheduling  compiler optimization  instruction scheduling  register allocation  memory-reference analysis  VLIW  performance analysis  instruction-level parallelism  speculative execution
本文献已被 SpringerLink 等数据库收录!
设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司  京ICP备09084417号