Using profile information to assist classic code optimizations

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

Research output: Contribution to journalArticle

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.

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

Keywords

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

ASJC Scopus subject areas

  • Software

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

Cite this