Using profile information to assist classic code optimizations

Pohua P. Chang, Scott A. Mahlke, Wen‐Mei W. Hwu

Research output: Contribution to journalArticlepeer-review


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.

Original languageEnglish (US)
Pages (from-to)1301-1321
Number of pages21
JournalSoftware: Practice and Experience
Issue number12
StatePublished - Dec 1991


  • C
  • Code optimization
  • Compiler
  • Profiler
  • Profile‐based code optimization

ASJC Scopus subject areas

  • Software


Dive into the research topics of 'Using profile information to assist classic code optimizations'. Together they form a unique fingerprint.

Cite this