Trace selection for compiling large C application programs to microcode

Pohua P. Chang, Wen-Mei W Hwu

Research output: Contribution to journalConference article

Abstract

Microcode optimization techniques such as code scheduling and resource allocation can benefit significantly by reducing uncertainties in program control flow. A trace-selection algorithm with profiling information reduces the uncertainties in program control flow by identifying sequences of frequently invoked basic blocks as traces. These traces are treated as sequential codes for optimization purposes. For different trace-selection algorithms, the authors report the distribution of control transfers categorized according to their potential impact on the microcode optimizations. The experimental results are based on ten C application programs that exhibit large code sizes and complicated control structures. The measured data for each program were accumulated across a large number of input files to ensure the reliability of the result. All experiments were performed automatically using an IMPACT C compiler that contains integrated profiling and analysis tools.

Original languageEnglish (US)
Pages (from-to)21-29
Number of pages9
JournalMICRO: Annual Microprogramming Workshop
StatePublished - Dec 1 1988

Fingerprint

Firmware
Application programs
Flow control
Resource allocation
Scheduling
Experiments
Uncertainty

ASJC Scopus subject areas

  • Engineering(all)

Cite this

Trace selection for compiling large C application programs to microcode. / Chang, Pohua P.; Hwu, Wen-Mei W.

In: MICRO: Annual Microprogramming Workshop, 01.12.1988, p. 21-29.

Research output: Contribution to journalConference article

@article{259325bf5c0d4e84870b2ab927153ade,
title = "Trace selection for compiling large C application programs to microcode",
abstract = "Microcode optimization techniques such as code scheduling and resource allocation can benefit significantly by reducing uncertainties in program control flow. A trace-selection algorithm with profiling information reduces the uncertainties in program control flow by identifying sequences of frequently invoked basic blocks as traces. These traces are treated as sequential codes for optimization purposes. For different trace-selection algorithms, the authors report the distribution of control transfers categorized according to their potential impact on the microcode optimizations. The experimental results are based on ten C application programs that exhibit large code sizes and complicated control structures. The measured data for each program were accumulated across a large number of input files to ensure the reliability of the result. All experiments were performed automatically using an IMPACT C compiler that contains integrated profiling and analysis tools.",
author = "Chang, {Pohua P.} and Hwu, {Wen-Mei W}",
year = "1988",
month = "12",
day = "1",
language = "English (US)",
pages = "21--29",
journal = "MICRO: Annual Microprogramming Workshop",
issn = "0361-2163",

}

TY - JOUR

T1 - Trace selection for compiling large C application programs to microcode

AU - Chang, Pohua P.

AU - Hwu, Wen-Mei W

PY - 1988/12/1

Y1 - 1988/12/1

N2 - Microcode optimization techniques such as code scheduling and resource allocation can benefit significantly by reducing uncertainties in program control flow. A trace-selection algorithm with profiling information reduces the uncertainties in program control flow by identifying sequences of frequently invoked basic blocks as traces. These traces are treated as sequential codes for optimization purposes. For different trace-selection algorithms, the authors report the distribution of control transfers categorized according to their potential impact on the microcode optimizations. The experimental results are based on ten C application programs that exhibit large code sizes and complicated control structures. The measured data for each program were accumulated across a large number of input files to ensure the reliability of the result. All experiments were performed automatically using an IMPACT C compiler that contains integrated profiling and analysis tools.

AB - Microcode optimization techniques such as code scheduling and resource allocation can benefit significantly by reducing uncertainties in program control flow. A trace-selection algorithm with profiling information reduces the uncertainties in program control flow by identifying sequences of frequently invoked basic blocks as traces. These traces are treated as sequential codes for optimization purposes. For different trace-selection algorithms, the authors report the distribution of control transfers categorized according to their potential impact on the microcode optimizations. The experimental results are based on ten C application programs that exhibit large code sizes and complicated control structures. The measured data for each program were accumulated across a large number of input files to ensure the reliability of the result. All experiments were performed automatically using an IMPACT C compiler that contains integrated profiling and analysis tools.

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

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

M3 - Conference article

AN - SCOPUS:0024171194

SP - 21

EP - 29

JO - MICRO: Annual Microprogramming Workshop

JF - MICRO: Annual Microprogramming Workshop

SN - 0361-2163

ER -