Superblock formation using static program analysis

Richard E. Hank, Scott A. Mahlke, Roger A. Bringmann, John C. Gyllenhaal, Wen-Mei W Hwu

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Abstract

Compile-time code transformations which expose instruction-level parallelism (ILP) typically take into account the constraints imposed by all execution scenarios in the program. However, there are additional opportunities to increase ILP along some execution sequences if the constraints from alternative execution sequences can be ignored. Traditionally, profile information has been used to identify important execution sequences for aggressive compiler optimization and scheduling. This paper presents a set of static program analysis heuristics used in the IMPACT compiler to identify execution sequences for aggressive optimization. We show that the static program analysis heuristics identify execution sequences without hazardous conditions that tend to prohibit compiler optimizations. As a result, the static program analysis approach often achieves optimization results comparable to profile information in spite of its inferior branch prediction accuracies. This observation makes a strong case for using static program analysis with or without profile information to facilitate aggressive compiler optimization and scheduling.

Original languageEnglish (US)
Title of host publicationProceedings of the Annual International Symposium on Microarchitecture
Editors Anon
PublisherPubl by IEEE
Pages247-255
Number of pages9
ISBN (Print)0818652802
StatePublished - Jan 1 1994
EventProceedings of the 26th Annual International Symposium on Microarchitecture - Austin, TX, USA
Duration: Dec 1 1993Dec 3 1993

Publication series

NameProceedings of the Annual International Symposium on Microarchitecture
ISSN (Print)1072-4451

Other

OtherProceedings of the 26th Annual International Symposium on Microarchitecture
CityAustin, TX, USA
Period12/1/9312/3/93

Fingerprint

Scheduling

ASJC Scopus subject areas

  • Hardware and Architecture
  • Software

Cite this

Hank, R. E., Mahlke, S. A., Bringmann, R. A., Gyllenhaal, J. C., & Hwu, W-M. W. (1994). Superblock formation using static program analysis. In Anon (Ed.), Proceedings of the Annual International Symposium on Microarchitecture (pp. 247-255). (Proceedings of the Annual International Symposium on Microarchitecture). Publ by IEEE.

Superblock formation using static program analysis. / Hank, Richard E.; Mahlke, Scott A.; Bringmann, Roger A.; Gyllenhaal, John C.; Hwu, Wen-Mei W.

Proceedings of the Annual International Symposium on Microarchitecture. ed. / Anon. Publ by IEEE, 1994. p. 247-255 (Proceedings of the Annual International Symposium on Microarchitecture).

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Hank, RE, Mahlke, SA, Bringmann, RA, Gyllenhaal, JC & Hwu, W-MW 1994, Superblock formation using static program analysis. in Anon (ed.), Proceedings of the Annual International Symposium on Microarchitecture. Proceedings of the Annual International Symposium on Microarchitecture, Publ by IEEE, pp. 247-255, Proceedings of the 26th Annual International Symposium on Microarchitecture, Austin, TX, USA, 12/1/93.
Hank RE, Mahlke SA, Bringmann RA, Gyllenhaal JC, Hwu W-MW. Superblock formation using static program analysis. In Anon, editor, Proceedings of the Annual International Symposium on Microarchitecture. Publ by IEEE. 1994. p. 247-255. (Proceedings of the Annual International Symposium on Microarchitecture).
Hank, Richard E. ; Mahlke, Scott A. ; Bringmann, Roger A. ; Gyllenhaal, John C. ; Hwu, Wen-Mei W. / Superblock formation using static program analysis. Proceedings of the Annual International Symposium on Microarchitecture. editor / Anon. Publ by IEEE, 1994. pp. 247-255 (Proceedings of the Annual International Symposium on Microarchitecture).
@inproceedings{715ded2efc3a4dd1ae7de01b8c219aad,
title = "Superblock formation using static program analysis",
abstract = "Compile-time code transformations which expose instruction-level parallelism (ILP) typically take into account the constraints imposed by all execution scenarios in the program. However, there are additional opportunities to increase ILP along some execution sequences if the constraints from alternative execution sequences can be ignored. Traditionally, profile information has been used to identify important execution sequences for aggressive compiler optimization and scheduling. This paper presents a set of static program analysis heuristics used in the IMPACT compiler to identify execution sequences for aggressive optimization. We show that the static program analysis heuristics identify execution sequences without hazardous conditions that tend to prohibit compiler optimizations. As a result, the static program analysis approach often achieves optimization results comparable to profile information in spite of its inferior branch prediction accuracies. This observation makes a strong case for using static program analysis with or without profile information to facilitate aggressive compiler optimization and scheduling.",
author = "Hank, {Richard E.} and Mahlke, {Scott A.} and Bringmann, {Roger A.} and Gyllenhaal, {John C.} and Hwu, {Wen-Mei W}",
year = "1994",
month = "1",
day = "1",
language = "English (US)",
isbn = "0818652802",
series = "Proceedings of the Annual International Symposium on Microarchitecture",
publisher = "Publ by IEEE",
pages = "247--255",
editor = "Anon",
booktitle = "Proceedings of the Annual International Symposium on Microarchitecture",

}

TY - GEN

T1 - Superblock formation using static program analysis

AU - Hank, Richard E.

AU - Mahlke, Scott A.

AU - Bringmann, Roger A.

AU - Gyllenhaal, John C.

AU - Hwu, Wen-Mei W

PY - 1994/1/1

Y1 - 1994/1/1

N2 - Compile-time code transformations which expose instruction-level parallelism (ILP) typically take into account the constraints imposed by all execution scenarios in the program. However, there are additional opportunities to increase ILP along some execution sequences if the constraints from alternative execution sequences can be ignored. Traditionally, profile information has been used to identify important execution sequences for aggressive compiler optimization and scheduling. This paper presents a set of static program analysis heuristics used in the IMPACT compiler to identify execution sequences for aggressive optimization. We show that the static program analysis heuristics identify execution sequences without hazardous conditions that tend to prohibit compiler optimizations. As a result, the static program analysis approach often achieves optimization results comparable to profile information in spite of its inferior branch prediction accuracies. This observation makes a strong case for using static program analysis with or without profile information to facilitate aggressive compiler optimization and scheduling.

AB - Compile-time code transformations which expose instruction-level parallelism (ILP) typically take into account the constraints imposed by all execution scenarios in the program. However, there are additional opportunities to increase ILP along some execution sequences if the constraints from alternative execution sequences can be ignored. Traditionally, profile information has been used to identify important execution sequences for aggressive compiler optimization and scheduling. This paper presents a set of static program analysis heuristics used in the IMPACT compiler to identify execution sequences for aggressive optimization. We show that the static program analysis heuristics identify execution sequences without hazardous conditions that tend to prohibit compiler optimizations. As a result, the static program analysis approach often achieves optimization results comparable to profile information in spite of its inferior branch prediction accuracies. This observation makes a strong case for using static program analysis with or without profile information to facilitate aggressive compiler optimization and scheduling.

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

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

M3 - Conference contribution

AN - SCOPUS:0028015212

SN - 0818652802

T3 - Proceedings of the Annual International Symposium on Microarchitecture

SP - 247

EP - 255

BT - Proceedings of the Annual International Symposium on Microarchitecture

A2 - Anon, null

PB - Publ by IEEE

ER -