COMPILER TRANSFORMATIONS FOR HIGH-PERFORMANCE COMPUTING

被引:361
作者
BACON, DF [1 ]
GRAHAM, SL [1 ]
SHARP, OJ [1 ]
机构
[1] IBM CORP,THOMAS J WATSON RES CTR,YORKTOWN HTS,NY 10598
关键词
COMPILATION; DEPENDENCE ANALYSIS; LOCALITY; MULTIPROCESSORS; OPTIMIZATION; PARALLELISM; SUPERSCALAR PROCESSORS; VECTORIZATION;
D O I
10.1145/197405.197406
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
In the last three decades a large number of compiler transformations for optimizing programs have been implemented. Most optimizations for uniprocessors reduce the number of instructions executed by the program using transformations based on the analysis of scalar quantities and data-flow techniques. In contrast, optimizations for high-performance superscalar, vector, and parallel processors maximize parallelism and memory locality with transformations that rely on tracking the properties of arrays using loop dependence analysis. This survey is a comprehensive overview of the important high-level program restructuring techniques for imperative languages such as C and Fortran. Transformations for both sequential and various types of parallel architectures are covered in depth. We describe the purpose of each transformation, explain how to determine if it is legal, and give an example of its application. Programmers wishing to enhance the performance of their code can use this survey to improve their understanding of the optimizations that compilers can perform, or as a reference for techniques to be applied manually. Students can obtain an overview of optimizing compiler technology. Compiler writers can use this survey as a reference for most of the important optimizations developed to date, and as a bibliographic reference for the details of each optimization. Readers are expected to be familiar with modern computer architecture and basic program compilation techniques.
引用
收藏
页码:345 / 420
页数:76
相关论文
共 219 条
  • [1] Abelson H., 1985, STRUCTURE INTERPRETA
  • [2] ABUSUFAH W, 1979, THESIS U ILLINOIS UR
  • [3] ACKERMAN WB, 1982, COMPUTER, V15, P15, DOI 10.1109/MC.1982.1653938
  • [4] Aho A.V, 1986, COMPILERS PRINCIPLES
  • [5] CODE GENERATION FOR EXPRESSIONS WITH COMMON SUB-EXPRESSIONS
    AHO, AV
    JOHNSON, SC
    ULLMAN, JD
    [J]. JOURNAL OF THE ACM, 1977, 24 (01) : 146 - 160
  • [6] AIKEN A, 1988, LECT NOTES COMPUT SC, V300, P221
  • [7] AIKEN A, 1988, SIGPLAN NOTICES, V23, P308, DOI 10.1145/960116.54021
  • [8] AN OVERVIEW OF THE PTRAN ANALYSIS SYSTEM FOR MULTIPROCESSING
    ALLEN, F
    BURKE, M
    CHARLES, P
    CYTRON, R
    FERRANTE, J
    [J]. JOURNAL OF PARALLEL AND DISTRIBUTED COMPUTING, 1988, 5 (05) : 617 - 640
  • [9] ALLEN F, 1988, 1988 P ACM INT C SUP, P207
  • [10] Allen F. E., 1981, Program flow analysis. Theory and applications, P79