@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 = jan,
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",
note = "Proceedings of the 26th Annual International Symposium on Microarchitecture ; Conference date: 01-12-1993 Through 03-12-1993",
}