Profile‐guided automatic inline expansion for C programs

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

Research output: Contribution to journalArticle

Abstract

This paper describes critical implementation issues that must be addressed to develop a fully automatic inliner. These issues are: integration into a compiler, program representation, hazard prevention, expansion sequence control, and program modification. An automatic inter‐file inliner that uses profile information has been implemented and integrated into an optimizing C compiler. The experimental results show that this inliner achieves significant speedups for production C programs.

Original languageEnglish (US)
Pages (from-to)349-369
Number of pages21
JournalSoftware: Practice and Experience
Volume22
Issue number5
DOIs
StatePublished - May 1992

Fingerprint

Plant expansion
Program compilers
Information use
Hazards

Keywords

  • C compiler
  • Code optimization
  • Inline expansion
  • Profile information

ASJC Scopus subject areas

  • Software

Cite this

Profile‐guided automatic inline expansion for C programs. / Chang, Pohua P.; Mahlke, Scott A.; Chen, William Y.; Hwu, Wen‐Mei W.

In: Software: Practice and Experience, Vol. 22, No. 5, 05.1992, p. 349-369.

Research output: Contribution to journalArticle

Chang, Pohua P. ; Mahlke, Scott A. ; Chen, William Y. ; Hwu, Wen‐Mei W. / Profile‐guided automatic inline expansion for C programs. In: Software: Practice and Experience. 1992 ; Vol. 22, No. 5. pp. 349-369.
@article{6ac4c96680fd46c694de6df98724447b,
title = "Profile‐guided automatic inline expansion for C programs",
abstract = "This paper describes critical implementation issues that must be addressed to develop a fully automatic inliner. These issues are: integration into a compiler, program representation, hazard prevention, expansion sequence control, and program modification. An automatic inter‐file inliner that uses profile information has been implemented and integrated into an optimizing C compiler. The experimental results show that this inliner achieves significant speedups for production C programs.",
keywords = "C compiler, Code optimization, Inline expansion, Profile information",
author = "Chang, {Pohua P.} and Mahlke, {Scott A.} and Chen, {William Y.} and Hwu, {Wen‐Mei W.}",
year = "1992",
month = "5",
doi = "10.1002/spe.4380220502",
language = "English (US)",
volume = "22",
pages = "349--369",
journal = "Software - Practice and Experience",
issn = "0038-0644",
publisher = "John Wiley and Sons Ltd",
number = "5",

}

TY - JOUR

T1 - Profile‐guided automatic inline expansion for C programs

AU - Chang, Pohua P.

AU - Mahlke, Scott A.

AU - Chen, William Y.

AU - Hwu, Wen‐Mei W.

PY - 1992/5

Y1 - 1992/5

N2 - This paper describes critical implementation issues that must be addressed to develop a fully automatic inliner. These issues are: integration into a compiler, program representation, hazard prevention, expansion sequence control, and program modification. An automatic inter‐file inliner that uses profile information has been implemented and integrated into an optimizing C compiler. The experimental results show that this inliner achieves significant speedups for production C programs.

AB - This paper describes critical implementation issues that must be addressed to develop a fully automatic inliner. These issues are: integration into a compiler, program representation, hazard prevention, expansion sequence control, and program modification. An automatic inter‐file inliner that uses profile information has been implemented and integrated into an optimizing C compiler. The experimental results show that this inliner achieves significant speedups for production C programs.

KW - C compiler

KW - Code optimization

KW - Inline expansion

KW - Profile information

UR - http://www.scopus.com/inward/record.url?scp=0026866013&partnerID=8YFLogxK

UR - http://www.scopus.com/inward/citedby.url?scp=0026866013&partnerID=8YFLogxK

U2 - 10.1002/spe.4380220502

DO - 10.1002/spe.4380220502

M3 - Article

AN - SCOPUS:0026866013

VL - 22

SP - 349

EP - 369

JO - Software - Practice and Experience

JF - Software - Practice and Experience

SN - 0038-0644

IS - 5

ER -