THE MULTIFLOW TRACE SCHEDULING COMPILER

被引:121
作者
LOWNEY, PG
FREUDENBERGER, SM
KARZES, TJ
LICHTENSTEIN, WD
NIX, RP
ODONNELL, JS
RUTTENBERG, JC
机构
[1] HEWLETT PACKARD CORP,PALO ALTO,CA 94304
[2] DE SHAW & CO,NEW YORK,NY 10036
[3] THINKING MACHINES CORP,CAMBRIDGE,MA 02138
[4] DIGITAL EQUIPMENT CORP,BOXBOROUGH,MA 01719
[5] EQUATOR TECHNOL,SEATTLE,WA 98112
[6] SILICON GRAPH,MILFORD,CT 06460
关键词
TRACE SCHEDULING; COMPILER OPTIMIZATION; INSTRUCTION SCHEDULING; REGISTER ALLOCATION; MEMORY-REFERENCE ANALYSIS; VLIW; PERFORMANCE ANALYSIS; INSTRUCTION-LEVEL PARALLELISM; SPECULATIVE EXECUTION;
D O I
10.1007/BF01205182
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
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 Mulfiflow 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.
引用
收藏
页码:51 / 142
页数:92
相关论文
共 73 条
[1]  
Aho A. V., 1977, PRINCIPLES COMPILER
[2]  
AKIEN A, 1988, JUN P SIGPLAN 88 C P, P308
[3]   THE EXPERIMENTAL COMPILING SYSTEM [J].
ALLEN, FE ;
CARTER, JL ;
FABRI, J ;
FERRANTE, J ;
HARRISON, WH ;
LOEWNER, PG ;
TREVILLYAN, LH .
IBM JOURNAL OF RESEARCH AND DEVELOPMENT, 1980, 24 (06) :695-715
[4]  
ALLEN JR, 1984, JUN P ACM SIGPLAN 84, P233
[5]   AUTOMATIC TRANSLATION OF FORTRAN PROGRAMS TO VECTOR FORM [J].
ALLEN, R ;
KENNEDY, K .
ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS, 1987, 9 (04) :491-542
[6]  
BANERJEE U, 1979, 79989 U ILL DEP COMP
[7]  
Banerjee U., 1976, 76837 U ILL DEP COMP
[8]  
CALLAHAN D, 1991, JUN P SIGPLAN 91 C P, P192
[9]  
CALLAHAN D, 1990, JUN P ACM SIGPLAN 90, P53
[10]   REGISTER ALLOCATION VIA COLORING [J].
CHAITIN, GJ ;
AUSLANDER, MA ;
CHANDRA, AK ;
COCKE, J ;
HOPKINS, ME ;
MARKSTEIN, PW .
COMPUTER LANGUAGES, 1981, 6 (01) :47-57