USING PROFILE INFORMATION TO ASSIST CLASSIC CODE OPTIMIZATIONS

被引:80
作者
CHANG, PP
MAHLKE, SA
HWU, WMW
机构
[1] Center for Reliable and High-Performance Computing, Coordinated Science Lab, University of Illinois, Urbana, Illinois, 61801, Champaign, Urbana, IIOI W. Springfield Ave
关键词
C-CODE OPTIMIZATION; COMPILER; PROFILE-BASED CODE OPTIMIZATION; PROFILER;
D O I
10.1002/spe.4380211204
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
This paper describes the design and implementation of an optimizing compiler that automatically generates profile information to assist classic code optimizations. This compiler contains two new components, an execution profiler and a profile-based code optimizer, which are not commonly found in traditional optimizing compilers. The execution profiler inserts probes into the input program, executes the input program for several inputs, accumulates profile information and supplies this information to the optimizer. The profile-based code optimizer uses the profile information to expose new optimization opportunities that are not visible to traditional global optimization methods. Experimental results show that the profile-based code optimizer significantly improves the performance of production C programs that have already been optimized by a high-quality global code optimizer.
引用
收藏
页码:1301 / 1321
页数:21
相关论文
共 18 条
  • [1] Aho A.V, 1986, COMPILERS PRINCIPLES
  • [2] Allen Frances E., 1972, DESIGN OPTIMIZATION, P1
  • [3] CHANG PP, 1991, CRHC9112 U ILL CTR R
  • [4] CHANG PP, 1988, 21ST P ANN WORKSH MI, P21
  • [5] CHANG PP, 1989, 1989 P INT C SUP CRE
  • [6] ELLIS JR, 1986, BULLDOG COMPILER VLI
  • [7] FISHER JA, 1981, IEEE T COMPUT, V30, P478, DOI 10.1109/TC.1981.1675827
  • [8] Graham S. L., 1982, SIGPLAN Notices, V17, P120, DOI 10.1145/872726.806987
  • [9] AN EXECUTION PROFILER FOR MODULAR PROGRAMS
    GRAHAM, SL
    KESSLER, PB
    MCKUSICK, MK
    [J]. SOFTWARE-PRACTICE & EXPERIENCE, 1983, 13 (08) : 671 - 685
  • [10] HWU WW, 1989, JUN P ACM SIGPLAN 89