Article
Using profile information to assist classic code optimizations
Article first published online: 30 OCT 2006
DOI: 10.1002/spe.4380211204
Copyright © 1991 John Wiley & Sons, Ltd
Additional Information
How to Cite
Chang, P. P., Mahlke, S. A. and Hwu, W.-M. W. (1991), Using profile information to assist classic code optimizations. Softw: Pract. Exper., 21: 1301–1321. doi: 10.1002/spe.4380211204
Publication History
- Issue published online: 30 OCT 2006
- Article first published online: 30 OCT 2006
- Manuscript Revised: 25 JUN 1991
- Manuscript Received: 4 APR 1991
Funded by
- U.S. National Science Foundation (NSF). Grant Number: MIP-8809478
- National Aeronautics and Space Administration (NASA). Grant Number: NASA NAG 1-613
- Abstract
- References
- Cited By
Keywords:
- C;
- Code optimization;
- Compiler;
- Profile-based code optimization;
- Profiler
Abstract
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.

1097-024X/asset/olbannerleft.jpg?v=1&s=2d7d001211f2c40f177a231141601e9f52afc1f3)
1097-024X/asset/olbannerright.jpg?v=1&s=3aec7891a8ba78b361ead9743adfc0b6eae6369a)
1097-024X/asset/cover.gif?v=1&s=5a70ecca2928358eca4ff75b9921d0552ffb6539)